{"id":23651874,"url":"https://github.com/microfocus/adm-ft-toolslauncher","last_synced_at":"2025-10-07T02:29:15.413Z","repository":{"id":40373179,"uuid":"301809805","full_name":"MicroFocus/ADM-FT-ToolsLauncher","owner":"MicroFocus","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-29T13:55:57.000Z","size":1840,"stargazers_count":12,"open_issues_count":2,"forks_count":9,"subscribers_count":8,"default_branch":"latest","last_synced_at":"2025-09-11T07:30:17.988Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MicroFocus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-10-06T17:50:19.000Z","updated_at":"2025-04-24T11:23:15.000Z","dependencies_parsed_at":"2023-02-08T10:17:06.018Z","dependency_job_id":"12193ec1-3d81-4beb-87a6-f45b380ffe78","html_url":"https://github.com/MicroFocus/ADM-FT-ToolsLauncher","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/MicroFocus/ADM-FT-ToolsLauncher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2FADM-FT-ToolsLauncher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2FADM-FT-ToolsLauncher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2FADM-FT-ToolsLauncher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2FADM-FT-ToolsLauncher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MicroFocus","download_url":"https://codeload.github.com/MicroFocus/ADM-FT-ToolsLauncher/tar.gz/refs/heads/latest","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2FADM-FT-ToolsLauncher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278708320,"owners_count":26031997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-28T16:48:46.754Z","updated_at":"2025-10-07T02:29:15.397Z","avatar_url":"https://github.com/MicroFocus.png","language":"C#","readme":"# \u003ca name=\"title\"\u003e\u003c/a\u003eOpenText™ Functional Testing CI Utilities\n**OpenText Functional Testing CI Utilities** contains tools that you can use to run automation tests by launching functional testing applications such as **OpenText™ Functional Testing** and **OpenText™ Performance Engineering**, and so on.\n\nThe following tools are available:\n- [FTToolsLauncher](#fttools-launcher)\n- [FTToolsAborter](#fttools-aborter)\n- [LRAnalysisLauncher](#fttools-lr-analysis-launcher)\n- [ReportConverter](#report-converter)\n\n## \u003ca name=\"fttools-launcher\"\u003e\u003c/a\u003eFTToolsLauncher\nThe **FTToolsLauncher** is a command-line tool that launches the functional testing application and runs tests.\n\nThis tool lets you run one or more of the following test types:\n- **OpenText Functional Testing** tests:\n    * GUI/API tests stored in the file system\n    * GUI/API/BPT tests and test sets stored in **OpenText™ Application Quality Management** (**ALM**)\n    * GUI tests in parallel mode stored in the file system\n- **OpenText Performance Engineering** tests\n\n### \u003ca name=\"fttools-launcher-toc\"\u003e\u003c/a\u003eTable Of Contents\n- [Command Line References](#cmd-line-refs)\n- [Parameter File References](#params-file-refs)\n    * [Basic Parameters](#basic-params-refs)\n    * [ALM Parameters](#alm-params-refs)\n    * [File System Parameters](#filesystem-params-refs)\n    * [Test Rerun Parameters (File System Only)](#test-rerun-params-refs)\n    * [OpenText Performance Engineering Parameters (File System Only)](#lr-params-refs)\n    * [OpenText Functional Testing Lab Parameters](#mc-params-refs)\n    * [Parallel Runner Parameters (File System Only)](#parallel-runner-params-refs)\n    * [Non-public Parameters](#non-public-params-refs)\n- [.mtb File References](#mtb-file-refs)\n- [.mtbx File References](#mtbx-file-refs)\n- [Parallel Runner Variables](#parallel-runner-vars)\n- [Samples: FTToolsLauncher Parameters File](#fttools-launcher-samples)\n    * [Sample 1: Run one GUITest (File System)](#fttools-launcher-sample-1)\n    * [Sample 2: Run multiple tests (File System)](#fttools-launcher-sample-2)\n    * [Sample 3: Run test (File System) with multiple environments in parallel](#fttools-launcher-sample-3)\n    * [Sample 4: Run ALM test sets](#fttools-launcher-sample-4)\n    * [Sample 5: Run mobile test](#fttools-launcher-sample-5)\n    * [Sample 6: Run multiple test with .mtb file (File System)](#fttools-launcher-sample-6)\n    * [Sample 7: Run multiple test with .mtbx file (File System)](#fttools-launcher-sample-7)\n- [Exit Code](#fttools-exit-code)\n- [Limitations](#fttools-launcher-limit)\n\n### \u003ca name=\"cmd-line-refs\"\u003e\u003c/a\u003eCommand Line References\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n```batch\nFTToolsLauncher.exe -paramfile \u003ca file in key=value format\u003e\n```\n\n### \u003ca name=\"params-file-refs\"\u003e\u003c/a\u003eParameter File References\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nThe **FTToolsLauncher** command-line tool requires a parameter file that describes parameters in `key=value` format, one parameter per line. A good example is the **Java Properties** file.\n\nSpecial characters need to be escaped to enable the tool to properly load the paramters file. For example, if there is a parameter `Test1=C:\\\\tests\\\\GUITest1`, the path delimeters need to be escaped with `\\`.\n\nThe follwoing types of parameters are supported:\n* [Basic Parameters](#basic-params-refs)\n* [ALM Parameters](#alm-params-refs)\n* [File System Parameters](#filesystem-params-refs)\n* [Test Rerun Parameters (File System Only)](#test-rerun-params-refs)\n* [OpenText Performance Engineering Parameters (File System Only)](#lr-params-refs)\n* [OpenText Functional Testing Lab Parameters](#mc-params-refs)\n* [ParallelRunner Parameters (File System Only)](#parallel-runner-params-refs)\n* [Non-public Parameters](#non-public-params-refs)\n\n#### \u003ca name=\"basic-params-refs\"\u003e\u003c/a\u003eBasic Parameters\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n| Name | Type | Value | Remarks |\n| ---- | ---- | ---- | ---- |\n| **`runType`** | string | `FileSystem` _or_ `Alm` | [**Mandatory**] The test asset location type.\u003cbr/\u003e\u003cbr/\u003e`FileSystem` for UFT GUI/API and OpenText Performance Engineering tests stored in the file system.\u003cbr/\u003e`Alm` for UFT GUI/API tests stored on a **OpenText Application Quality Management** (**ALM**) server. |\n| **`resultsFilename`** | string | file name _or_ file path | [**Mandatory**] The file name or file path in which to save the test results summary. If the file name is a relative path, the path is relative to the current workspace. |\n| `resultFormatLanguage` | string | *`Default`*\u003cbr/\u003e-or-\u003cbr/\u003e`System`\u003cbr/\u003e-or-\u003cbr/\u003e\u0026lt;language-tag\u0026gt; | **Introduced in `v1.0.22.4723` (`v1.0-beta-rev6`)**.\u003cbr/\u003e\u003cbr/\u003e(*Optional*) The language used to format numbers, dates, and times in the test results summary file. For example, the number `12.34` is generated as is in English (language tag `en-US`) while it is `12,34` in German (language tag `de-DE`). The default language is English.\u003cbr/\u003e\u003cbr/\u003eIf the value is `System`, the application will automatically detect the language used in the system and use that language for localization.\u003cbr/\u003e\u003cbr/\u003eThe value can also be one of the valid case-insensitive language tag names such as `en-US`, `de-DE` and so on. For a list of predefined language tag names on Windows systems, see the **Language tag** column in the [list of language/region names supported by Windows][msdoc-list-of-langauge-region-names-supported-by-windows]. The names follow the standard defined by [BCP 47][bcp47-url]. In addition, starting with **Windows 10**, name can be any valid BCP-47 language tag. |\n| `resultTestNameOnly` | boolean | `true` _or_ *`false`* | **Introduced in `v1.0.23.2025` (`v1.0-beta-rev7`)**.\u003cbr/\u003e\u003cbr/\u003e(*Optional*) Indicates whether the test results summary file should include only test names for **OpenText Functional Testing** tests, rather than full paths. The **OpenText Performance Engineering** tests are not affected. Default = `false`.\u003cbr/\u003e\u003cbr/\u003eBy default the test results summary file includes the full path of the **OpenText Functional Testing** test. For example: `\u003ctestcase name=\"C:\\tests\\GUITest1\"`.\u003cbr/\u003eWhen this parameter is set to `true`, the results show the test name only: `\u003ctestcase name=\"GUITest1\"`. |\n| `resultUnifiedTestClassname` | boolean | `true` _or_ *`false`* | **Introduced in `v1.0.33.4627` (`v1.0-beta-rev13`)**.\u003cbr/\u003e\u003cbr/\u003e(*Optional*) Indicates whether the testcase elements in the test results summary file should contain a unified classname attribute. Default = `false`.\u003cbr/\u003eThis parameter is relevant only for **OpenText Functional Testing** tests stored in the file system (`runType`=`FileSystem`). It does not affect **OpenText Performance Engineering** tests or tests stored in **ALM**.\u003cbr/\u003e\u003cbr/\u003eFor example, if the test path is:\u003cbr/\u003e`C:\\\\UFTTests\\\\Level1\\\\Level2\\\\Level3\\\\GUITest1`\u003cbr/\u003eIf this parameter is set to `true`, the classname will be:\u003cbr/\u003e`\u003ctestcase ... classname=\"file:///C:/UFTTests/Level1/Level2/Level3\"` (that is the closest parent folder's absolute path)\u003cbr/\u003eThis result is consistent, whether you use an MTB / MTBX file or a folder path (with one or more tests stored at folder and/or subfolders level).\u003cbr/\u003e\u003cbr/\u003eIf this parameter is set to `false`, the classname can be:\u003cbr/\u003e`\"All-Tests.Test group\"` if the properties file provides the full path to the test folder.\u003cbr/\u003e`\"All-Tests.\u003cpath to the mtb or mtbx file\u003e\"` if the properties file provides a mtb / mtbx file path.\u003cbr/\u003e`\"All-Tests.C:\\UFTTests\\Level1\"` if the properties file provides a partial path (to the subfolder Level1).|\n| `unstableAsFailure` | boolean | `true` _or_ *`false`* | **Introduced in `v1.0.29.221` (`v1.0-beta-rev9`)**.\u003cbr/\u003e\u003cbr/\u003e(*Optional*) Indicates whether to treat an unstable test as a failure and return a non-zero exit code.\u003cbr/\u003e`true` – The exit code for an unstable test is **Unstable**.\u003cbr/\u003e`false` – The exit code for an unstable test is **Passed**.\u003cbr/\u003eSee more details in the [Exit Code](#fttools-exit-code) section. |  \n\n#### \u003ca name=\"alm-params-refs\"\u003e\u003c/a\u003eALM Parameters\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nThe ALM parameters are used to launch tests stored in **OpenText Application Quality Management** (**ALM**). The ALM parameters listed in the table below take effect only when the `runType` parameter is set to `Alm`.\n\nSome additional actions are required before running ALM test sets:\n1. Download and install the **ALM Client Launcher** from `http://{alm-server-hostname-or-ip}:{alm-server-port}/qcbin/Apps/ALMClientLauncherSetup.msi`\nor from `https://marketplace.microfocus.com/appdelivery/content/alm-client-launcher'.\n2. Open **ALM Client Launcher** and provide the link `http://{alm-server-hostname-or-ip}:{alm-server-port}/qcbin/start_a.jsp?common=true` to install mandatory components.\n\n| Name | Type | Value | Remarks |\n| ---- | ---- | ---- | ---- |\n| **`almServerUrl`** | string | http(s)://{hostname-or-ip}[:{port}]/qcbin | [**Mandatory**] The URL of the ALM server to connect to and run tests from.\u003cbr/\u003e\u003cbr/\u003eFor example, `http://10.105.32.108:8080/qcbin`. |\n| **`almUsername`** | string | ALM user name | [**Mandatory**] The user name to use for the ALM connection. |\n| `almPasswordBasicAuth` | string | base64-encoded string | **CAUTION: This password is simply encoded in base64 format which can be easily decoded by anyone. Use secure means to transmit the parameter file to prevent sensitive information from being exposed.**\u003cbr/\u003e\u003cbr/\u003e(*Optional*) The ALM connection password, encoded in base64 format. |\n| **`almDomain`** | string | ALM domain name | [**Mandatory**] The domain name in which the ALM projects can be found on the ALM server. |\n| **`almProject`** | string | ALM project name | [**Mandatory**] The project (under the specified domain) to open once connected to the ALM server. |\n| `SSOEnabled` | boolean | `true` _or_ *`false`* | (*Optional*) Indicates whether to enable the SSO mode when login to the ALM server. Default = `false`. |\n| `almClientID` | string | ALM SSO client ID | [**Mandatory** if `SSOEnabled` is `true`] The client ID used together with `almApiKeySecretBasicAuth` parameter as the identifier when login in SSO mode.\u003cbr/\u003e\u003cbr/\u003eSee the online topic [API Key Management][alm-api-key-management-url] for the details to manage API keys. |\n| `almApiKeySecretBasicAuth` | string | base64-encoded string | **CAUTION: This password is simply encoded in base64 format which can be easily decoded by anyone. Use secure means to transmit the parameter file to prevent sensitive information from being exposed.**\u003cbr/\u003e\u003cbr/\u003e[**Mandatory** if `SSOEnabled` is `true`] The API key secret used together with `almClientID` parameter as the identifier when login in SSO mode, encoded in base64 format.\u003cbr/\u003e\u003cbr/\u003eSee the online topic [API Key Management][alm-api-key-management-url] for the details to manage API keys. |\n| `almRunMode` | string | *`RUN_LOCAL`* _or_ `RUN_REMOTE` _or_ `RUN_PLANNED_HOST` | (*Optional*) Indicated where to run the ALM tests, on the local machine or on remote machines. Default = `RUN_LOCAL`.\u003cbr/\u003e\u003cbr/\u003e`RUN_LOCAL`: ALM tests run on the local machine where this tool is running;\u003cbr/\u003e`RUN_REMOTE`: ALM tests run on a the machine specified in the `almRunHost` parameter;\u003cbr/\u003e`RUN_PLANNED_HOST` runs ALM tests on the machines configured in the ALM test set. Only the **Default** test sets are supported. |\n| `almRunHost` | string | hostname _or_ IP address | [**Mandatory** if `almRunMode` is `RUN_REMOTE`] The hostname or IP address of the machine on which to run the ALM tests. Takes effect only if `almRunMode` is `RUN_REMOTE`. |\n| `almTimeout` | integer | `0` to `2147483647` | (*Optional*) The number of seconds before the ALM test run times out. Default = `2147483647` (around 68 years). |\n| **`TestSet{i}`** | string | The path to an ALM test set _or_\u003cbr/\u003ean ALM folder that contains test sets | [**Mandatory**] A list of ALM paths that refer to the ALM test set or ALM folder that contains the test sets.\u003cbr/\u003e\u003cbr/\u003eSpecify multiple test sets by increasing the `{i}` which starts from `1`. For example, `TestSet1=path1`, `TestSet2=folder2`. |\n| `FilterTests` | boolean | `true` _or_ *`false`* | (*Optional*) Indicates whether filters need to be applied on the ALM test sets. Default = `false`. |\n| `FilterByName` | string | name to filter | (*Optional*) The test name or part of a test name to use to filter the ALM test sets. Only takes effect when the `FilterTests` parameter is set to `true`. |\n| `FilterByStatus` | string | {status1},{status2}, ... | (*Optional*) A comma-separated list containing the statuses to use to filter the ALM test sets. Only takes effect when the `FilterTests` parameter is set to `true`. |\n\n#### \u003ca name=\"filesystem-params-refs\"\u003e\u003c/a\u003eFile System Parameters\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nThe File System parameters are used to launch tests stored in the file system. All the following File System parameters take effect only when the `runType` parameter is set to `FileSystem`.\n\n| Name | Type | Value | Remarks |\n| ---- | ---- | ---- | ---- |\n| **`Test{i}`** | string | path to:\u003cbr/\u003ea test folder _or_\u003cbr/\u003ea folder contains test folders _or_\u003cbr/\u003ea OpenText Performance Engineering test file (`.lrs`) _or_\u003cbr/\u003ea batch file that describes test folders (`.mtb`) _or_\u003cbr/\u003ea batch file that describes tests with additional settings (`.mtbx`) | [**Mandatory**] A list of file system paths that refer to the test folders that contain the tests.\u003cbr/\u003e\u003cbr/\u003eSpecify multiple tests by increasing the `{i}` which starts from `1`. For example, `Test1=testpath1`, `Test2=folder2`, `Test3=test3.lrs`, `Test4=tests4.mtb`, `Test5=tests5.mtbx`.\u003cbr/\u003e\u003cbr/\u003eSee [.mtb File References](#mtb-file-refs) and [.mtbx File References](#mtbx-file-refs) for details. |\n| `fsTimeout` | integer | `0` to `9223372036854775807` | (*Optional*) The number of seconds before the test run times out. Default = `9223372036854775807` (around 29,247 years). |\n| `fsReportPath` | string | directory path | (*Optional*) The location under which to save all test reports. A dynamic subdirectory will be created for each test under this location when running the tests.\u003cbr/\u003e\u003cbr/\u003eDefault = for each test, use its own test report location. |\n| `fsReportPath{i}` | string | directory path | (*Optional*) The explicit location in which to save the test report for the test specified in `Test{i}`. If both the `fsReportPath` and `fsReportPath{i}` are specified, the `fsReportPath{i}` takes precedence over the `fsReportPath`.\u003cbr/\u003e\u003cbr/\u003eThis parameter is ignored if a `.mtb` or `.mtbx` batch file is specified in `Test{i}`. |\n| `fsUftRunMode` | string | `Normal` _or_ _`Fast`_ | (*Optional*) Specifies the run mode when running OpenText Functional Testing tests. Default = `Fast` run mode. |\n| `cancelRunOnFailure`  | boolean | `true` _or_ _`false`_ | (*Optional*) Specifies whether to cancel the run when a OpenText Functional Testing test fails, so that the subsequent tests will be skipped. Default = `false`. |\n| `leaveUftOpenIfVisible`  | boolean | `true` _or_ _`false`_ | (*Optional*) Specifies whether to use the existing OpenText Functional Testing instance if there is one open and visible before running the test run. Otherwise, before each test, any open instance of OpenText Functional Testing is closed and a new instance is opened. Default = `false`.|\n\n#### \u003ca name=\"test-rerun-params-refs\"\u003e\u003c/a\u003eTest Rerun Parameters (File System Only)\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nThe Test Rerun parameters determine how to rerun the failed tests.\n\n| Name | Type | Value | Remarks |\n| ---- | ---- | ---- | ---- |\n| `onCheckFailedTest` | boolean | `true` _or_ *`false`* | (*Optional*) Indicates whether to rerun tests if any tests failed. If set to `true`, this tool will rerun tests according to the other Test Rerun parameters. Default = `false`: don't rerun if any tests failed. |\n| `testType` | string | `Rerun the entire set of tests` _or_\u003cbr/\u003e`Rerun specific tests in the build` _or_\u003cbr/\u003e`Rerun only failed tests` | (*Optional*) Specifies how to rerun tests. Default: No tests will be rerun if any tests failed.\u003cbr/\u003e\u003cbr/\u003eIf the value is `Rerun the entire set of tests` and any tests failed, all of the tests will be run again `x` times where `x` is the value of the `Reruns1` parameter specified. In this case, only `Reruns1` parameter takes effect and all the other `Reruns{i}` parameters are ignored.\u003cbr/\u003e\u003cbr/\u003eIf the value is `Rerun specific tests in the build` and any tests failed, the specific tests will be run `x` times where `x` is the value of the `Reruns1` parameter specified. The rerun tests are specified by the `FailedTest{i}` parameter where `i` starts from `1`. In this case, only `Reruns1` parameter takes effect and all the other `Reruns{i}` parameters are ignored.\u003cbr/\u003e\u003cbr/\u003eIf the value is `Rerun only failed tests` and any tests failed, only the failed test(s) will be rerun. The rerun times is decided by the value of the `Reruns{i}` accordingly. In this case, the `Reruns{i}` defines the rerun times for each test, respectively. For example, `Reruns1=2`, `Reruns2=1` means rerun `Test1` twice if `Test1` failed and rerun `Test2` once if `Test2` failed.  |\n| `Reruns{i}` | integer | number of rerun times | (*Optional*) A list of numbers specifying how many times to rerun test(s). See the remarks of the `testType` parameter for more details.\u003cbr/\u003e\u003cbr/\u003e*NOTE:* Currently, if the rerun times is larger than one (1), rerun will not check the test results until all reruns finish. For example, if `Reruns1=2` and `Test1` failed, the test will always rerun twice even though the first rerun passed. |\n| `FailedTest{i}` | string | same as `Test{i}` parameter | (*Optional*) A list of paths specifying the test folders that contain the tests to be run when any `Test{i}` tests fail. See the remarks of the `testType` parameter for more details. |\n| `CleanupTest{i}` | string | same as `Test{i}` parameter | (*Optional*) A list of paths specifying the test folders that contain the tests that perform the cleanup actions before rerunning the tests.\u003cbr/\u003e\u003cbr/\u003eThe basic logic is that if any `Test{i}` tests failed, all the `CleanupTest{i}` tests will be executed (no relationships with `Test{i}`), followed by the rerun tests. |\n\n#### \u003ca name=\"lr-params-refs\"\u003e\u003c/a\u003eOpenText Performance Engineering Parameters (File System Only)\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nThe following parameters are used for **OpenText Performance Engineering** tests.\n\n| Name | Type | Value | Remarks |\n| ---- | ---- | ---- | ---- |\n| `displayController` | integer | *`0`* _or_ `1` | (*Optional*) Indicates whether the controller is displayed when running OpenText Performance Engineering tests. Set `1` to show the controller. Default = `0`: Do not show the controller. |\n| `controllerPollingInterval` | integer | `0` to `2147483647` | (*Optional*) Indicates the controller polling interval, in seconds. Default = `30` seconds. |\n| `PerScenarioTimeOut` | integer | `0` to `9223372036854775807` | (*Optional*) Indicates the timeout for each scenario, in minutes. Default = `9223372036854775807` (around 17,548,272,520,652 years) |\n| `analysisTemplate` | string | file path | (*Optional*) The file path to the analysis template file  used by the `LRAnalysisLauncher` tool when running the OpenText Performance Engineering tests. |\n| `ignoreErrorStrings` | string | multi-lines string | (*Optional*) One or more error texts to ignore when running OpenText Performance Engineering tests. One error string per line. |\n| `SummaryDataLog` | string | `0`\\|`1`;`0`\\|`1`;`0`\\|`1`;{num} | (*Optional*) Specifies the configuration of summary data log.\u003cbr/\u003e\u003cbr/\u003eFormat: Four components separated by semicolons (`;`). The first three components are all `0` or `1` which enables (`1`) or disables (`0`) _logVusersStates_, _logErrorCount_, _logTransactionStatistics_ respectively. The fourth component is a positive number represents the polling interval, in seconds.\u003cbr/\u003e\u003cbr/\u003eFor example, the value `1;0;0;30` enables _logVusersStates_, disables _logErrorCount_ and _logTransactionStatistics_, and sets polling interval to 30 seconds. |\n| `ScriptRTS{i}` | string | script name | (*Optional*) Defines a list of scripts for which the runtime settings (attributes) are set. The placeholder `{i}` is used to define multiple scripts, starting from `1`, for example, `ScriptRTS1=sc1`, `ScriptRTS2=demo`. |\n| `AdditionalAttribute{i}` | string | {script-name};{attr-name};{attr-value};{attr-description} | (*Optional*) Defines a list of runtime settings (attributes) for scripts set by `ScriptRTS{i}` parameters.\u003cbr/\u003e\u003cbr/\u003eThe value consists of four components separated by semicolons (`;`). The first one spedifies the script for which the attributes are used; the next three components are: attribute name, attribute value, and attribute description.\u003cbr/\u003e\u003cbr/\u003eFor example, the value `sc1;a1;valx;this is a demo attribute` represents an attribute to be set for the script `sc1` with attribute name `a1`, value `valx`, and description `this is a demo attribute`. |\n\n#### \u003ca name=\"mc-params-refs\"\u003e\u003c/a\u003eOpenText Functional Testing Lab Parameters\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nThe following parameters are used for connecting to **OpenText™ Functional Testing Lab for Mobile and Web** when running tests.\n\n| Name | Type | Value | Remarks |\n| ---- | ---- | ---- | ---- |\n| **`MobileHostAddress`** | string | http(s)://{hostname-or-ip}[:{port}] | [**Mandatory**] The host address URL of the UFT Mobile server. |\n| **`MobileUserName`** | string | user name | [**Mandatory** if MobileClientId is missing] The user name used to connect to the UFT Mobile server. |\n| `MobilePasswordBasicAuth` | string | base64-encoded string | **CAUTION: This password is simply encoded in base64 format which can be easily decoded by anyone. Use secure means to transmit the parameter file to prevent sensitive information from being exposed.**\u003cbr/\u003e\u003cbr/\u003e(*Optional*) The password encoded in base64 format which is used to connect to the UFT Mobile server. |\n| **`MobileClientId`** | string | client ID | [**Mandatory** if MobileUserName is missing] The client ID used to connect to the UFT Mobile server. |\n| **`MobileSecretKeyBasicAuth`** | string | base64-encoded string | [**Mandatory** if MobileClientId is provided] **CAUTION: This key is simply encoded in base64 format which can be easily decoded by anyone. Use secure means to transmit the parameter file to prevent sensitive information from being exposed.**\u003cbr/\u003e\u003cbr/\u003eThe secret key encoded in base64 format which is used to connect to the UFT Mobile server. |\n| **`MobileTenantId`** | string | MC tenant ID | [**Mandatory**] The tenant ID used to connect to the UFT Mobile server with multi-tenant mode enabled. If the multi-tenant mode is disabled on the UFT Mobile server, specify `999999999` instead. |\n| `MobileUseSSL` | integer | _`0`_ _or_ `1` | (*Optional*) Indicates whether to use SSL (`https` protocol) when connecting to the UFT Mobile server.\u003cbr/\u003e\u003cbr/\u003eSpecify `0` to use http protocol or `1` to use https. Default = `0` (http). |\n| `MobileUseProxy` | integer | _`0`_ _or_ `1` | (*Optional*) Indicates whether to use a proxy when connecting to the UFT Mobile server.\u003cbr/\u003e\u003cbr/\u003eSpecify `0` to use direct connection (no-proxy mode) or `1` to use proxy. Default = `0` (no-proxy mode). |\n| `MobileProxyType` | integer | _`0`_ _or_ `1` | (*Optional*) Indicates the type of proxy to use when connecting to the UFT Mobile server, if the `MobileUseProxy` is set to `1`.\u003cbr/\u003e\u003cbr/\u003eSpecify `0` to use an http proxy or `1` to use the system proxy. Default = `0` (http proxy).\u003cbr/\u003e\u003cbr/\u003eFor the system proxy type, proxy settings are detected by reading the system proxy settings; for the http proxy type, the proxy settings are explicitly specified by the `MobileProxySetting_`xxx parameters. |\n| `MobileProxySetting_Address` | string | [http(s)://]{hostname-or-ip}[:{port}] | [**Mandatory** if `MobileUseProxy` is set to `1` and `MobileProxyType` is set to `0`] The address of the proxy.\u003cbr/\u003e\u003cbr/\u003eTakes effect only when the `MobileUseProxy` parameter is set to `1` (use proxy) and `MobileProxyType` parameter is set to `0` (http proxy). |\n| `MobileProxySetting_Authentication` | integer | _`0`_ _or_ `1` | (*Optional*) Indicates whether the proxy requires authentication.\u003cbr/\u003e\u003cbr/\u003eSpecify `1` to enable proxy authentication. Default = `0` (no proxy authentication).\u003cbr/\u003e\u003cbr/\u003eRelevant only when the `MobileUseProxy` parameter is set to `1` (use proxy) and `MobileProxyType` parameter is set to `0` (http proxy). |\n| `MobileProxySetting_UserName` | string | proxy user name | [**Mandatory** if `MobileUseProxy` is set to `1` and `MobileProxyType` is set to `0` and `MobileProxySetting_Authentication` is set to `1`] The user name to use when connecting to the proxy server.\u003cbr/\u003e\u003cbr/\u003eTakes effect only when the `MobileUseProxy` parameter is set to `1` (use proxy) and `MobileProxyType` parameter is set to `0` (http proxy) and `MobileProxySetting_Authentication` parameter is set to `1`. |\n| `MobileProxySetting_PasswordBasicAuth` | string | base64-encoded string | **CAUTION: This password is simply encoded in base64 format which can be easily decoded by anyone. Use secure means to transmit the parameter file to prevent sensitive information from being exposed.**\u003cbr/\u003e\u003cbr/\u003e(*Optional*) The password encoded in base64 format which is used to connect to the proxy server. |\n| `mobileinfo` | string | data in JSON format | (*Optional*) The device and application to launch before running the mobile test.\u003cbr/\u003e\u003cbr/\u003eThis parameter is similar to the mobile configurations set via the **Record and Run Settings** dialog box in OpenText Functional Testing.\u003cbr/\u003eUse this parameter if you want your run to override the settings set up in OpenText Functional Testing, or if you don't want to set those.\u003cbr/\u003e\u003cbr/\u003eTo compose this JSON string, we recommend setting up the mobile configuration in OpenText Functional Testing's **Record and Run Settings** dialog box and then getting the data from the registry at `HKEY_CURRENT_USER\\SOFTWARE\\Mercury Interactive\\QuickTest Professional\\MicTest\\AddIn Manager\\Mobile\\Startup Settings\\JOB_SETTINGS`, value name `_default`. A typical JSON string could start from text `{\"RnRType\":-1,`... |\n| `cloudbrowserinfo` | string | \"**url**={URL}; **os**={OS}; **browser**={Name}; **version**={Version}; **region**={Location}\" | (*Optional*) The browser and web application to use for the web test.\u003cbr/\u003e\u003cbr/\u003eThis parameter is similar to the web configurations set via the **Record and Run Settings** dialog box in OpenText Functional Testing.\u003cbr/\u003eUse this parameter if you want your run to override the settings set up in OpenText Functional Testing, or if you don't want to set those.\u003cbr/\u003e\u003cbr/\u003eSpecify the operating system and geographical location in which you want the browser to run, as well as the browser type and version.  Optionally, specify the URL of the web application to load when the browser opens.\u003cbr/\u003eTo see which values are available for these keys, open the **OpenText Functional Testing Lab \u003e Browser Lab** page.\u003cbr/\u003e\u003cbr/\u003eExample: *cloudbrowserinfo*=`\"url=www.opentext.com;os=Windows Server 2022;browser=Firefox;version=latest;region=Europe (Frankfurt)\"`|\n\n#### \u003ca name=\"parallel-runner-params-refs\"\u003e\u003c/a\u003eParallelRunner Parameters (File System Only)\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n\u003e *Notes*: In order to run tests in parallel, ensure you have reviewed the online user guide: [Before starting parallel testing][parallel-runner-before-start].\n\nThe following parameters are used for tests run by the ParallelRunner.\n\n| Name | Type | Value | Remarks |\n| ---- | ---- | ---- | ---- |\n| `parallelRunnerMode` | boolean | `true` _or_ _`false`_ | (*Optional*) Indicates whether to run the tests in parallel mode with parallel runner tool. Default = `false`.\u003cbr/\u003e\u003cbr/\u003eOnce enabled (`true`), this tool launches the ParallelRunner for each test set by the `Test{i}` parameter with multiple environments (set by the `ParallelTest{i}Env{j}` parameter). For example, given `Test1=pathA`, `Test2=pathB`, this tool first launches the ParallelRunner to run `Test1` and when `Test1` is finished, this tool launches the ParallelRunner again to run `Test2`. Currently, this tool does **NOT** support running multiple tests in parallel. |\n| `ParallelTest{i}Env{j}` | string | {key1}:{value1},{key2}:{value2}, ... | (*Optional*) The variables passed to the ParallelRunner in order to run tests in parallel mode.\u003cbr/\u003e\u003cbr/\u003eA ParallelRunner variable consists of a key and the corresponding value, separated by colon (`:`). Separate multiple variables by commas (`,`).\u003cbr/\u003e\u003cbr/\u003eThe placeholder `{i}` is used to identify the test to set variables which starts from `1`, corresponding to the `Test{i}` parameter. The placeholder `{j}` is used to define more than one variable, also starts from `1`.\u003cbr/\u003e\u003cbr/\u003eFor example, the parameter `ParallelTest3Env1=browser:CHROME` defines a variable `browser:CHROME` (key=`browser`; value=`CHROME`) for the test `Test3` run by the ParallelRunner.\u003cbr/\u003e\u003cbr/\u003eFor all supported ParallelRunner variables, see the [**ParallelRunner Variables**](#parallel-runner-vars) section.\u003cbr/\u003e\u003cbr/\u003eTo define the ParallelRunner environment for a test, increase `{j}`. For example, `ParallelTest3Env1=browser:CHROME`, `ParallelTest3Env2=browser:IE` tells this tool to launch the ParallelRunner to run the `Test3` with two browser environments in parallel. |\n\n#### \u003ca name=\"non-public-params-refs\"\u003e\u003c/a\u003eNon-public Parameters\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nThe non-public parameters are dedicated and only used by some **OpenText** tools. These parameters are generally supported for backward compatibility. Some parameters may be obsolete in future versions.\n\nIn most cases, do not use these parameters when you run this tool with your own parameter file.\n\n| Name | Type | Value | Remarks |\n| ---- | ---- | ---- | ---- |\n| `JenkinsEnv` | string | | [**Used by OpenText Application Automation Tools Jenkins plugin**] When running this tool with your own parameter file, set the environment variable before running this tool instead. |\n| `almPassword` | string | encoded string | [**Used by OpenText Application Automation Tools**] When running this tool with your own parameter file, use the `almPasswordBasicAuth` parameter instead.\u003cbr/\u003e\u003cbr/\u003eIf both the `almPassword` and `almPasswordBasicAuth` parameters are provided, the `almPasswordBasicAuth` parameter takes precedence over the `almPassword` parameter. |\n| `almApiKeySecret` | string | encoded string | [**Used by OpenText Application Automation Tools**] When running this tool with your own parameter file, use the `almApiKeySecretBasicAuth` parameter instead.\u003cbr/\u003e\u003cbr/\u003eIf both the `almApiKeySecret` and `almApiKeySecretBasicAuth` parameters are provided, the `almApiKeySecretBasicAuth` parameter takes precedence over the `almApiKeySecret` parameter. |\n| `MobilePassword` | string | encoded string | [**Used by OpenText Application Automation Tools Jenkins plugin**] When running this tool with your own parameter file, use the `MobilePasswordBasicAuth` parameter instead.\u003cbr/\u003e\u003cbr/\u003eIf both the `MobilePassword` and `MobilePasswordBasicAuth` parameters are provided, the `MobilePasswordBasicAuth` parameter takes precedence over the `MobilePassword` parameter. |\n| `MobileSecretKey` | string | encoded string | [**Used by OpenText Application Automation Tools Azure DevOps plugin**] When running this tool with your own parameter file, use the `MobileSecretKeyBasicAuth` parameter instead.\u003cbr/\u003e\u003cbr/\u003eIf both the `MobileSecretKey` and `MobileSecretKeyBasicAuth` parameters are provided, the `MobileSecretKeyBasicAuth` parameter takes precedence over the `MobileSecretKey` parameter. |\n| `MobileProxySetting_Password` | string | encoded string | [**Used by OpenText Application Automation Tools Jenkins plugin**] When running this tool with your own parameter file, use the `MobileProxySetting_PasswordBasicAuth` parameter instead .\u003cbr/\u003e\u003cbr/\u003eIf both the `MobileProxySetting_Password` and `MobileProxySetting_PasswordBasicAuth` parameters are provided, the `MobileProxySetting_PasswordBasicAuth` parameter takes precedence over the `MobileProxySetting_Password` parameter. |\n\n\n### \u003ca name=\"mtb-file-refs\"\u003e\u003c/a\u003e.mtb File References\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nAn `.mtb` file is an initialization (ini) file which describes the test paths to run. The `Test{i}` parameter is typically used to specify multiple tests in one batch file.\n\nThe initialization file includes one `[Files]` section under which a unique `NumberOfFiles` key indicates how many tests are involved, followed by one or more keys `File{i}` representing the test paths.\n\nFor example, given the parameter `Test1=tests.mtb` with the following content of `tests.mtb` file, this tool will read the content of the file and parse two test paths:\n\n```ini\n[Files]\nNumberOfFiles=2\nFile1=C:\\\\tests\\\\test1\nFile2=C:\\\\tests\\\\test2\n```\n\n### \u003ca name=\"mtbx-file-refs\"\u003e\u003c/a\u003e.mtbx File References\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nAn `.mtbx` file is an XML file that describes the tests to run. Since this file is written in XML format, it provides more flexibility to specify the test paths together with additional settings such as test input parameters, data table, and iterations.\n\nThis tool supports expanding the string interpolations in the `.mtbx` file by replacing the well-known interpolated syntax `%xxx%` (Windows batch) and `${xxx}` (Unix shell) with the environment variables. For example, in the following sample, the interpolated string `%TEST_FOLDER%` will be expanded before reading the XML content with the value of the environment variable `TEST_FOLDER` if the environment variable is set and the real value could be `C:\\tests\\GUITest1` when the value of the environment variable `TEST_FOLDER` is `C:\\tests`.\n\nThere are two attributes that can specify the report location: `reportPath` and `reportExactPath`. The former is used to specify a base report directory in which a dynamic directory will be created for each test. The latter explicitly defines the report directory for that test which means the report assets will be saved to that exact path. If neither is specified, the `fsReportPath` parameter in the parameter file takes effect.\n\nIf the `Iterations` XML element is specified in the `.mtbx` file, the iteration **mode** is required and shall be one of the following values: `rngIterations`, `rngAll` and `oneIteration`. If the mode is set to `rngIterations`, the `start` and `end` attributes might be also specified to define the range. See the sample below for the usage of the test iterations.\n\n```xml\n\u003cMtbx\u003e\n    \u003cTest name=\"test1\" path=\"%TEST_FOLDER%\\GUITest1\" reportPath=\"${REPORT_FOLDER}\\GUITest1\"\u003e\n        \u003cParameter name=\"p1\" value=\"123\" type=\"int\"/\u003e\n        \u003cParameter name=\"p4\" value=\"123.4\" type=\"float\"/\u003e\n        \u003cParameter name=\"A\" value=\"abc\" type=\"string\"/\u003e\n    \u003c/Test\u003e\n    \u003cTest name=\"test2\" path=\"%TEST_FOLDER%\\GUITest2\" reportExactPath=\"${REPORT_FOLDER}\\my_reports\\test2\"\u003e\n        \u003cDataTable path=\"%TEST_FOLDER%\\GUITest2\\params.xlsx\"/\u003e\n        \u003c!-- run iteration 1 to iteration 3 --\u003e\n        \u003cIterations mode=\"rngIterations\" start=\"1\" end=\"3\"/\u003e\n    \u003c/Test\u003e\n    \u003cTest name=\"test3\" path=\"%TEST_FOLDER%\\GUITest3\"\u003e\n        \u003c!-- run all iterations --\u003e\n        \u003cIterations mode=\"rngAll\"/\u003e\n    \u003c/Test\u003e\n    \u003cTest name=\"test4\" path=\"%TEST_FOLDER%\\GUITest4\"\u003e\n        \u003c!-- run only one iteration --\u003e\n        \u003cIterations mode=\"oneIteration\"/\u003e\n    \u003c/Test\u003e\n\u003c/Mtbx\u003e\n```\n\n#### .mtbx XML Schema\n```xml\n\u003cxs:schema attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\u003e\n  \u003cxs:simpleType name=\"varType\"\u003e\n    \u003cxs:restriction base=\"xs:string\"\u003e\n      \u003cxs:enumeration value=\"Float\" /\u003e\n      \u003cxs:enumeration value=\"String\" /\u003e\n      \u003cxs:enumeration value=\"Any\" /\u003e\n      \u003cxs:enumeration value=\"Boolean\" /\u003e\n      \u003cxs:enumeration value=\"Bool\" /\u003e\n      \u003cxs:enumeration value=\"Int\" /\u003e\n      \u003cxs:enumeration value=\"Integer\" /\u003e\n      \u003cxs:enumeration value=\"Number\" /\u003e\n      \u003cxs:enumeration value=\"Password\" /\u003e\n      \u003cxs:enumeration value=\"DateTime\" /\u003e\n      \u003cxs:enumeration value=\"Date\" /\u003e\n      \u003cxs:enumeration value=\"Long\" /\u003e\n      \u003cxs:enumeration value=\"Double\" /\u003e\n      \u003cxs:enumeration value=\"Decimal\" /\u003e\n      \u003cxs:enumeration value=\"float\" /\u003e\n      \u003cxs:enumeration value=\"string\" /\u003e\n      \u003cxs:enumeration value=\"any\" /\u003e\n      \u003cxs:enumeration value=\"boolean\" /\u003e\n      \u003cxs:enumeration value=\"bool\" /\u003e\n      \u003cxs:enumeration value=\"int\" /\u003e\n      \u003cxs:enumeration value=\"integer\" /\u003e\n      \u003cxs:enumeration value=\"number\" /\u003e\n      \u003cxs:enumeration value=\"password\" /\u003e\n      \u003cxs:enumeration value=\"dateTime\" /\u003e\n      \u003cxs:enumeration value=\"datetime\" /\u003e\n      \u003cxs:enumeration value=\"date\" /\u003e\n      \u003cxs:enumeration value=\"long\" /\u003e\n      \u003cxs:enumeration value=\"double\" /\u003e\n      \u003cxs:enumeration value=\"decimal\" /\u003e\n    \u003c/xs:restriction\u003e\n  \u003c/xs:simpleType\u003e\n  \u003cxs:element name=\"Mtbx\"\u003e\n    \u003cxs:complexType\u003e\n      \u003cxs:sequence\u003e\n        \u003cxs:element name=\"Test\" maxOccurs=\"unbounded\" minOccurs=\"0\"\u003e\n          \u003cxs:complexType\u003e\n            \u003cxs:sequence\u003e\n              \u003cxs:element name=\"Parameter\" maxOccurs=\"unbounded\" minOccurs=\"0\"\u003e\n                \u003cxs:complexType\u003e\n                  \u003cxs:simpleContent\u003e\n                    \u003cxs:extension base=\"xs:string\"\u003e\n                      \u003cxs:attribute type=\"xs:string\" name=\"name\" use=\"required\"/\u003e\n                      \u003cxs:attribute type=\"xs:string\" name=\"value\" use=\"required\"/\u003e\n                      \u003cxs:attribute type=\"varType\" name=\"type\" use=\"optional\"/\u003e\n                    \u003c/xs:extension\u003e\n                  \u003c/xs:simpleContent\u003e\n                \u003c/xs:complexType\u003e\n              \u003c/xs:element\u003e\n              \u003cxs:element name=\"DataTable\" maxOccurs=\"1\" minOccurs=\"0\"\u003e\n                \u003cxs:complexType\u003e\n                  \u003cxs:attribute type=\"xs:string\" name=\"path\" use=\"required\"/\u003e\n                \u003c/xs:complexType\u003e\n              \u003c/xs:element\u003e\n              \u003cxs:element name=\"Iterations\" maxOccurs=\"1\" minOccurs=\"0\"\u003e\n                \u003cxs:complexType\u003e\n                  \u003cxs:attribute type=\"xs:string\" name=\"mode\" use=\"required\"/\u003e\n                  \u003cxs:attribute type=\"xs:integer\" name=\"start\" use=\"optional\"/\u003e\n                  \u003cxs:attribute type=\"xs:integer\" name=\"end\" use=\"optional\"/\u003e\n                \u003c/xs:complexType\u003e\n              \u003c/xs:element\u003e\n            \u003c/xs:sequence\u003e\n            \u003cxs:attribute type=\"xs:string\" name=\"name\" use=\"optional\"/\u003e\n            \u003cxs:attribute type=\"xs:string\" name=\"path\" use=\"required\"/\u003e\n            \u003cxs:attribute type=\"xs:string\" name=\"reportPath\" use=\"optional\"/\u003e\n            \u003cxs:attribute type=\"xs:string\" name=\"reportExactPath\" use=\"optional\"/\u003e\n          \u003c/xs:complexType\u003e\n        \u003c/xs:element\u003e\n      \u003c/xs:sequence\u003e\n    \u003c/xs:complexType\u003e\n  \u003c/xs:element\u003e\n\u003c/xs:schema\u003e\n```\n\n### \u003ca name=\"parallel-runner-vars\"\u003e\u003c/a\u003eParallelRunner Variables\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\nIn order to run tests in parallel mode, the ParallelRunner requires some settings for every test it runs. These settings are specified as one or more ParallelRunner variables by setting the `ParallelTest{i}Env{j}` parameter. For details of the `ParallelTest{i}Env{j}` parameter, see the remarks of that parameter.\n\n#### ParallelRunner Variables For Web Tests\nThe parallel runner for web tests is supported in OpenText Functional Testing 14.50 and later.\n\n| Variable | Values | Remarks |\n| ---- | ---- | ---- |\n| `browser` | Supported in OpenText Functional Testing **14.50** and later:\u003cbr/\u003e`CHROME`, `IE`, `IE64`, `FIREFOX`, `FIREFOX64`\u003cbr/\u003e\u003cbr/\u003eSupported in OpenText Functional Testing **14.51** and later:\u003cbr/\u003e`SAFARI`, `EDGE`, `CHROME_HEADLESS`\u003cbr/\u003e\u003cbr/\u003eSupported in OpenText Functional Testing **15.0.1** and later:\u003cbr/\u003e`CHROMIUMEDGE` | One of the browsers to launch when running the web test. |\n\n#### ParallelRunner Variables For Mobile Tests\nThe parallel runner for mobile tests is suppored in OpenText Functional Testing **14.03** and later.\n\n| Variable | Values | Remarks |\n| ---- | ---- | ---- |\n| `deviceId` | Mobile device ID | The device ID in UFT Mobile. For example, `TA99217E5A`. |\n| `manufacturerAndModel` | {manufacturer} {model} | The device manufacturer and model, separated by whitespace, for example, `motorola XT1096`. |\n| `manufacturer` | {manufacturer} | The device manufacturer, example, `motorola`. If `manufacturerAndModel` is provided then `manufacturer` is ignored.|\n| `model` | {model} | The device model, for example, `XT1096`. If `manufacturerAndModel` is provided then `model` is ignored. |\n| `osType` | `Android`, `iOS`, `Windows Phone` | One of the values represents the device operating system. |\n| `osVersion` | \\[\\\u003e\\|\\\u003e=\\|\\\u003c\\|\\\u003c=\\]{version} | The device operating system version. Can be a specific version like `10.0` or a range of versions like `\u003e=10.0`. For example: `osVersion:\u003e=10.0`. |\n\n### \u003ca name=\"fttools-launcher-samples\"\u003e\u003c/a\u003eSamples: FTToolsLauncher Parameters File\n#### \u003ca name=\"fttools-launcher-sample-1\"\u003e\u003c/a\u003eSample 1: Run one GUITest (File System)\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n```ini\n# Basic parameters\nrunType=FileSystem\nresultsFilename=Results18112020162709300.xml\n\n# File System parameters\nfsTimeout=3600\nTest1=C:\\\\tests\\\\GUITest1\n\n# Rerun parameters\nonCheckFailedTest=true\ntestType=Rerun only failed tests\nReruns1=1\n```\n\n#### \u003ca name=\"fttools-launcher-sample-2\"\u003e\u003c/a\u003eSample 2: Run multiple tests (File System)\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n```ini\n# Basic parameters\nrunType=FileSystem\nresultsFilename=Results18112020163345091.xml\n\n# File System parameters\nfsTimeout=3600\nTest1=C:\\\\tests\\\\GUITest1\nTest2=C:\\\\tests\\\\APITest3\n\n# Rerun parameters\nonCheckFailedTest=true\ntestType=Rerun only failed tests\nReruns1=1\nReruns2=1\n```\n\n#### \u003ca name=\"fttools-launcher-sample-3\"\u003e\u003c/a\u003eSample 3: Run test (File System) with multiple environments in parallel\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n```ini\n# Basic parameters\nrunType=FileSystem\nresultsFilename=Results18112020164009776.xml\n\n# File System parameters\nfsTimeout=3600\nTest1=C:\\\\tests\\\\GUITest1\n\n# Rerun parameters\nonCheckFailedTest=false\n\n# Parallel Runner parameters\nparallelRunnerMode=true\nParallelTest1Env1=browser:FIREFOX\nParallelTest1Env2=browser:IE\n```\n\n#### \u003ca name=\"fttools-launcher-sample-4\"\u003e\u003c/a\u003eSample 4: Run ALM test sets\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n```ini\n# Basic parameters\nrunType=Alm\nresultsFilename=Results18112020164301206.xml\n\n# ALM parameters\nalmServerUrl=http://10.105.32.108:8080/qcbin\nalmUsername=john\nalmPasswordBasicAuth=UEBzc1dvckQ=\nalmDomain=DEFAULT\nalmProject=myproj1\nalmRunMode=RUN_LOCAL\nalmTimeout=3600\nTestSet1=Root\\\\mydemo\\\\testset1\n```\n\n#### \u003ca name=\"fttools-launcher-sample-5\"\u003e\u003c/a\u003eSample 5: Run mobile test\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n```ini\n# Basic parameters\nrunType=FileSystem\nresultsFilename=Results18112020165019361.xml\n\n# File System parameters\nfsTimeout=3600\nTest1=C:\\\\tests\\\\GUITest5\n\n# Rerun parameters\nonCheckFailedTest=true\ntestType=Rerun only failed tests\nReruns1=1\n\n# Mobile Center parameters\nMobileHostAddress=http://10.52.108.99:8080\nMobileUserName=admin@default.com\nMobilePasswordBasicAuth=UEBzc1dvckQ=\nMobileTenantId=999999999\n```\n\n#### \u003ca name=\"fttools-launcher-sample-6\"\u003e\u003c/a\u003eSample 6: Run multiple test with .mtb file (File System)\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n```ini\n# Basic parameters\nrunType=FileSystem\nresultsFilename=Results18112020165526188.xml\n\n# File System parameters\nfsTimeout=3600\nTest1=C:\\\\tests\\\\config\\\\tests1.mtb\n\n# Rerun parameters\nonCheckFailedTest=true\ntestType=Rerun only failed tests\nReruns1=1\n```\n\n##### tests1.mtb File\n```ini\n[Files]\nNumberOfFiles=2\nFile1=C:\\\\tests\\\\GUITest1\nFile2=C:\\\\tests\\\\GUITest2\n```\n\n#### \u003ca name=\"fttools-launcher-sample-7\"\u003e\u003c/a\u003eSample 7: Run multiple test with .mtbx file (File System)\n\u003e Go to [Table Of Contents](#fttools-launcher-toc)\n\n```ini\n# Basic parameters\nrunType=FileSystem\nresultsFilename=Results18112020170251990.xml\n\n# File System parameters\nfsTimeout=3600\nTest1=C:\\\\tests\\\\config\\\\tests2.mtbx\n\n# Rerun parameters\nonCheckFailedTest=true\ntestType=Rerun only failed tests\nReruns1=1\n```\n\n##### tests2.mtbx File\n```xml\n\u003cMtbx\u003e\n    \u003cTest name=\"test1\" path=\"C:\\tests\\GUITest1\"\u003e\n        \u003cParameter name=\"p1\" value=\"123\" type=\"int\"/\u003e\n        \u003cParameter name=\"p4\" value=\"123.4\" type=\"float\"/\u003e\n    \u003c/Test\u003e\n    \u003cTest name=\"test2\" path=\"C:\\tests\\GUITest2\"\u003e\n        \u003cDataTable path=\"C:\\tests\\GUITest2\\Defaults.xls\"/\u003e\n        \u003c!-- run only one iteration --\u003e\n        \u003cIterations mode=\"oneIteration\"/\u003e\n    \u003c/Test\u003e\n\u003c/Mtbx\u003e\n```\n\n### \u003ca name=\"fttools-exit-code\"\u003e\u003c/a\u003eExit Code\nStarting from `v1.0.29.221` (`v1.0-beta-rev9`), the **FTToolsLauncher** tool returns one of the following exit codes:\n\n- **Passed: `0`**    \nIndicates that the **FTToolsLauncher** tool exited without error.\n- **Failed: `-1` (`0xFFFFFFFF`)**    \nIndicates that either a test run failed or an error occurred.\n- **PartialFailed: `-2` (`0xFFFFFFFE`)**    \nIndicates that some of the tests are **Failed** while others are **Passed** or **Warning**.\n- **Aborted: `-3` (`0xFFFFFFFD`)**    \nIndicates that the **FTToolsLauncher** tool was aborted.\n- **Unstable: `-4` (`0xFFFFFFFC`)**    \nIndicates that the final result is unstable. See details below.\n- **AlmNotConnected: `-5` (`0xFFFFFFFB`)** *- Introduced in `v1.0.30.1919` (`v1.0-beta-rev10`)*    \nIndicates that the **FTToolsLauncher** tool failed to connect to the **ALM** server.\n\nA test is considered unstable if:\n- At least one test result is **Warning** and all others are **Passed** _or_\n- One or more test results are **Failed** and after rerun all the rerun tests are **Passed** or **Warning**.\n\nBy default, the **FTToolsLauncher** tool returns the exit code **Passed** (`0`) when a test is unstable. This behavior can be changed by setting the `unstableAsFailure` parameter to `true` to return exit code **Unstable** (`-4`) which is an error code to the operating system.\n\n\n### \u003ca name=\"fttools-launcher-limit\"\u003e\u003c/a\u003eLimitations\nIn this release, the **FTToolsLauncher** tool has the following limitations:\n\n1. When setting the rerun times to more than one, the specified number of reruns is carried out even if one rerun passes. For example, assume that Test1 is configured to be rerun twice when it failed. The test will always rerun twice, even though the first rerun of Test1 already passed.\n\n2. When running tests in parallel mode, this tool only supports running one test with multiple environment settings in parallel and does not support running multiple tests in parallel. For example, you can run Test1 with two browsers like IE and Chrome in parallel, however, you cannot run Test1 and Test2 in parallel.\n\n\n## \u003ca name=\"fttools-aborter\"\u003e\u003c/a\u003eFTToolsAborter\nThe **FTToolsAborter** is a command-line tool that terminates any functional testing applications that are currently running tests on the same machine as this aborter tool.\n\nThis tool enables terminating the following functional testing applications:\n- **OpenText Functional Testing**\n- **OpenText Performance Engineering** (**LR**)\n- UFT ParallelRunner\n\nThis tool shall be used together with the [FTToolsLauncher](#fttools-launcher) tool. Make sure these two executable files are put in the same directory and the file name of the [FTToolsLauncher](#fttools-launcher) tool is **FTToolsLauncher.exe**.\n\n### \u003ca name=\"aborter-cmd-line-refs\"\u003e\u003c/a\u003eCommand Line References\n```batch\nFTToolsAborter.exe \u003cparameters file in key=value format\u003e\n```\n\n### \u003ca name=\"aborter-params-file-refs\"\u003e\u003c/a\u003eParameter File References\nThe **FTToolsAborter** command-line tool requires a parameter file that describes parameters in `key=value` format, one parameter per line. A good example is the **Java Properties** file.\n\nSpecial characters need to be escaped to enable the tool to properly load the paramters file. For example, if there is a parameter `Test1=C:\\\\tests\\\\GUITest1`, the path delimeters need to be escaped with `\\`.\n\n| Name | Type | Value | Remarks |\n| ---- | ---- | ---- | ---- |\n| **`runType`** | string | `FileSystem` _or_ `Alm` | [**Mandatory**] The type of test run to terminate. Use the same value as you did when launching tests with the **FTToolsLauncher** tool. |\n| **`almRunMode`** | string | *`RUN_LOCAL`* _or_ `RUN_REMOTE` _or_ `RUN_PLANNED_HOST` | [**Mandatory** if `runType` is set to `Alm`] The machine on which the tests are running. Use the same value as you did when launching tests with **FTToolsLauncher** tool.\u003cbr/\u003e\u003cbr/\u003eIf the mode is `RUN_REMOTE` or `RUN_PLANNED_HOST`, this aborter tool will **NOT** terminate any applications since tests are running remotely. |\n\n### \u003ca name=\"aborter-params-file-samples\"\u003e\u003c/a\u003eSamples: FTToolsAborter Parameter File\n#### \u003ca name=\"aborter-params-file-sample-1\"\u003e\u003c/a\u003eSample 1: Abort tests (File System)\n```ini\nrunType=FileSystem\n```\n\n#### \u003ca name=\"aborter-params-file-sample-2\"\u003e\u003c/a\u003eSample 2: Abort ALM tests\n```ini\nrunType=Alm\nalmRunMode=RUN_LOCAL\n```\n\n\n## \u003ca name=\"fttools-lr-analysis-launcher\"\u003e\u003c/a\u003eLRAnalysisLauncher\nThe **LRAnalysisLauncher** is a command-line tool that analyzes the OpenText Performance Engineering scenario run results (`.lrr`) and generates the analysis files (`.lra`) and HTML result file (`.html`).\n\nThis tool shall be used together with the [FTToolsLauncher](#fttools-launcher) tool and it is commonly triggered by [FTToolsLauncher](#fttools-launcher) while running OpenText Performance Engineering tests.\n\nMake sure the LRAnalysisLauncher tool and the [FTToolsLauncher](#fttools-launcher) tool are put in the same directory and the file name of the LRAnalysisLauncher tool is **LRAnalysisLauncher.exe**.\n\nIn order to run OpenText Performance Engineering scenario successfully, the **bin** folder (ie. *C:\\Program Files (x86)\\OpenText\\LoadRunner\\bin*) shall be added to system **Path** environment variable if it is not properly set automatically.\n\n\n## \u003ca name=\"report-converter\"\u003e\u003c/a\u003eReportConverter\nThe **ReportConverter** command-line tool is used to convert the OpenText Functional Testing test reports to other report formats like JUnit XML.\n\n### \u003ca name=\"report-converter-notes\"\u003e\u003c/a\u003eImportant Notes\n- This tool can only convert the report XML file `run_results.xml` which is generated in OpenText Functional Testing with the **HTML Report** report format option enabled.\n- This tool doesn't require the installation of OpenText Functional Testing.\n\n### \u003ca name=\"report-converter-cmd-line-refs\"\u003e\u003c/a\u003eCommand Line References\n```batch\nReportConverter \u003coptions\u003e \u003cinput-folder\u003e\n```\n\nTo convert the OpenText Functional Testing report XML file to the JUnit XML report:\n```batch\nReportConverter -j \u003coutput-junit-file\u003e \u003cuft-test-report-folder\u003e\n```\n\nAs of ReportConverter `1.0.20.2003`, you can convert multiple OpenText Functional Testing report XML files to an aggregate JUnit XML report:\n```batch\nReportConverter -j \u003coutput-junit-file\u003e --aggregate \u003cuft-test-report-folder-1\u003e \u003cuft-test-report-folder-2\u003e ...\n```\n\nRun `ReportConverter -h` for the details of the command usages.\n\n### \u003ca name=\"report-converter-samples\"\u003e\u003c/a\u003eSamples\nSample 1: In this example, ReportConverter reads the `run_results.xml` file in the specified folder `GUITest1\\Res2\\Report` and converts the report to the JUnit XML file at `out\\junit_report.xml`.\n\n```batch\nReportConverter -j \"out\\junit_report.xml\" \"GUITest1\\Res2\\Report\"\n```\n\nSample 2: In this example, ReportConverter reads the `run_results.xml` files in the two specified folders and converts those two reports to one JUnit XML file at `out\\junit_report.xml`.\n\n```batch\nReportConverter -j \"out\\junit_report.xml\" --aggregate \"GUITest1\\Res2\\Report\" \"APITest5\\Report3\"\n```\n\n\n[alm-api-key-management-url]: https://admhelp.microfocus.com/alm/en/latest/online_help/Content/Admin/api_keys_toc.htm\n[parallel-runner-before-start]: https://admhelp.microfocus.com/uft/en/latest/UFT_Help/Content/User_Guide/parallel-test-runs.htm#mt-item-1\n[msdoc-list-of-langauge-region-names-supported-by-windows]: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c\n[bcp47-url]: https://tools.ietf.org/html/bcp47\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrofocus%2Fadm-ft-toolslauncher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrofocus%2Fadm-ft-toolslauncher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrofocus%2Fadm-ft-toolslauncher/lists"}