如何将随机生成的测试数据从一个测试步骤传递到另一测试步骤

时间:2019-10-23 04:15:30

标签: java selenium

我们有一个自动化框架,该框架使用excel表作为测试数据。 为了减少创建测试数据文件的工作,我使用Java伪库生成随机数据。我的问题是,我必须将这些随机生成的测试数据传递给将这些数据与数据库进行比较的其他测试步骤。 测试数据文件具有以下字段: 1.名字 2.姓氏 3.地址 4. orderid..etc 这些数据是随机生成并输入网站的。

我试图将所有随机数据存储在文本文件中。但是我只是想避免读取.txt文件经过每一行以及将值与数据库进行比较。 文本文件看起来像- 测试用例1 |名称-1 |地址-1 |订单ID-1 测试用例2 |名称-2 |地址2 |订单ID-2 等。

还有其他方法可以存储这些值并与数据库进行比较吗?

1 个答案:

答案 0 :(得分:1)

只需将一个bean创建为:

public class TestData {

public static String FirstName;
public static String lastName;
public static String Address;
public static String orderid;
public static String getFirstName() {
    return FirstName;
}
public static void setFirstName(String firstName) {
    FirstName = firstName;
}
public static String getLastName() {
    return lastName;
}
public static void setLastName(String lastName) {
    TestData.lastName = lastName;
}
public static String getAddress() {
    return Address;
}
public static void setAddress(String address) {
    Address = address;
}
public static String getOrderid() {
    return orderid;
}
public static void setOrderid(String orderid) {
    TestData.orderid = orderid;
}

}

您可以使用直接变量,因为我已经将它们设置为公共变量或getter / setter。 由于该变量是静态的,因此您可以使用className将它们称为目录

示例:

StepDefination1Class

TestData.setFirstName("Shubham");

OR

TestData.FirstName="Shubham";

在另一个类中使用相同的变量,如下所示:

StepDefination2Class

String Fname = TestData.getLastName();

OR

String Fname =TestData.FirstName;