The use of variables is critical to testing. This session shows how you can use data sets as variables and link them to your test cases. This powerful feature in testRigor will help execute more tests by just specifying more test data.
Here’s the transcript for your convenience:
Connie Lund: Hello, everyone and welcome to our second Tips and Tricks session for March 23. Today’s topic is the use of data sets in test automation and, variables are critical to your testing. So CEO of testRigor Artem Golubev is going to do the presentation today. Please ask questions. You can put them in the chat or in the question section. Our goal is to answer your questions too. So Artem take it away.
Artem Golubev: Hello everyone, and today’s topic will be about test data sets. Basically, what do you need test data sets for example you need to have different versions of values for some forms. That’s the number one most common use case or do some other things which are almost the same except like one thing is changing for your test or several things are changing. And it is better to have one test with a test data set. It’s just go through all of these data. Obviously it’s easier for you to just have a load application and test. So it’s just one test with parameters and when you modify a test data set in order to be able to deal with it and for that I’ll share my screen and show you an example on this wonderful website.
Someone has created a QA playground and it has lots of good examples.
So it should cover below the dynamic table and then, expertly call this hand and then a table and here we want to validate that our Ironman status is active check that the table at the row containing “Ironman” and column “Statues” contains “Active”. All right, great. And the original one has mini web apps.
All right. We’ll go to test data. We switch to data sets. And we’ll click add to add new data set, and we need to give a name to this data sets, and we’ll call it types of rendering. So we have created data sets. Rendering has variables and rows. Variables are columns. So these are the variables which will have different values and data sets. And let’s add one. Text hidden would be applicable for passwords and files clearly, to upload files.
Connie Lund: The question is, how many characters can a row name have, so that you can put them…?
Artem Golubev: No I don’t believe row name have a limitation because very large limitation like files or some characters.
Connie Lund: So then you can put a longer name in, that makes sense.
Yeah, it looks like maybe [Unintelligible] application but the test have Issues consistently with CSS specifically. Well, I guess we found issues related to rendering of the application is CSS. Let me Make sure [inaudible] it’s really clicking on the right place. And oh, no. It’s been clicking somewhere else. It should be tailwind-CSS. Okay, so there it goes, we find out what’s going on. It just didn’t clicked on the right thing. So we should say tailwind-CSS as we go back to the data set, go to rows for CSS version instead of CSS type the tailwind-css and that should fix it so I’ll go back let’s remove additional browser that will run it a bit faster. Let’s open the app in a new tab and let’s see how all of that executes. It’s all succeeded this time we are be able to identify the issue of our data. And you click tailwind CSS now. And this is an example of how you would use the data sets in testRigor, as you have seen already, you can also use a combination of multiple browsers and data sets and it will end up being Cartesian multiplication. So we have the combinations of all browsers if all data in data sets for each of the browsers.
Each of the browsers will run all data and data sets. So exactly as you would expect for tests and it’s very easy to deal with or here you can see all those executions on one page. Or you can just switch between them and here and see how each of them performed. So this is how you work with test data sets. The Do you have any questions? Does anyone have any questions?
Connie Lund: So if you have questions, please ask. Peter’s asking, Can you click variable contains vs equals. Is there an option for that? Artem I think you’re on mute.
However, you can force it to match if you use the word of exactly you can say click exactly mini web apps and it will match both case sensitive and full string. Okay, so why did we not use when we click on CSS, providing they work?
It looks like it’s because the element below had a CSS as a full string server and because CSS full string would have like higher match, right because it’s a full string match. It would prefer to select their full string match as opposed to partial match, like in CSS, in order or to overcome that is what you needed to do is just made it full string CSS.
Connie Lund: So Peter, your mic is open. If you’d like to ask more questions.
Guest: No, no, I was just a little confused when it didn’t pick it up. So what did it show your res CSS when it when it looked at it? Or did it…
Artem Golubev: It did highlight it if you remember, so we can get back to it and see what it highlighted.
Guest: What did it highlight so when it was looking for this CSS when it couldn’t find it?
Artem Golubev: It’s just basically two precedents compared to CSS here, because CSS is the full string match versus CSS. Therefore, it prefers to click in here as opposed to clicking here. Nevertheless, this is why we have we had to specify this CSS.
Guest: Got you. Now I wanted to click… Okay. All right. Thank you.
Artem Golubev: Okay, is there anybody else that has questions?
Guest: So I’m just kind of curious the data like we can put multiple users in the variable in this dataset and cycle through those users?
Artem Golubev: Yeah, that’s a great use case to do that. So basically, in that case, what you do is you create a data set, let’s call them users. So mind you, you can just upload the data from a CSV. So you can just create the CSV data what let’s just create some rows manually and we go ahead to create some variables first. First will be username. And another variable would be hidden password.
Guest: So when you when you say hidden password, so when the test case runs through testRigor. We’ve seen where the password seems to be displayed in the steps. Does it gets hidden in the script as well as steps in the test case when it executes.
Artem Golubev: Yes, it will be hidden across board. It will be basically indicating that it is the password and should not be shown, unless of course it will pop up on the screenshot, right? If you’re entering into open field, then you will be able to see it.
Guest: Yeah assuming it’s masked or whatever when you entered in the password.
Artem Golubev: Yes, it shouldn’t be in this case. Anyway, that would be user one and, as you can see, it has username and password and let’s add another row called user two. And call it user two and, as you can see, are two users here so you can use these datasets or run stuff for two users.
Guest: You can technically use this for like load testing?
Artem Golubev: Absolutely. Yes. So keep in mind, though, in a load testing you may have more prioritizations when you have users you might have just like 10 users, but you’re running it on 1000 servers. So they will then run the issues or multiple times.
Guest: Yeah, exactly. But there is some form.
Artem Golubev: This is exactly what you would expect us to do. Because like if you have more prioritizations for load testing, you need to be able to use those even though you might not necessarily have all the users available.
Guest: Is there a limit number of variables you can have on a row?
Artem Golubev: No. Certainly not.
Connie Lund: All right. Is there any other questions from Peter or anyone else? Anything else that you want to add Artem about use cases for data sets and variables?
Artem Golubev: Yes, the major thing is, tying different forms with different values. This is probably the most common use case you could also use to validate for example, different types of sampling if you have drop down of type and you can do that. That’s most prevalent as you can see, up. Here is more a little bit more complex case where you use different buttons and different options. Where to go different paths even because we click on different methods. Okay. Well, that wraps it up from my side.
Connie Lund: All right, we’ll wrap up this session. Thank you, Pete and everyone for attending. And we’ll have our next session next Wednesday at this time again, thank you everybody for attending. Have a good day.
Guest: Thank you.
Artem Golubev: Thank you. Bye.