Forum Discussion
Hi dikshika114
Thanks for adding clarity.
In that case using 4 separate Variable values as mentioned already will work.
https://support.smartbear.com/testcomplete/docs/testing-with/variables/index.html
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 🙂
https://support.smartbear.com/testcomplete/docs/keyword-testing/parameters.html
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
KR
Vincent
Hi vinniew
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?
- ebarbera5 years ago
Staff
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!
Thanks,
Emma
- vinniew5 years ago
Staff
Hi dikshika114
I think there is a misunderstanding.
I said to use 4 separate variable values/ Test Parameters.
This will ensure each test will use a different value
test1 - variable value 1 - parallel session 1
test2 - variable value 2 - parallel session 2
test 3 - variable value 3- parallel session 3
test 4- variable value 4- parallel session 4
With regards deleting from the data base, this is done in an iterative basis.
Either done prior to running a test, or after you run the test.
The key is when you run the test you will not be blocked from using that same variable/parameter again.
As mentioned before also would be a set variable value using a code expression mode
Using say reg ex or something similar you could add generate values to be added and avoiding the deleting from the DB but it means lots of test data in your DB.
Hope this clarifies any confusion on the approach I suggested
KR
Vincent
- ebarbera5 years ago
Staff
Hi dikshika114 -
Great thank you!
function UniqueUserDatanew()
{
Project.Variables.UniqueUserNum = ++Project.Variables.UniqueUserNum
Project.Variables.UserEmail = "testuser" + Project.Variables.UniqueUserNum
}This is an example of the script - in order to make this work you will have to add the project variables at the project level - (same approach can be used for username)
In your test you will have to run the script routine at the start of the test to generate the unique values - and then change out the constant values for the variables:
Please let me know if you have any questions or if part of this doesnt make sense.
Thanks,
Emma
- ebarbera5 years ago
Staff
Hi dikshika114
In this case my two ideas would be to use a random number function for a portion of the email. Also you could try using logic to determine which browser is running and having unique versions of the email address per user.
Let me know if you have further questions.
Emma - dikshika1145 years agoContributor
- dikshika1145 years agoContributor
Hi ebarbera
I have implemented the code and the suggestion that you provided but it's not working.
It's taking same value for different browsers like Chrome, Edge and Firefox while running parallelly with CBT.
Due to which my script is passing only for one browser and failing for other two. Because duplicate email can't save in my system.
Eg: UserEmail = testUser5@gmail.com for all three browsers. So, my problem is not solved.
I want 3 values parallelly like:
Chrome: UserEmail = testUser5@gmail.com
Firefox: UserEmail = testUser6@gmail.com
Edge: UserEmail = testUser7@gmail.com
I need Different value for different browsers that are running parallelly.
Thanks
Dikshika
- dikshika1145 years agoContributor
Hi ebarbera
1. Can you explain the Random number function?
2. Can you please provide a detail exaple with sample script for your second thought?
3. How can we check, which current browser is running on remote with CBT to apply the TestData Conditions accordingly???? ebarbera
Like How much variables i will have to create for that?
and How it will work for 3 browsers?
Thanks