Use the to run functional SoapUI NG tests from the command line.
You can find the runner in the <Ready! API>/bin directory. The file name is testrunner.bat (Windows) or testrunner.sh(Linux and macOS).
To configure the runner’s command line visually, start it from the Ready! API user interface. For more information, see .
General Syntax
The runner’s command line has the following format:
Arguments
Some arguments on the list below are marked with the icon. To use them, you need a . If you do not have it, to try it out. |
-
test-project-file: The fully-qualified name of the project file that contains functional tests to be run. If the file name or path includes spaces, enclose the entire argument in quotes.
-
-a: Commands the runner to export all test results. Otherwise, it exports only information about errors.
-
-A: Commands the runner to organize files with test results into directories and subdirectories that match the test suites and test cases the runner executes. To specify the root directory, use the
-f
argument.If you skip the
-A
argument, the runner will save all resulting files to the directory the-f
argument specifies. The file names will include the test suite’s and test case’s names.The runner can ignore this attribute depending on the
-R
command-line argument value. -
-c: Specifies the test case to be run. If you skip this argument, the runner will execute all test cases in your test project.
-
-d: Specifies the domain that Ready! API will use for authorization.
This argument overrides the authorization domain you have specified for test steps in your project.
-
-D: Specifies a value of a property for the test run. This value will override the variable’s value during the run.
Usage:
-D<variable>=<value>
. If the value includes spaces, enclose the entire argument in quotes. To override several variable values, specify the-D
argument several times. -
-e: Specifies the endpoint to be used in test requests. The specified endpoint should include the protocol part (for example,
https://
).This argument overrides the endpoints you have specified for test steps in your project. See the
-h
argument description. -
-E: Specifies the environment to be used in the test run.
-
-f: Specifies the root directory, where the runner will save test result files. If the directory does not exist, Ready! API will create it.
Tip: If the directory exists, Ready! API will overwrite report files in it. -
-F: Specifies the format of the reports Ready! API exports.
Usage:
-F<FormatName>
. Ready! API supports the following formats: PDF, XLS, HTML, RTF, CSV, TXT and XML. If you have not specified the parameter, Ready! API will use the PDF format.To export results in several formats, separate them with commas. For example:
-FPDF,XML,CSV
.The runner can ignore the
-F
argument depending on the value of the-R
argument. See the-R
argument description.To export results in various formats, you need a SoapUI NG Pro license.
-
-g: Commands the runner to create a coverage report (HTML format).
-
-G: Specifies a value of the property for the test run. This value will override the variable’s value during the run.
Usage:
-G<variable>=<value>
. If the value includes spaces, enclose the entire argument in quotes. To override several variable values, specify the-G
argument several times. -
-h: Specifies the host and port to be used in test requests.
Usage:
-h<host>:<port>
. You can specify the host by using its IP address or name.This argument overrides the endpoints you have specified in the project file. See the
-e
argument description. -
-i: Commands the runner to enable UI components. Use this command-line argument if you use the
UISupport
class in your tests. -
-I: Commands the runner to ignore errors. If you put this argument to the command line, the test log will contain no information on errors occurred during the test run.
If you skip this argument, the runner will stop the run after the first error occurs and will post full information about the error to the log.
-
-j: Commands the runner to create . This argument is similar to the
-R"JUnit-style HTML Report"
command-line argument. -
-J: Commands the runner to include JUnit XML reports with test properties to the report. For example:
<testcase name="TestCase1" time="0.35"> <properties> <property name="BusinessRequirementId" value="BusinessRequirement1"/> </properties> </testcase> -
-M: Commands the runner to create an XML file with brief test results.
This argument does not depend on the other command-line arguments that concern the result export:
-F
,-R
and-A
. -
-o: Commands the runner to open the reports Ready! API created in your default web browser after the test run is over.
-
-O: Commands the runner to renounce collecting and sending .
-
-P: Specifies a value of a property for the test run. This value will override the variable’s value during the run.
Usage:
-P<variable>=<value>
. If the value includes spaces, enclose the entire argument in quotes. To override several variable values, specify the-P
argument several times. -
-p: Specifies the password to be used for authorization during the run.
This argument overrides the authorization password settings you have specified in your project.
-
-R: Specifies the type of the report data.
Usage:
-R<Report type>
. The Report type can be one of the following:-
Project Report: Generates a report in the format the
-F
argument specifies. The runner will save the report files to the directory that the-f
argument specifies. Depending on the-A
argument value, the runner can organize files into subdirectories. -
TestSuite Report: As above, but for test suites.
-
TestCase Report: As above, but for test cases.
-
JUnit-Style HTML Report: Generates a report as JUnit-style HTML files. See . When you use this value, the runner ignores the
-F
and-A
arguments. -
Data Export: Generates XML files with report data. See .
When you use this argument, the
-F
argument must be XML or not specified.Use the
-f
argument to specify the directory, where the runner will save report files Ready! API creates. -
-
-r: Commands the runner to include a summary report into the test log.
-
-s: Specifies the test suite to be run. If you skip this argument, the runner will execute all test suites in your project.
-
-S: Commands the runner to save the test project after the test run finishes. Use this command-line argument if you store data within the project during the test.
-
-t: Specifies the Ready! API setting file to be used during the test run. If you skip this command-line argument, the runner will use the default soapui-settings.xml file which you can find in your user directory.
Use this argument to specify another setting file for the run. It helps you use different proxy, SSL, HTTP and other settings without changing them in Ready! API.
Also, see the
-v
argument description. -
-T: Specifies test cases to be executed by their tags.
Usage:
-T"TestCase tag1[, tag2 ...]"
If you specify one or several tags, the test runner will run only those test cases that have all the tags you have specified. For example, if you specify
-T"TestCase tag1, tag2"
, it will not run test cases that have tag1 or tag2, but it will run test cases that have both tag1 and tag2.You should assign tags you specify to test cases from the test suite and test cases by the -s
and-c
arguments. Otherwise, there will be no tests to execute.
-
-u: Specifies the user name to be used in test request authorizations.
This argument overrides user names in your test project.
-
-v: Specifies the password for your XML setting file.
Also, check the description of the
-t
argument. -
-w: Specifies the WSS password type.
Usage:
-w<password type>
, where <password type> can be one of the following:-
Text: Matches the PasswordText WSS password type.
-
Digest: Matches the PasswordDigest WSS password type.
-
-
-x: Specifies the project password in case you have encrypted the project.
Examples
-
The following command runs all SoapUI NG tests from the Ready! API project you have specified:
testrunner.bat "c:\my projects\my-project.xml" -
The following command runs the my TestCase test case in your project and creates HTML files in a JUnit-style format:
testrunner.bat -FPDF -R"JUnit-Style HTML Report" -c"my TestCase" c:\my projects\my-project.xml
Known Issues
SPNEGO-Kerberos authorization will cause tests you start from the test runner to fail. To avoid this issue, add the following code to the end of the first set JAVA_OPTS
line in the ReadyAPI.bat file: