Run Script with CBT (Parallelly) after using different data from excel
Is it possible to do that?? If yes, what would be the Best way to do it??
Hope you are well.
Data driven loops will run the sessions in parallel but use the same data.
To best ensure each session use different data then I would recommend maybe using parameters or even a table variable in TestComplete.
This may involve some duplication as each test will need to reference a different table variable.
The great thing about parameters is that they can be called on execution(say your parallel execution group) or parsed into a test however Parameters are configured in TestComplete rather than an excel value.
See here for more information
Hope that helps
Like Vincent said you could do this through Data driven testing, I think it would be easiest through a TestComplete table variable, where you can use the data generator to generate dynamic data. https://support.smartbear.com/testcomplete/docs/testing-with/data-driven/generators/index.html
I have lot of values that i saves uniquely in the system. So, i just want to specify these values at one place that could easily be changed before start execution like in excel file.
Unable to understand the way, how it can be called differently while Parallel execution with CBT. (I have configured the Browser and Platforms in Execution Plan Like shown in Screenshot)
Please explain the way somewhat deeply. How can i do that. Because i have no idea about that.
Attaching the screenshot of my excel file also where data is separated with test case and the field names which i want to change for every browser which are running parallelly.
Please provide a straight away sample script to achieve that.
Can I ask what is the significance of using different data in each parallel session?
How does that affect your approach to functional testing?
If it is an absolute requirement, I would recommend the following:
- Create 4 table variables using the structures you have referenced in excel.
You will need to manually create 4 variables, with each type as table
- Create 4 of the same tests but with a different name and put them into the parallel group
-Each test will refer to a different table variable on execution in CBT
As I have mentioned already, this approach requires some more maintenance however if its required then this will achieve it for you.
Hi @ebarbera The requirement is: Data can be used once.
You can understand it in that way like: we can't register for Gmail with a same email ID. Means Email ID or user name can't be duplicate in the system.
Thanks for adding clarity.
In that case using 4 separate Variable values as mentioned already will work.
You may want to run a script against the DB to delete the registered users after running the test or before you run the next iteration of tests.
This will reduce the amount of dummy data generated on your DB and reduce duplication of data meaning you can use the same data in each time you run a test.
Also that script execution can be included in Testcomplete runs if needed.
You can manually do this too if it suits however doing the above approach could also enable you use parameters too as they would be deleted from the DB 🙂
One last option to consider would be using a set variable value operation.
Here you could grab a value, say an onscreen value and setting a value using using Mode: code expression, you could parse or add context to the email being used.
Here is some info on code expressions
Set variable value operation
So it looks like you have a couple of approaches to achieve this
Try them out and see how you get on
As you said, "delete the registered users after running the test or before you run the next iteration of tests." It's not possible when test cases
are running parallelly with CBT.
Take an Example:
Location City State
United States US US
This data is using by Chrome, Edge, Safari, Firefox Parallelly. Then it can be possible like anyone can save it first and then the script for other 3 browsers will fail because we have a validation there like: Location Can't be duplicate. So.......... Other 3 are getting failed. So, how can i handle that.
Please specify exact steps. I am trying it with table variable but i think i didn't reach to the exact path.
Also, unable to understand how can i use data generator?
Hi @dikshika114 -
I would actually recommend in this case writing a short script to generate unique data each time - which is your language of choice? I can write an example for you. In this case you will not have to delete any records!