Goal : Setting up a test infrastructure & automation solution for web application testing (functional testing)
Tools : JUnit, Hudson, Selenium RC, Ant, Xalan
Requirements:
- Automation should start the tests immediately when a new build is available in the SVN repository (Hudson has scheduling capability)
- Automation can be invoked using a browser On-Demand, whenever user needs to run tests on a build (User can trigger tests in Hudson using a browser URL)
- Automation should be running on multiple OS machines & browsers (Hudson Master/Slave approach will solve this issue)
- Once the automation is completed, it should send a report as an email to the team alias. Old reports also needs to be archived.
- User should be able to run the automation as a seperate ANT task & from Netbeans IDE
- Reports can be automatically published as a wiki page in a wiki system which the team uses for project management (Note: This solution will be covered in a seperate blog & NOT in this)
Steps:
1. Install Hudson in Master / Slave mode
2. Prepare ant scripts so that it will
- Checkout the product from SVN repository and installs it on test machine
- Do all the pre requisite for successfully running our tests [Start selenium server and the tests]
- After the test execution is completed, archive the old reports and save the new report and email it to the team alias.
- Do all the necessary cleanup at the end
3. Now call these ant scripts within Hudson and schedule it to run as per your requirement