Playing back mobile tests from the command-line

You can play back a mobile test without using the desktop client by using the command-line interface. You must use the -varfile parameter that specifies the complete path to the XML file in the command. The XML file contains the name-value pairs of the variables. The variables specify the path to the computer to which the Android device or emulator is connected, and the other configurations required to play back the mobile test on the connected device.

Running the command

Before you can run the command to play back mobile tests from the command line, you must create a variable file that contains the details of the computer to which the mobile device is connected. You must have also recorded the mobile test.

You can issue the following command to play back a mobile test from the command-line:

cmdline -workspace workspace_full_path -project proj_rel_path -eclipsehome eclipse_full_path -plugins plugin_full_path -suite suite_rel_path -importzip file_name.zip -varfile variable_file_full_path -configfile file_full_path -results result_file -overwrite {"true" | "false"} -quiet -vmargs JVM_args -publish serverURL#project.name=projectName -publish_for {ALL,PASS,FAIL,ERROR, INCONCLUSIVE} -exportlog log_full_path -exportstats local_dir_path -exportstatshtml local_dir_path -compare "result_path1, result_path2" -exportstatreportlist stats_list -execsummary local_dir_path -execsummaryreport reportID -usercomments "any user comment" -publishreports "FUNCTIONAL, MOBILE_WEBUI, STATS, TESTLOG" -stdout -swapdatsets existing_dataset_file_path:new_dataset_file-path

Important: When you use the command to run a mobile test, you must ensure that the following conditions are satisfied:
  • Use the variable file that contains the details of the computer, server, or cloud to which the Android devices or emulators are connected.
  • Specify the details of the variable file in the command.

Creating a variable file

You must create a variable file that contains the variable names and values as pairs that are required to connect to the Android device or emulator. You can connect and play back the mobile tests on Android devices or emulators that are connected to the following computers, servers, or mobile clouds:

Variable file for a computer on which you have installed Rational® Functional Tester

Create an XML file as a variable file that specifies the details of the computer on which you have installed Rational® Functional Tester and connected the Android device or an emulator. The format of the variable file is as follows:
<?xml version="1.0" encoding="UTF-8"?>
<inits>
<variable_init value="<Android device or emulator name>" name="Mobile_Device_Selection"/>
</inits>
For example, if you connect Emulator:Pixel_2_API_28 as the mobile emulator, the variable file can be as follows:
<?xml version="1.0" encoding="UTF-8"?><inits>
<variable_init value="Emulator:Pixel_2_API_28" name="Mobile_Device_Selection"/>
</inits>

Variable file for Appium server

Create an XML file as a variable file that specifies the details of the remote computer on which you have installed the Appium server and connected the Android device or an emulator. The format of the variable file is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<inits>
<variable_init value="<Android device or emulator name>" name="Mobile_Device_Selection"/>             
<variable_init value="<Appium host URL>" name="appium.server.host"/>
<variable_init value="<port number>" name="appium.server.port"/>
</inits>

The following table lists the variables and the actions required for the value field:

Name of the variable Value
Mobile_Device_Selection Specify the name of the mobile device that is connected to the Appium server.
appium.server.host Specify the host name or IP address of the Appium server.
Note: The default value for this variable is 127.0.0.1. If no value is specified, the default value is used during the playback.
appium.server.port Specify the port on the Appium server that is configured to communicate with HCL OneTest™ Server.
Note: The default value for this variable is 4723. If no value is specified, the default value is used during the playback.
For example, if you connect Emulator:Pixel_2_API_28 as the mobile emulator to a remote computer where the appium server host URL is 10.115.50.61, and the Appium server port is 4723, the variable file can be as follows:
<?xml version="1.0" encoding="UTF-8"?>
<inits>
<variable_init value="Emulator:Pixel_API_28" name="Mobile_Device_Selection"/>             
<variable_init value="10.115.50.61" name="appium.server.host"/>
<variable_init value="4723" name="appium.server.port"/>
</inits>

Variable file for BitBar Cloud

Create an XML file as a variable file that specifies the details of the BitBar Cloud. The format of the variable file is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<inits>
<variable_init value="<BitBar device name>" name="Mobile_Device_Selection"/>
<variable_init value="<BitBar API key>" name="bitbar.apikey"/>
<variable_init value="<BitBar host URL>" name="bitbar.host"/>
<variable_init value="<project name>" name="bitbar.project"/>
<variable_init value="<test name>" name="bitbar.testrun"/>
</inits>
The following table lists the variables and the actions required for the value field:
Name of the Variable Value
Mobile_Device_Selection Specify the name of the mobile device that is connected to the BitBar cloud.
bitbar.apikey Specify the user token generated for your BitBar account to authenticate your connection with the BitBar Cloud.
bitbar.host Specify the host name of the BitBar cloud instance.
bitbar.project Specify the name of the project that contains the recorded test.
bitbar.testrun Specify a name for the test run that must be displayed in the BitBar dashboard for the test run.
Consider if the values in the following table are used to create a variable file for BitBar Cloud:
Name of the Variable Value
Mobile_Device_Selection Bitbar:Google Pixel 2
bitbar.apikey LkBldnjcnzrIcwWZpCZZxy
bitbar.host appium.bitbar.com
bitbar.project PlaybackMobile
bitbar.testrun CLIExecution

The example variable file for the values in the table is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<inits>
<variable_init value="Bitbar:Google Pixel 2" name="Mobile_Device_Selection"/>
<variable_init value="LkBldnjcnzrIcwWZpCZZxy" name="bitbar.apikey"/>
<variable_init value="appium.bitbar.com" name="bitbar.host"/>
<variable_init value="PlaybackMobile" name="bitbar.project"/>
<variable_init value="CLIExecution" name="bitbar.testrun"/>
</inits>

Variable file for Perfecto Mobile cloud

Create an XML file as a variable file that specifies the details of the Perfecto Mobile cloud. The format of the variable file is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<inits>
<variable_init value="<device name>" name="Mobile_Device_Selection"/>
<variable_init value="<security token>" name="perfecto.securitytoken"/>
<variable_init value="<perfecto host URL>" name="perfecto.host"/>
</inits>
The following table lists the variables and the actions required for the value field:
Name of the Variable Value
Mobile_Device_Selection Specify the name of the mobile device that is connected to the Perfecto mobile cloud.
perfecto.securitytoken Specify the user token generated for your Perfecto account to authenticate your connection with the Perfecto Mobile cloud.
appium.server.port Specify the port on the Perfecto mobile cloud that is configured to communicate with HCL OneTest™ Server.
Consider if the values in the following table are used to create a variable file for Perfecto Mobile cloud:
Name of the Variable Value
Mobile_Device_Selection Bitbar:Google Pixel 2
perfecto.securitytoken LkBldnjcnzrIcwWZpCZZxy
appium.server.port appium.bitbar.com

The example variable file for the values in the table is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<inits>
<variable_init value="Perfecto : R48904TNSAZ" name="Mobile_Device_Selection"/>
<variable_init value="LkBldnjcnzrIcwWZpCZZxy" name="perfecto.securitytoken"/>
<variable_init value="partners.perfectomobile.com" name="perfecto.host"/>
</inits>