Skip to main content

Integration of your test suite with Hudson using Apache Ant

The quick, dirty and painless guide to integrate your test automation suite with Hudson.

Prerequisites

1. It is assumed that you already have test automation suite that produces test results in JUnit XML format.
For example this can be a bundle of Selenium RC and JUnit. Or Watir and Cucumber with JUnit-style reporter.
2. You need to create Ant project build.xml script that executes your test suite.
Materials: http://varun-qa.blogspot.com/2010/03/ant-script-for-generating-junit-report.html
Example (execution of Watir/Cucumber test suite on Windows): 3. It is assumed that your test automation suite is stored to Subversion or CVS server.
4. Download hudson.war from here: http://hudson-ci.org/latest/hudson.war

Steps

1. Go to the directory with downloaded hudson.war and run the following command: java -jar hudson.war
2. Open your browser and go to: http://localhost:8080/
3. Click "New Job" link on the left panel of Hudson dashboard
4. Enter job name (this can be anything using Latin symbols and not using any special characters)
5. Select "Build a free-style software project" option
6. Press OK button
7. Set the location of your test suite in "Repository URL" field of Subversion section
8. Set SVN credentials if needed
9. Set "." value in "Local module directory (optional)" field of Subversion section
10. Set "Build periodically" checkbox
11. Set "@midnight" value in "Schedule" field
12. Select Add build step -> Invoke Ant
13. Select the Ant target that runs your tests
14. Set checkbox in "Publish JUnit test result report" field
15. Set "out/reports/*.xml" value in "Test report XMLs" field
16. Set "Archive the artifacts" checkbox
17. Set "out/" value in "Files to archive" field
18. Press Save button
19. Press "Build Now" link on the left panel of Hudson dashboard

That's it! You have test results at Hudson dashboard, you have automatic updates of your test suite from SVN/CVS, you have scheduler, you have history from all previous test executions, sorted by date.

Popular posts from this blog

Switching between keyboard layouts in Openbox (Arch Linux)

Switching between two (or more) keyboard layouts in Openbox DE is a task that's quite easy to accomplish, although it might not be so obvious as in other desktop environments. This solution was tested on Arch Linux. You just need to edit this file (assuming you want to switch between English and Ukrainian Phonetic layouts with Alt-Shift): /etc/X11/xorg.conf.d/01-keyboard-layout.conf Section "InputClass" Identifier "keyboard-layout" Driver "evdev" MatchIsKeyboard "yes" Option "XkbLayout" "us,ua(phonetic)" Option "XkbModel" "pc105" Option "XkbOptions" "grp:alt_shift_toggle" EndSection If you have Nvidia card, don't forget to edit /etc/X11/xorg.conf.d/20-nvidia.conf and change Driver from "kbd" to "evdev" in InputDevice section: Section "InputDevice" Identifier "Keyboard0" Driver "evdev" EndSection Y...

Integrating TestRail and Gitlab CI/CD

Perhaps you are using Gitlab CI/CD at your project. Every project requires some test cases for regression testing, and Gitlab actually provides this feature, but it’s only available in Ultimate version that is more expensive. TestRail is another popular platform for managing your test suite that provides way more extensive capabilities and options than Gitlab’s own test case management feature. So the chances are that you are still willing to use TestRail for your acceptance and regression testing efforts. Why not combining the best of two worlds — the flexibility of Gitlab CI/CD and rich test case management capabilities of TestRail? In the following example I’ll demonstrate how this goal could be achieved with ease. Let’s assume that we need to create a new Milestone in TestRail that contains two test runs — the one with Acceptance tests, and another one with Regression tests. The step in your .gitlab-ci.yml Gitlab configuration file would look like this: This step is reading C...

How to control CPU frequency on Linux Fedora 20

Sometimes you need to make CPU run faster or slower, depending on your needs. In Linux you can control this by using different CPU governors. The following steps were tested on Fedora 20, but most likely they would also work on later versions of Linux Fedora OS. sudo yum install kernel-tools Check the available CPU governors: sudo cpupower frequency-info --governors sudo cpupower frequency-set --governor [governor] More information about the governors here: http://docs.fedoraproject.org/en-US/Fedora/20/html/Power_Management_Guide/cpufreq_governors.html