Configuration of test runs from the command line
When you need to run Web UI, mobile, and windows tests using the command line without opening the desktop client to run these tests, you can use the command line of HCL DevOps Test UI (Test UI).
Overview
- <Install_Directory>\cmdline directory that contains cmdline.sh on Linux operating system.
- <Install_Directory>\cmdline directory that contains cmdline.sh on Mac operating system.
- <Install_Directory>\cmdline directory that contains cmdline.bat on Windows operating system.
To run the tests from the command line, you must specify the path of the tests along with the command as follows:
cmdline -workspace <workspace_full_path> -project <project_relative_path> -suite <suite_relative_path>For example:
The -workspace option is followed by a value that contains a space. If the value contains space, then you must enclose the value, D:\My Workspace within quotes. Otherwise, you can provide the value without quotes.
In addition to the supported options, you can create and use varfiles and config files as options. The files can contain specific paths and parameters for running tests on connected systems.
Using a configuration file
You can run tests from the command line by using a configuration file. Each command line option must be followed by an appropriate value.
The contents of a sample configuration file, config_file1 are as follows:
workspace=D:\My Workspace
eclipsehome=C:\Program Files\HCL\DevOpsTest
plugins=C:\Program Files\HCL\HCLIMShared\plugins
project=myProject
suite=mytestsuite
To create a config file using the desktop client, see Creating a command-line config file.
To run tests from the command line by using the sample config file config_file1, you must use the following command:
cmdline –configfile <config file path>
For example:
cmdline –configfile E:\Workspace1\Project1\Tests\config_file1.txtUsing a variable file
Variable file is an xml file with the .varinit extension that contains the variable names and values as pairs that are required to connect to the system for running tests.
<?xml version="1.0" encoding="UTF-8"?>
<inits>
<variable_init value="<browser>" name="RTW_WebUI_Browser_Selection"/>
</inits>
For example, if you connect Emulator:Pixel_2_API_28 as the mobile emulator and you want to use the Chrome browser to run the test, the variable file can be as follows:
<?xml version="1.0" encoding="UTF-8"?><inits>
<variable_init value="Chrome(Emulator:Pixel_2_API_28)" name="RTW_WebUI_Browser_Selection"/>
</inits>
To run tests from the command line by using a variable file, you must use the following command:
cmdline –varfile <variable file path>
For example:
cmdline –varfile E:\Workspace1\Project1\Tests\var1.varinitCommand line options
Each command line option is used in combination with the other options to accomplish a specific task. You must read and be familiar with the supported options and mandatory options that are required for each task. The following table lists all the supported options with description:
Option | Description |
---|---|
Required | |
-project | The path, including the file name of the project relative to the workspace. |
-workspace | The complete path to the Eclipse workspace. |
-suite | The path, including the file name of
the test relative to the project. A test can be a Web UI test,
compound test, or an Accelerated Functional Test. In a
command, it is mandatory to use one of the following options:
Note: You must provide the file
name along with the file extension if you are using an
Accelerated Functional Test suite. You must not use the -suite option along with the other options. Starting from 9.2.1.1, you can execute multiple tests simultaneously. For example, -suite test1:test2:test3. You can run any or all tests that are in a folder by using the wildcard character * enclosed within quotes in different combinations in the command line. The following command runs the Web UI tests, compound tests, and Accelerated Functional Tests in the project folder: cmdline -workspace <workspace_full_path> -project <project_relative_path> -suite "*" For example, you can run the following
commands:
|
Optional | |
-aftsuite | The path, including the file name of
the xml file to run an AFT test. The
aftsuite option accepts aft XML as the
parameter value. It supports only one aft XML as input. For example, aftsuite="aftinput" You can run the following command to run all the AFT tests that have file names starting with 'AFT': cmdline -workspace <workspace_full_path> -project <project_relative_path> -aftsuite "AFT*" For example, cmdline -workspace "workspace" -project "UI1" -aftsuite "AFT*" You must not use the -aftsuite option along with the other options. |
-compare | The path, including the file name of
the xml file to run an AFT test. The
aftsuite option accepts aft XML as the
parameter value. It supports only one aft XML as input. For example, aftsuite="aftinput" You must not use the -aftsuite option along with the other options. |
-configfile | You can use this option to specify the
complete path to a file that contains the parameters for a test
run. Each parameter must be on a single line. To create a
configuration file, you must use an editor that does not wrap
lines. Any parameter, whether required or optional, can be set
in the configuration file. The command line parameters override
the values in this file. Notes:
|
-eclipsehome | You can use this option to provide the complete path of eclipse.exe. For example, C:\Program Files\HCL\DevOpsTest |
-execsummary | You can use this option to export all of the reports for the test run in a printable format, also known as an executive summary, to the local computer. You must specify the path to store the executive summary. |
-execsummaryreport | You can use this option to export a
specific report as an executive summary for the test run to the
local computer. You must specify the ID of the report to export
as -execsummaryreport <reportID>. For example, to export an HTTP performance report, specify http. Note: You must use this option along
with -execsummary.
To copy the report IDs list into your command line, navigate to Select reports to export, select the required reports, and click Copy ID to clipboard. You can then paste the clipboard content on to your command line editor. . Under |
-exportlog | You can use this option to specify the
file path to store the exported test log. Starting from 10.0.1, by using the -exportlog parameter, you can provide multiple parameter entries when running multiple tests. You must use a colon to separate the parameter entries. For example: -exportlog c:/logexport.txt:c:/secondlogexport.txt If there are multiple -suite option entries with a single -exportlog parameter entry, then the -exportlog option generates the appropriate number of test logs by appending 0, 1, 2, and so on to the -exportlog option entry name. For example: -suite "sampletest1:sampletest2:sampletest3" -exportlog c:/logexport.txt The command generates the following test logs:
The last test log generated has the same name as that of the initial -exportlog entry. Note: If there are multiple
-suite and
-exportlog parameter entries, the
number of -suite entries must match
with the number of -exportlog entries.
Otherwise, the following error message is
displayed: Error, number of -suite and -exportlog entries do not match. |
-exportReport | You can use this
option to export the unified report of UI tests to the file
formats such as PDF, HTML, and XML. Note: The exported XML file is a JUnit XML file. You can view
this file in applications that support JUnit reporting
formats. The command syntax is as follows: exportReport "type=<reporttype>;format=<file type1,file type2,file type3>;folder<destination folder path>;filename=<name of the exported file>" For example, to export the report to only the pdf format, you can use exportReport "type=unified;format=pdf;folder=Exportedreport102;filename=testreport Restriction:
If you want to export the report to multiple formats, you can specify the file formats as comma-separated values. The file type value can be in uppercase or lowercase. For example, to export the report to all the supported formats, you can use exportReport "type=unified;format=pdf,xml,html;folder=Exportedreport102;filename=testreport You can exclude the filename attribute in the exportReport option so that the reports are exported with the respective test suite name. For example, when you run multiple tests by using a single command, if you do not specify any file name in exportReport, then the name of the test is used for the exported report name, which makes it easy to identify reports. |
-exportstatreportlist | You can use this option to specify a
comma-separated list of report IDs along with
-exportstats or
-exportstatshtml to list the reports
that you want to export in place of the default reports, or the
reports selected under Preferences. To
view this setting, navigate to . To copy the report IDs list into your command line, navigate to Select reports to export, select the required reports, and click Copy ID to clipboard. You can then paste the clipboard content on to your command line editor. . Under |
-exportstats | You can use this option to export reports in comma-separated values (CSV) format, with the file name derived from the report name. This directory can be relative to the project or a directory on your file system. If the -exportstatreportlist option is not specified, the reports specified on the Export Reports page of the Performance Test Report preferences are exported. |
-exportstatsformat | You can use this option to specify a
format for the result that you want to export along with the
-exportstats option. You must use at
least one of the following parameters with the
-exportstatsformat option:
For example, -exportstats <local_dir_path> -exportstatsformat simple.json You can add multiple arguments separated by a comma. For example, -exportstats <local_dir_path> -exportstatsformat simple.json, full.csv When you want to export both simple and full type of test results in a json or csv format, you can specify json or csv as the arguments in the command. When the test run completes, the test result exports to simple.json and full.json files. For example, -exportstats <local_dir_path> -exportstatsformat json You can select the Command Line check box from the product preferences ( ) when you want to export test results to one of the selected formats after the test run completes. Remember: When you run the test from the command line, and if you use
the -exportstats parameter, then the
command line preferences take precedence over the
preferences set in the product. Therefore, by default, the
test result exports to a CSV format. For example, when you select the Command Line option and Report format to json in the product preferences, and run the test from the command-line interface without using the -exportstats option. The result is exported to a json file after the test run is complete. |
-exportstatspattern |
You can use this option along with the -exportstats option to specify a pattern that defines the name of a csv or json file. You can use the following token to customize the file name: "{TEST_NAME}{AGENT_NAME}{SPLIT_INDEX}_{TIMESTAMP}_{REPORT_ID}_{EXPORT_TYPE}" For example, cmdline -workspace "C:\Users\workspace" -project "proj123" -suite "test1.testsuite -exportstatshtml" C:\Users -exportstatsformat "simple.json,full.csv" -exportstats C:\Users -exportlog "C:\Users\logexport.txt" -exportstatreportlist "http,httpVP" -exportstatspattern "RFT_{REPORT_NAME}_{EXPORT_TYPE}_{REPORT_ID}" Note: The
-exportstatspattern parameter
is only supported for the command which is run from the
command line of Test UI.
|
-exportstatshtml | When you want to export web analytic results, you can use this option. The results are exported to the specified directory. You can then analyze the results on a web browser without using the test workbench. |
-history | Use this option when you want to view a
record of all events that occurred during a test run. However,
you must use the command suffixed with any of the following
options:
For example:
Note: You can add multiple options separated
by a comma to send test logs during the test run to Test UI
and the Jaeger UI. For
example:
|
-import | When you want to run Web UI tests that
are in a source control system such as Git from a computer that
runs the desktop product, you can clone the project resources in
the remote repository to your computer. You can use an empty
workspace folder on your computer to import the UI Test project
resources and then run the tests from the command-line
interface. The desktop product is enabled to run the Web UI
tests without the need of the workspace in the cloned repository
or your existing workspace. You must use the
-workspace command argument to precede
the -import command argument. Note: You can use this command argument in
the following scenarios:
To run UI tests contained in UI Test projects
that are in a remote repository, you must perform the
following steps:
|
-importzip | To import the project as test assets with dependencies into your workspace, use the -importzip option. This command is available from 9.2.1.1 and later. |
-labels | You can use the
-labels option to add labels to test
results when you run test assets from the command-line
interface. You can add multiple labels to a test result separated by a comma. For example,
-labels
Note: If the name of the label contains a
space character, then you must enclose it with quotes
(). For example, if the name of the label is test environment, then you must provide it as "test environment". You can also use the -labels option along with the -publish option to add labels to a test result when you want to publish test results to DevOps Test Hub. When you run test assets from the command-line interface by using the -labels option, then the same labels are displayed on the UI Test Statistical Report in Test UI. Similarly, when you use the -labels option with the -publish option from the command-line interface, then the Results page of DevOps Test Hub displays the same label for the specific test asset. |
-overwrite |
Determines whether a result file with the same name is overwritten. The default value, false, indicates that the new result file is created. If the value is true, the file is overwritten and retains the same file name. You must use double quotes for values true or false. |
-plugins | The complete path to the folder that
contains the plugins. Typically, on Windows operating systems,
this folder is located at C:\Program
Files\HCL\HCLIMShared\plugins. Required. This option is required only if the folder is at a different location. |
- protocolinput | You can use this option with additional
arguments as follows:
|
-publish | You can use
-publish parameter to publish test
results to DevOps Test Hub.
You can use the following options along with the -publish parameter:
Note: If the name of the project or
team space contains a special character, then you must
replace it with
%<Hex_value_of_special_character>.
For example, if the name of the team space is Initial Team Space, then you must provide it as Intial%20Team%20Space. Where, %20 is the hexadecimal value of the space character. Remember: If you provide the server and the
project details under in the product and if you use
serverURL#project.name=projectName
along with the -publish parameter, the
server details in the command-line interface take precedence
over the product preferences. Important: You must
provide the offline user token for the server by using
the HCL_ONETEST_OFFLINE_TOKEN
environment variable before you use the
-publish parameter in the
command-line interface.
|
-publish_for | You can use this option to publish the
test results based on the completion status of the tests:
|
-publishreports | You can use this option to publish test
results in DevOps Test Hub.
You must use the -publishreports parameter
along with the -publish parameter. You
can use the following values: For example, -publishreports
"STATS, TESTLOG"
The values specified here override the values selected in Test UI. ofYou must prefix with For example, -publishreports "! TESTLOG" All the reports except the TESTLOG report is published to DevOps Test Hub after executing the command. |
-quiet | Turns off any message output from the launcher and returns to the command shell when the run or the attempt is complete. |
-results | You can use this option to specify the
name of the results file. The default result file name is the
test name with a time stamp appended. You must specify a folder
name that is relative to the project to store the test results.
For example, -results folder/resultname |
-stdout | You can use this option to display the
information about the test on the command line. After you run a test from the command line, the following outputs are displayed to give you the overall information of the test:
For example, -workspace workspace_full_path -project proj_rel_path -publishpublish_url -stdout |
-swapdatasets | Use this option to replace dataset
values during a test run. If a test is associated with a
dataset, you can replace the dataset at run time while
initiating the run from the command line. You must ensure that both original and new datasets are in the same workspace and have the same column names. You must also include the path to the dataset when you run the -swapdatasets command. For example, -swapdatsets /project_name/ds_path/ds_filename.csv:/project_name/ds_path/new_ds_filename.csv You can swap multiple datasets that are saved in a different project by adding multiple paths to the dataset separated by a semicolon. For example,
|
-testType | You can specify the test type to be
selected for test run when you want to run mulitple tests in a
workspace by using a single command. You can use the following
values:
|
-usercomments | You can add text within double
quotation mark () to display it in the User
Comments row of the report. Note: You can use the file
CommandLine.exe to run the
command to add comments in a language that might not support
Unicode characters on Windows operating
system. |
-varfile | You can use this option to specify the
complete path to the XML file that contains the variable name
and value pairs. To run a Web UI test on a different browser than that was used for the recording, specify the predefined variable. For more information, see Defining a variable to run a test with a selected browser. |
-vmargs | To specify the Java™ maximum heap size for the Java™ process that controls
the command line playback, use the -vmargs
option with the -Xmx argument. For example, when you use-vmargs -Xmx4096m, specify a maximum heap size of 4096m. This method is similar to specifying -Xmx4096m in the eclipse.ini file for the workbench when playing back the test from the user interface. To collect the response time data for the app itself and for the server and network and display them in different bar charts, use -vmargs "-De2e.collect=true". For desktop-based web applications, the response time data is captured and displayed by default. To execute tests in parallel on all mobile devices, which are in passive mode, connected to the workbench and ready for playback, use -vmargs "-Dall.available.targets.in.parallel=true". To execute tests in parallel on all supported desktop browsers and connected mobile devices, use -vmargs "-Dall.available.targets.in.parallel=all". To execute tests in parallel on selected desktop browsers and connected mobile devices, use -vmargs "-Dall.available.targets.in.parallel=browser1,browswer2,browser3". You must separate browser names with a comma. For example, firefox, ff, chrome, ie, ie64, safari, "-Dall.available.targets.in.parallel=browser1,browser2,browser3". |
You can use this option to customize the appearance of the PDF files, before you export the unified reports. The arguments and values are described as follows:
For more information, see Customizing PDF files exported from unified reports. |