Archive
Monthly
Go
|
|
DNN Blog
Feb
22
Posted by:
Philip Beadle
Monday, February 22, 2010 3:54 PM
The DotNetNuke Automation Testing project is available on CodePlex at http://dotnetnukeautomation.codeplex.com/ and is welcoming testers and developers and anyone else who would like to contribute to try it out and write your won tests based on the style we have set up. To get started you will need to set a few variables and create some folders. Stefan did a nice post on it a few weeks back so this post is to add to that and explain a few differences. In this example the tests will run the installation for DNN 5.2.3, the upgrade from DNN 4.9.3 to DNN 5.2.3 and a series of tests on those installations. The project is on CodePlex so you can use SVN or the TFS client to download the source or you can download the zip file if you like. Once you have that local open the solution and follow these steps: Setup folders and package files. The idea behind the following folder structure is that all of the websites that get built as part of the installation tests get loaded into the Websites folder, and databases that are created and reused are held in the Databases folder and any packages you wish to test such as upgrades, module installations, languages and skins are stored in the Packages folder. - Choose a location on your hard drive where you will keep all the files associated with the tests.
I use D:\Tests - Inside that folder add a folder called Websites
- Add another folder inside the testing folder called Packages and another called Databases.
- Inside the packages folder add any package files that you will need for testing.
- For this example you will need DotNetNuke_Community_05.02.03_Install.zip, DotNetNuke_Community_05.02.03_Upgrade.zip and a zip file of an existing DNN 4.9.3 site. The upgrade site must have the .mdf file for it in the App_Data folder.
Updating the project for your environment - Expand the DotNetNuke.Tests.UI.WatiN.BuildVerification project.
- Open the app.config file
- In the TestVersion setting set the version you wish to test, use 05.02.03 for DNN 05.02.03
- In the DatabaseName section enter the name you want the database to be called for any newly created databases created by the tests.
- In DatabaseServer enter the name of the server you have access to, use (local) if its on your dev machine.
- At the bottom of the file update the values for the Test File Locations section to the values that correspond to your environment.
That’s all you need to do, the tests have been written with Setup and Teardown methods that will automatically create and destroy any IIS sites or databases that need to be created for the tests. Each test gets its own database so you know you are starting from a known testable position each test. To run the tests simply build the solution and use your chosen test runner. See my earlier post on test runners to see which suits you best. Automation Testing of the Core – Frameworks As the tests run you will see progress shown below in the ReSharper test runner. You will also notice that the order of the tests is handled by an attribute in MBunit that allows you to specify that one test is dependant on another having run successfully. This is done so that we can use a new ly installed site from teh Installation tests in further tests for Adding pages etc. As each test progresses you will see a new instance of IE popup and the various fields getting filled in as the test runs. The yellow field is what is being edited by the test. Please download the tests and get started on learning how it all works so we can all pull together and build a thorough suite of tests for DNN.
5 comment(s) so far...
Re: Automation Testing – Getting Started
I got this working and was playing around with it the other day. Looks really promising; I'm looking forward to some down time to play with it further.
Many thanks for getting a testing framework for DNN out.
By Baatezu on
Saturday, February 27, 2010 6:41 PM
|
Re: Automation Testing – Getting Started
Hi Philip, I can't see the download on CodePlex. What do I have to do to get a copy?
Thanks, Jos
By Jos Richters on
Saturday, February 27, 2010 6:42 PM
|
Re: Automation Testing – Getting Started
Download is on the source page dotnetnukeautomation.codeplex.com/SourceControl/list/changesets
By Philip Beadle on
Saturday, February 27, 2010 6:42 PM
|
Re: Automation Testing – Getting Started
In order to get the tests running, your upgrade site needs to be located in a folder named dnn_493_1 which is again placed in the zip file dnn_493_1.zip.
By Stefan Cullmann on
Wednesday, March 17, 2010 1:02 PM
|
Re: Automation Testing – Getting Started
I run into a second issue with the upgrade package. I prepared the upgrade site with an original alias dnn493. The automated upgrade in the test will nun run smoothly, but if the test finally follows the link in "Click Here To Access Your Portal", it will open the new site on dnn_493, and afterwards redirect to dnn493 and throw a 404.
Now all tests are running
By Stefan Cullmann on
Wednesday, March 17, 2010 1:02 PM
|
|