TestNG - 如何在两种方法之间共享相同的浏览器会话?

软件测试 测试 浏览器会话
2022-01-14 13:24:21

我正在为以下场景编写 TestNG 代码,但不知道如何在两种方法之间共享浏览器会话:
1. 创建一个数据驱动的 testNG 套件以使用 10 个不同的用户名登录
我需要编写两种方法,并且两种方法应该共享同一个浏览器会议。知道如何使用 TestNG 在两种测试方法之间共享浏览器会话吗?

1个回答

我不太明白您为什么要共享浏览器会话。UI 测试方法应该在自己独立的浏览器中运行。如果您坚持,您可以使用 TestNG 的 @BeforeClass 并在 @BeforeClass 方法中完成驱动程序设置。现在,您的两个方法都应该在此类或扩展了设置类的类中。使困惑?这可能会有所帮助 -

public class TestCase {

  @BeforeClass
  public void setup() {
    // Set up driver here

  @BeforeClass
  public void tearDown() {
    // kill driver here
  }

}

你在这里测试课程 -

public class MyHorribleClassWhichUsesSameBrowserForMultipleTests extends TestCase{

  @Test
  public void method1() {
    // test code here

  @Test
  public void method2() {
    // test code here
  }
}

在这里,两种测试方法都将一个接一个地使用相同的浏览器。