# Random Test Data Generator

**URL:** <https://forum.katalon.com/t/random-test-data-generator/6747>\
**Category:** Miscellaneous\
**Tags:** katalon-studio\
**Created:** [May 15, 2017, 9:34am UTC](https://forum.katalon.com/t/random-test-data-generator/6747 "2017-05-15T09:34:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hari\_Charan](https://avatars.discourse-cdn.com/v4/letter/h/a88e57/32.png) [@Hari\_Charan](https://forum.katalon.com/u/Hari_Charan)\
**Post date:** [May 15, 2017, 9:34am UTC](https://forum.katalon.com/t/random-test-data-generator/6747/1 "2017-05-15T09:34:44Z")

</div>

This is a suggestion, to have random test data generator built-in keywords. I usually use loremipsum for test data rather creating sheets in excel. I would suggest to use below code which I have created as custom keyword. This may help others as well.  
Here’s the maven dependency  
[https://mvnrepository.com/artifact/com.thedeanda/lorem/1.2](https://mvnrepository.com/artifact/com.thedeanda/lorem/1.2)

package randomData

import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint  
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase  
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData  
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject

import com.kms.katalon.core.annotation.Keyword  
import com.kms.katalon.core.checkpoint.Checkpoint  
import com.kms.katalon.core.checkpoint.CheckpointFactory  
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords  
import com.kms.katalon.core.model.FailureHandling  
import com.kms.katalon.core.testcase.TestCase  
import com.kms.katalon.core.testcase.TestCaseFactory  
import com.kms.katalon.core.testdata.TestData  
import com.kms.katalon.core.testdata.TestDataFactory  
import com.kms.katalon.core.testobject.ObjectRepository  
import com.kms.katalon.core.testobject.TestObject  
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords  
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords

import internal.GlobalVariable

import MobileBuiltInKeywords as Mobile  
import WSBuiltInKeywords as WS  
import WebUiBuiltInKeywords as WebUI  
import com.thedeanda.lorem.Lorem  
import com.thedeanda.lorem.LoremIpsum

public class TestDataGenerator {  
public static Lorem lorem = LoremIpsum.getInstance();

@Keyword  
public String getRandomParagraphs(int a, int b) {  
String ranPar = lorem.getParagraphs(a, b);  
return ranPar;  
}  
@Keyword  
public String getRandomName(int a, int b) {  
String ranPar = lorem.getName().replaceAll(“[^a-zA-Z]+”, “”);  
return ranPar;  
}  
@Keyword  
public String getRandomFemaleName() {

String ranPar = lorem.getNameFemale().replaceAll(“[^a-zA-Z]+”, “”);  
return ranPar;  
}  
@Keyword  
public String getRandomMaleName() {

String ranPar = lorem.getNameMale().replaceAll(“[^a-zA-Z]+”, “”);  
return ranPar;  
}  
@Keyword  
public String getRandomFirstName() {

String ranPar = lorem.getFirstName().replaceAll(“[^a-zA-Z]+”, “”);  
return ranPar;  
}  
@Keyword  
public static String getRandomLastName() {

String ranPar = lorem.getLastName().replaceAll(“[^a-zA-Z]+”, “”);  
return ranPar;  
}  
@Keyword  
public String getRandomCity() {

String ranPar = lorem.getCity().replaceAll(“[^a-zA-Z]+”, “”);  
return ranPar;  
}  
@Keyword  
public String getRandomHeading(int numberofWords) {

String ranPar = lorem.getTitle(numberofWords);  
return ranPar;  
}  
@Keyword  
public String getRandomHeading\_two(int Wordsfrom, int wordstwo) {

String ranPar = lorem.getTitle(Wordsfrom, wordstwo);  
return ranPar;  
}  
@Keyword  
public String getRandomEmail() {

String ranPar = lorem.getEmail();  
return ranPar;  
}

---

<div class="post-metadata">

**Author:** ![Ha\_Nguyen](https://avatars.discourse-cdn.com/v4/letter/h/54ee81/32.png) [@Ha\_Nguyen](https://forum.katalon.com/u/Ha_Nguyen)\
**Post date:** [May 15, 2017, 10:15am UTC](https://forum.katalon.com/t/random-test-data-generator/6747/2 "2017-05-15T10:15:46Z")

</div>

Hi there,

Thanks for your suggestions. We will consider it. By the way, it will be better if you can format your code so that we can read it easily by put them between ` `

Regards

---

<div class="post-metadata">

**Author:** ![anama2205](https://avatars.discourse-cdn.com/v4/letter/a/a88e57/32.png) [@anama2205](https://forum.katalon.com/u/anama2205)\
**Post date:** [February 14, 2019, 2:26pm UTC](https://forum.katalon.com/t/random-test-data-generator/6747/3 "2019-02-14T14:26:17Z")

</div>

Hi!!! I already installed the External library lorem, and imported the pakage randomData, but I don’t know how to implement the keyborard CustomKeywords.‘randomData.TestDataGenerator.getRandomEmail’()  
Could you give me some example?

Regards!!!

---

<div class="post-metadata">

**Author:** ![anama2205](https://avatars.discourse-cdn.com/v4/letter/a/a88e57/32.png) [@anama2205](https://forum.katalon.com/u/anama2205)\
**Post date:** [February 14, 2019, 7:02pm UTC](https://forum.katalon.com/t/random-test-data-generator/6747/4 "2019-02-14T19:02:10Z")

</div>

I found the solution WebUI.sendKeys(findTestObject(‘Test/Home/FormFooter/input\_email’), CustomKeywords.‘randomData.TestDataGenerator.getRandomEmail’())

That’s it!
