Filling forms with random numbers in Katalon Studio
If you’re filling in forms, inevitably there will be a need to use random numbers. For me, since I’m dealing with a sales dashboard, this means entering dollar figures and percentage values. It’s certainly possible to enter the same figure over and over again, but it’s just as easy to use a few lines of code and generate some random data.
A basic form of the random number command can look like this:
randomNumber=rnd.nextInt(10) – A random number between 0 and 10
This will create a simple random number between 0 and 10. That unto itself is quite fine and can be used for any number of applications. It could be appended to the end of text to make a Title, Subject or similar a little more random. It’s a good start, but there is certainly more that can be done.
To return my example, I want to enter sales figures that range from 100,000 to 250,000. I also want to enter percentages that range from 3 to 15 percent.
There are basically two lines to creating a random number. The first is to initialize the random number. The next is to define the random number within the range. To create the two numbers I want for the form, I can use these lines:
Random rnd = new Random() – Initialize the random number generator
randomNumber = (10000 + rnd.nextInt(250000)) – Pick a number between 10,000 and 250,000. This is my sales figure.
randomNumber = (1 + rnd.nextInt(15)) – Pick a number between 1 and 15. This is my margin figure.
When I want to fill down the table, I can use a SetText command similar to the following: WebUI.setText(findTestObject(‘Page_/Sales Plan Budget/New Prospect/Category Margin Column’, [(‘Variable’) : loop]), String.valueOf(randomNumber))
To break down the parts of the command.
We first have the SetText command
Next comes the Object with the reference to where the fields exists on the page
Since I have two columns of numbers, I will use a loop (from 1-10) to go down the page. This is followed by passing the value of the loop counter into the XPath reference, for example (tr[loop]td)
Finally, the text of the random number is passed. For the site I’m working with, I need to convert this to a string in order for it be accepted correctly. The String.ValueOf() passes the random number as a string.
There are dozens and dozens of variations on how to create a random number. Some examples use functions while others are set up to create “more randomness”. For entering a number into a sales field, this example is more than sufficient and while those other examples are neat, they overly complicate the matter.