Global Parameters per Run Configuration
As a tester I want to re-use the same tests on different environments. This would be possible if I could create a Test Run with it's own parameters. The Global Variables are currently bound to the Test Suite and therefore re-using the same tests for different environment is practically impossible. If the Global Parameters are bound to the test run the problem would be solved.
Chuck Firment commented
This would be exceptionally helpful for me as well. Being able to change all variables using the Run Configuration would eliminate a ton of nested smart folders. There are many places in our AUT that differs between customers and we're handling the changes with smart folders and variables.
Having Global Variables change with Run Configuration is what is needed to handle this properly.
If you view the test solution as an application, then the global parameters are the aplication arguments. A run configuration is then a distinct set of values for the applicaton arguments.
Changing the selection of tests by switching the run configuration hides the risk of accidentally checking in one's testcase selection (run configuration) which you only created to try out something. Rolling back a testcase selection (run configuration) is nearly impossible. It needs to be more controllable. I.e. if in the Manage Run Configurations dialog one could actually see what is the difference between these configurations.
We have two axes here: parameters and testcase selection. By changing testcase selection (or even reordering the tests) you can create test sets for different purposes, like smoke test, single component test, etc. By changing the global parameters you usually can control environments, like the baseurl (production, stage, developement, etc), and other things which are different between the environments.
I tend to think there should be some sort of an elaborated run configuration management dialog, where you can focus on reviewing and configuring the global parameters and run order/selections. So you are fully focused and aware of what you are doing. You shouldn't need to touch anything on the testsuite interna to change run configuration. So that the run configuration management could be performed even by a person which is not so into the internals of the test development. Like a test manager or the customer. So the test developer can say take this test solutiion create new run configuration, changing these and that global parameters, and testcase selection, and you are fine. Incremantal developing a test solution would also get easier, you could have your "tinkering" run configuration separated from your productive run configuration. And if you want to release a new test/testsuite you add it to the baseline run configuration.
Also adding my vote for this enhancement.
I want to define individual Run Configurations inside Studio which save a global parameter with a default URL of the environment I want to run the test suite against.
This global var is defined at the Test Suite level:
https://<full.domain> --------> in each Run Configuration, I would change this value.
local variable defined in OpenBrowser module and bound to global
When I run from the DevOps pipeline task, I'm passing in the parameter with the environment.
This is for when I'm testing a test suite from within Studio only. (I am aware there are command line options.This enhancement request is specific to running from within Studio.)
I've just had this feature request crop up in my own usage of Ranorex Studio. We test a few different flavours of our application. I've setup a Run Configuration for each flavour. I've also got a few Global Parameters which I feed into certain Code Modules to adjust various things. The tests are generic, but they need a little bit of guidance to the product flavour under test.
Say one of our QA team wants to run the tests from Ranorex Studio. They can easily select the correct Run Configuration from the drop-down list, but they're going to forget that they also have to customise a few Global Parameters *at the same time*. As the developer of these tests it's likely that I'm the only person that implicitly knows what needs updating.
Sure, we can do this via the command-line tools, but they're even less likely to use the command-line tools, and they still need to remember to update the Global Parameters that change.
I just want certain Global Parameters to be associated with the Run Configuration so that when I change one important/obvious thing (RunConfig) other tightly associated parameters change at the same time.
Alex Crocker commented
My use case is simple: I want to be able to enter something like the version number, and have it be global across all test suites in the test run configuration. We have a single version number that is present across multiple AUT's
Tolga Aydemir commented
No improvement here?
I guess the scenario is when you do _not_ start the solution through a command line (why would you do so while developing). We have multiple global parameters which are different from environment to environment. So changing everyone of them everytime we want to check if something is broken on another environment is kind of annoying.
And yes i know the possibilities through the commandline and jenkins but our scenario is _while_ developing through ranorex studio...
thanks in advance
I am afraid I don't understand the original problem behind your idea. Different values for the same global parameter can be handed over to the test case by addressing the global parameter via the command line (e.g. /pa:globalParameterName="VALUE").
To better understand your problem, can you please describe your scenario? Thank you.
Tolga Aydemir commented
i really do not know why the global/local variables and datasources are not bound to a run configuration. it seems so logical to me. it would make the project management a lot easier.