The Test Run Import integration plugin imports test results into Targetprocess, associates test results with an existing test plan, and creates a new test plan run. With this plugin, you can track your daily build tests right in Targetprocess, real time. It's a one-stop quality health check.
The process consists of several steps:
- Create a Test Plan with a list of Test Cases in Targetprocess.
- Create a profile for the Test Run Import plugin. Specify the location of the XML file with test results along with other properties.
- Map tests in NUnit, JUnit, Selenium or Jenkins/Hudson with Test Cases in Targetprocess. You can use name conventions and regular expressions to build the mapping.
- Execute tests in NUnit. JUnit, Selenium or Jenkins/Hudson.
- The plugin will get the test results, parse them, create a new Test Plan Run and feed the Test Plan Run results to Targetprocess.
The difference between Selenium and NUnit/JUnit is this:
NUnit and JUnit: you need to specify the location of the XML file with test results
Selenium: you need to specify a special URL, to which all the results are posted by Selenium
Only Administrators have permissions to configure settings for the Test Run Import plugin.
Configure Test Run Import integration plugin
Step 1. Create Test Plan with list of Test Cases
You have a set of tests in NUnit, JUnit, Selenium or Jenkins/Hudson. To have test results in Targetprocess, it is required to create a set of corresponding Test Cases in Targetprocess. The integration plugin does not create Test Cases in Targetprocess automatically. If you have no Test Cases, you can create them one-by-one or import from a CSV file.
The Test Run Import plugin works with groups of Test Cases named Test Plans. So, please organize your individual Test Cases with a Test Plan. You're welcome to create Test Cases from a Test Plan detailed view or assign existing Test Cases to a new Test Plan.
Step 2. Configure Profile
When you added Test Plan with Test Cases both into your testing framework and in Targetprocess, then you're welcome to set up the plugin profile.
Go to Settings → Plugins → New Plugins and click Add Profile for Test Run Import Integration plugin. The profile form will appear.
You should specify Profile Name, select Framework, enter a Full path to the test Result XML file, specify Sync Interval, select Project and Test Plan for binding.
If you use Test Run Import for several Projects, it is recommended to use the project name in the profile name, since each profile is related to just one project.
The minimal sync interval is 1 hour. If you want to check the results daily, set the sync interval to 24.
You can also add a Mapping template for names if the names of Test Cases in NUnit/JUnit/Selenium/JenkinsHudson and TargetProcess are different. If the names are the same, there's no need to map them.
Step 3. Map Test Cases to Tests
For example, you have 3 tests in NUnit, JUnit, Selenium or Jenkins/Hudson:
- AddSimpleUserTest
- AddAdminTest
- EditAdminTest
and you want to see the test results in Targetprocess.
First, you need to map these tests to Targetprocess test cases. There are several options. The simplest option is just to have test cases in TargetProcess with the same names or with spaces, like this:
NUnit, JUnit, Selenium, Jenkins/Hudson Test | Targetprocess Test Case |
---|---|
AddSimpleUserTest | Add Simple User Test |
AddAdminTest | Add Admin Test |
EditAdminTest | Edit Admin Test |
In this case, there's no need for any other mapping.
The other option is to add a test case ID to each test in NUnit/JUnit/Selenium/JenkinsHudson.
NUnit, JUnit, Selenium, Jenkins/Hudson Test | Targetprocess Test Case |
---|---|
AddSimpleUserTest_90 | Add Simple User Test |
AddAdminTest_91 | Add Admin Test |
EditAdminTest_95 | Edit Admin Test |
In this case you should use a regular expression to extract the test name ID: _(? d+)$
If you are not familiar with regular expressions, it may be hard to write the correct one. Please, check some links at the end of the document.
Alternatively, you can cut a part of the name, for example, remove the "Test" word from test names:
NUnit, JUnit, Selenium, Jenkins/Hudson Test | Targetprocess Test Case |
---|---|
AddSimpleUserTest | Add Simple User |
AddAdminTest | Add Admin |
EditAdminTest | Edit Admin |
Use the following regular expression for that purpose: ^(? [^_]+)Test$
Additional information
How to write regular expressions:
Known limitations
If a test plan in Targetprocess contains more than 1000 test cases, the plugin can update only first 1000 of them with run results. We recommend to split your massive test plans into smaller ones, having up to 1000 tests in each one. Then you must create separate profiles for each test plan.
If a test plan in Targetprocess contains both test cases and nested (hierarchical) test plans, the plugin can update only direct children of the test plan and not the ones inside inner plans. You must create separate profiles for each inner test plan.
Only single test plan and single results file per each profile of Test Run Import plugin are supported.
Locations
Location of results file should be accessible by the Targetprocess application. The following locations are supported by Targetprocess:
- FTP sites
- FTPS sites. Support for FTPS locations was added in build 3.10.0. Port :990 should be specified for such locations.
- Websites with static host name or IP address
- Public GitHub accounts, path should be related to Raw content of the file: Example: https://raw.githubusercontent.com/Targetprocess/Test/Master/TestRunResults.xml
Not supported locations:
- SFTP protocol is not supported
- Files and folders on your local PC (unless your PC is also a web server with a published website)
- Files and folders in your internal network unless access to them is provided from external locations. In order to provide access to files, please contact your IT/Network administrator and the Targetprocess Support team.
Troubleshooting
If a password of the FTP account contains special symbols such as #, the symbols should be percent-encoded properly.
Still have a question?
We're here to help! Just contact our friendly support team