This plug-in integrates Jenkins and with Testopia and generates reports on automated test execution. With this plug-in you can manage your tests in Testopia, schedule and control in Jenkins, and execute using your favorite test execution tool (TestPartner, Selenium, TestNG, Perl modules, prove, PHPUnit, among others).
When filing an issue, remember to include as much data as possible, but avoid including sensitive data, as attachments can take a while to be deleted from JIRA, as the process is manual and quite troublesome
The Testopia plug-in integrates Jenkins with Testopia. Testopia plug-in uses testopia-java-apidriver to access Testopia XML-RPC API. With the information that you provide in the build step configuration the plug-in retrieves automated tests from Testopia. With the plug-in, you are able to execute build steps that call testing tools. It reads TestNG, JUnit and TAP test report formats, used to update Testopia test cases' executions.
The job configuration changed! Now there are three sections, what helps you to configure your job, and add extra build steps, result seeking strategies and general information about Testopioa.
Testopia configuration section
Test Execution section
Result Seeking Strategy section
You can use environment variables in Test project name, Test plan name or Build name. For instance, build-project-$BUILD_NUMBER would be replaced by build-project- and the number of the Build executed in Jenkins.
Note that the $TESTOPIA_TESTCASE_ALIAS variable is used for naming the .tap file.
How does the plug-in execute my automated tests?
For instance, you could run a ant command passing a Test Class as parameter, more or less something like this, /opt/java/apache-ant-1.8.0/bin/ant -DtestClass=$TESTOPIA_TESTCASE_TEST_CLASSSCRIPT. In this case, Test Case is the name of a custom TESTOPIA_TESTCASE_SCRIPT the value of the script automation field in Testopia.
List of environment variables available during Testopia Plug-in execution:
Test run info
Test case info
For each Custom Field found, Testopia Plug-in defines an environment variable for with its name and value, as shown above (%CUSTOM_FIELD_NAME%). If the custom field name contains spaces the plug-in will convert them into _'s. i.e., Test Class can be accessed as %TESTOPIA_TESTCASE_TEST_CLASS% in Windows or $TESTOPIA_TESTCASE_TEST_CLASS in *nix-like systems.
How does the plug-in know if a test passed or failed?
You can choose among different result seeking strategies in your job configuration. The plug-in will support three result formats, TestNG, JUnit and TAP.
TAP result seeking strategies
TAP file name: The plug-in matches the TAP file name (e.g.: testFtpProtocol.tap) and the key custom field value.
TestNG result seeking strategies
TestNG class name: The plug-in matches the TestNG class name (e.g.: org.tap4j.TestParser) and the key custom field value.
TestNG method name: The plug-in matches the TestNG method name (e.g.: org.tap4j.TestParser#testTokenizer) and the key custom field value.
TestNG suite name: The plug-in matches the TestNG suite name (e.g.: functional tests) and the key custom field value.
JUnit result seeking strategies
TAP result seeking strategies
TAP file name: The plug-in matches the JUnit case class TAP file name (e.g.: orgtestFtpProtocol.tap4j.TestParsertap) and the key custom field value.
JUnit case name: The plug-in matches the JUnit case class name (e.g.: testTokenizer) and the key custom field value.
JUnit method name: The plug-in matches the JUnit case class name (e.g.: org.tap4j.TestParser#testTokenizer) and the key custom field value.
Does the plugin record the test results in Testopia?
Yes, the plugin will update the testcase in Testopia and set the status according to the result of the testcase.
- Download and install the latest version of Testopia (http://www.mozilla.org/projects/testopia).
- Create automated tests in Testopia (Check automated field).
- Install the Testopia plug-in from the Jenkins Plugin Manager
- Define a Testopia configuration from the Configure System page.
- Add a Invoke Testopia build step in the job you want execute automated tests.
- Configure the required properties.
Want to see this plug-in in your language? Send us an e-mail and we will get in touch with the text that needs to be translated.
Your feedback is very welcomed, but you don't need donate money. You can drop a message in \[http://www.tupilabs.com\] with suggestions and ideas (or even patches or pull requests).
The plug-in 1.0 and 1.1 versions were pilot projects that should be ignored. They have issues in distributed environments and depend on Maven. Please, consider updating your plug-in to the 2.0 version.
We don't maintain the plug-in for Hudson. Issues happening in Hudson may not be fixed here.
Testopia Plug-in used TestLink Plug-in as basis. Below you will find resources for Testopia and TestLink plug-ins, as the concept in both plug-ins is very similar.
- Article published in Testing Experience magazine issue number 12 (Open Source Tools) written by Bruno P. Kinoshita and Anderson dos Santos. 2010.
- Slides used in the lighting talk presented at Encontro Ágil 2010 in IME-USP (Portuguese Only). 2010.
- Article published in Automated Software Testing Magazine, volume 3, issue 1. March, 2011.
- Slides used in the presentation done in Belgium Testing Days 2011.
- Lighting talk for Encontro Ágil 2010, at IME-USP.
- More articles and tips on Bruno P. Kinoshita's website.
- Sponsor company (until May 2011): Sysmap Solutions - Brazil.
- Sponsor company: TupiLabs - Brazil
- Presentation at STPCon Spring March 2012 in New Orleans - USA.
- Automated Testing Environment by Bugzilla, Testopia and Jenkins by Chin Pin Chang. July, 2014.
- Various Testopia documentation assembled on Storify
- How to handle self signed certificates on Jenkins Server (TestLink Plugin SSL support)
- JUnit and TestNG result seeking strategies
- First version of the plug-in (the development was guided based on the source code of the following plug-ins: TestLink CCM , Sonar (how to ref maven installations)).
- Keep compatibility with latest versions of Jenkins and Testopia.
- A test case without a tester assigned doesn't execute.