TestOps Global Variable override during runtime

We use this feature in Katalon to pass credentials and url’s at startup to our project Global variables and Execution profile | Katalon Docs This has stopped working in TestOps with generated commands some time ago.

I like to know if there is any other way to schedule test suite (collections) in testops with custom global variable values

Long time no see Rudy, I have done some research:

At present, a TestOps schedule cannot supply arbitrary runtime -g_ / -p_ global-variable overrides to the generated KRE command. Those flags are supported by Katalon Studio/KRE, but TestOps-generated/scheduled commands do not expose a per-run parameter-injection field.

The supported TestOps-native option is to create execution profiles (for example, staging, qa, prod) and select the required profile for each suite in the suite collection, then schedule the appropriate profile/collection. Keep secrets as protected variables.

If the URL/credentials must vary for every scheduled run, run KRE from your CI scheduler instead (Jenkins, GitHub Actions, etc.) and provide -g_<name>=... for regular globals or -p_<name>=... for protected globals. You can still upload/report that run to TestOps. This keeps secrets in the CI secret store rather than in the project or schedule.

We have done it many times this way in the past using our cloud execution runners in TestOps, and only since recently this stopped working. We have ephemeral QA environments, that have unique URLs every time. We cannot schedule tests sequentially for multiple environments if we have to create or configure execution profiles for every environment. It is simply not possible.

Thank you for clarifying, you’re actualy right. For ephemeral QA environments, creating and maintaining an execution profile per URL is not a workable alternative, particularly when runs need distinct runtime values.

Because this previously worked through TestOps cloud execution runners and has since stopped, we will treat it as a regression in the generated-command/runtime-override flow.

Could you please share a redacted example (if possible) of the command that previously worked and one that now fails, along with the affected execution IDs and approximate date it changed? This will help us investigate the change and confirm the expected behavior for -g_/-p_ overrides.

In the mean time you can create a support ticket to our portal: https://katalon-inc.my.site.com/support/

We will share more updates as well

Bella

somewhere around the first of July this stopped working

profile-based approach does not scale well when every test run uses a newly created environment, because creating a separate profile for each temporary URL is impractical..

Recommended workaround

Use a CI/CD pipeline to:

  1. Create or identify the temporary environment.

  2. Store its URL and credentials in the CI secret store.

  3. Run KRE with the appropriate -g_ or -p_ arguments.

  4. Publish the execution results to TestOps.

Example:

katalonc -runMode=console \
-projectPath="MyProject" \
-testSuitePath="Test Suites/Regression" \
-executionProfile="default" \
-g_baseUrl="$EPHEMERAL_URL" \
-p_username="$TEST_USERNAME" \
-p_password="$TEST_PASSWORD"

Use -p_ for protected values so they are not exposed in logs; Katalon documents both prefixes for runtime overrides

does this example solve your issue @rudy.nutbeij ?