gpt4 book ai didi

java - 如何使用 selenium 在 java 中重用变量

转载 作者:行者123 更新时间:2023-11-30 08:45:58 24 4
gpt4 key购买 nike

我的应用程序有 4 个测试脚本。在每个脚本中,我都使用数据驱动框架来测试多个值。所以每次在每个脚本中,我都会初始化所有脚本中几乎常见的必要变量。有没有可能在 java 或 selenium 中重用这些变量或常量??

下面是我的代码

static String excel,sheet;

@BeforeClass
public void start(){
driver.findElement(By.id(""));
}

@DataProvider
public static Object[][] chartDetails() throws IOException{
excel = Init.readConfig("xls");
sheet = Init.readConfig("sheetName");
data = ReadData.getData(excel, sheet);
return data;
}

@Test(dataProvider="chartDetails")
public static void generateCharts(String standName,String termName) {
driver.findElement(By.id("script goes here"));
Assert.assertEquals("actual","expected");
}

在上面的代码中,声明部分将在所有模块中通用。所以我想重用相同的变量。

最佳答案

这些测试脚本是作为 Java 类实现的吗?如果是这样,有两种常见的方法可以做到这一点。

创建一个父类(super class),4 个测试脚本中的每一个都继承自父类(super class),定义共享变量和共享逻辑来填充它们。

public BaseTest {
protected sharedVariable1;
protected sharedVariable2;
protected sharedVariable3;

@Before
public void sharedInit() {
sharedVariable1 = //..
sharedVariable2 = //..
sharedVariable3 = //..
}
}

public Test1 extends BaseTest {
@Before
public void specificInit() {
}
}

或者,创建一个仅包含共享变量和共享逻辑的单独类,并在 4 个测试脚本中的每一个中使用此类。

public Shared {
private sharedVariable1;
private sharedVariable2;
private sharedVariable3;

public Shared() {
sharedVariable1 = //..
sharedVariable2 = //..
sharedVariable3 = //..
}
}

public Test1 {
private Shared shared;

@Before
public void init() {
shared = new Shared();
}
}

关于java - 如何使用 selenium 在 java 中重用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33099154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com