I would like to know if it is possible to use prerecorded objects, inserted in a csv file, to run data driven testing.
To clarify, what I am trying to do is repeat a test case (which executes an online order), inserted in a test suite, and select a new object every time without needing to hard code the object in the code.
I know how data driven testing works, how to bind the data to the test suite and set global variables. But I do not know what should be inserted in the csv file. Is the object’s name enough?
Difficult to understand what you mean. Could you show us an example CSV file you designed?
The idea behind it is to be able to have a combination of buttons to click on from the excel file inside the test case. The buttons are saved in the object repository, but I don’t know that to insert in the excel file that I then import to the test suite as database. The name does not seem to be enough.
Do you want to make buttons on an Excel sheet?
What? Have you managed to make a Test Object which creates a button on an Excel sheet? I do not kow how to.
This one sentence seems indicating what you want to achieve.
Do you want to select a Test Object which you want to apply to a test case by choosing and clicking one of the buttons displayed on an Excel sheet?
Do you want an interactive graphical user interface (GUI, modal dialog, etc) with which you can choose one of the test objects to apply to the test case?
As far as I know, nobody has ever tried it, no way to achieve it.
I am so sorry I have so many difficulties explaining what I want to do.
So I am trying to make a phone contract order with a smartphone.
There are 3 different tariffs and 30 smartphones.
I would like to create a combinations of tariffs and smartphones to order in a test suite.
To do that I was wondering if I could use an excel file as “data-base” for the clickable elements of the tariffs and smartphones.
The elements are captured in the repository folder in Katalon using the WebSpy object. Is it possible to insert those in the excel file, which will be the source to the test suite, one column for the tariff and one for the object so that the test suite keeps repeating and extracts the element to be selected from the excel file.
Yes I think that summarises what I want to do.
For example when you test the login process you can insert different emails and passwords in an excel file and use them as an input to the variables in your test case. So instead of hard coding the variables you can assign them with which run. I was wondering if it is possible to do the same thing with the “click” action. The object elements to be clicked are inserted in the excel file and passed as variable to the test case each time this repeats.
How about the following approach?
- You have a set of Test Objects which points a range of tariff and a range of phone types.
- You create a set of Execution Profiles, each of which corresponds to a type of tariff and a type of phone. There could be many Profiles; a hundred?
- You create a Test Case which read
GlobalVariable.phone_typefrom the Execution Profile which is applied to the test case when it is invoked.
- You create a Test Suite which just encapsulates the test case.
- You create a Test Suite Collection. In the Test Suite Collection, you enumerates every possible combination of the Test Suite and the Execution Profiles. If you have 100 Profiles, then you would have 100 lines of Execution Profiles and Test Suite combination, which is effectively equal to the combinations of the Execution Profiles and the Test Case; which is equal to the combination of the Test Objects and the Test Case.
- In the Test Suite Collection definition GUI, you find a toggle button by which you can choose ON/OFF for each line.
You can use this toggle button to chose which cases to include, which cases to exclude in a test run. This toggle button is, as far as I know, the only interactive GUI component offered by Katalon Studio for users to configure the test composition runtime.
- I do not use Excel here, because Katalon Studio can not utilize Excel as an interactive GUI.