需要避免在 selenium webdriver @Test 方法中重复代码的建议

Need suggestions for avoiding duplicate code in selenium webdriver @Test method

我需要验证表单的完整流程。 在屏幕 1 上: - 从用户那里获取不同字段的输入 - 点击提交按钮 在屏幕 2 上: 点击确认按钮 在屏幕 3 上: 单击“完成”按钮完成整个流程。

测试NG: 我写了单独的测试 classes。每个测试 class 都有一个 @Test 方法。

Class1
{
@Test
public static void verifyScreen1SubmitButton()
{
selenium code1 to input values
Click on Submit button
Assert statement
}
}

Class2
{
@Test
public static void verifyScreen2ConfirmationButton()
{
**selenium code1 to input values
Click on Submit button**
Click on Confirmation button
Assert statement
}
}

Class3
{
@Test
public static void verifyScreen2FinalizeButton()
{
**selenium code1 to input values
Click on Submit button
Click on Confirmation button**
Click on Finalize button
Assert statement
}
}

每个下一个 class 都使用上一个 class 的数据输入和代码,因为它是表单的下一页。代码重复的地方太多了。请在 TestNG 中建议尽可能减少此代码重复的最佳方法。

我认为您应该执行以下操作:

Class1
{

@Test
public static void method1()
{
     //Code to execute
}
@Test
public static void method2()
{
     //Code to execute
}
@Test
public static void method3()
{
    //Code to execute
}

所以在这里你只需要一个 class 而不是 3 个。你也可以将方法优先级设置为 运行 它。例如:priority=0,priority=1 所以你可以 运行 按照你喜欢的顺序使用方法来实现实际流程。