DNN Blog

Feb 22

Posted by: Philip Beadle
Monday, February 22, 2010 3:54 PM  RssIcon

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. 

  1. Choose a location on your hard drive where you will keep all the files associated with the tests.
    I use D:\Tests
  2. Inside that folder add a folder called Websites
  3. Add another folder inside the testing folder called Packages and another called Databases.
  4. Inside the packages folder add any package files that you will need for testing. 
    1. 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

  1. Expand the DotNetNuke.Tests.UI.WatiN.BuildVerification project.
  2. Open the app.config file
  3. In the TestVersion setting set the version you wish to test, use 05.02.03 for DNN 05.02.03
  4. In the DatabaseName section enter the name you want the database to be called for any newly created databases created by the tests.
  5. In DatabaseServer enter the name of the server you have access to, use (local) if its on your dev machine.
  6. 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.

image

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.

image

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.

Tags:
Categories:
Location: Blogs Parent Separator Philip Beadle

5 comment(s) so far...


Gravatar

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
Gravatar

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
Gravatar

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
Gravatar

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
Gravatar

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
Attend A Webinar
Free Demo Site
Download DotNetNuke Professional Edition Trial
Have Someone Contact Me

Like Us on Facebook Join our Network on LinkedIn Follow DNN Corporate on Twitter Follow DNN on Twitter

Advertisers

Sponsors

DotNetNuke Corporation

DotNetNuke Corp. is the steward of the DotNetNuke open source project, the most widely adopted Web Content Management Platform for building web sites and web applications on Microsoft .NET. Organizations use DotNetNuke to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. The DotNetNuke platform is available in a free Community and subscription-based Professional and Enterprise Editions with an Elite Support option. DotNetNuke Corp. also operates the DotNetNuke Store where users purchase third party apps for the platform.