1

我有几十个 Selenium Webdriver 测试。我想一次运行它们。如何运行测试以使每个测试都不会打开新的 Webdriver 浏览器窗口?

4

1 回答 1

3

您必须在 @BeforeClass/@AfterClass 中启动/拆除您的 webdriver,并在所有测试中使用此 webdriver。

public class MyTest {

    WebDriver driver;

    @BeforeClass
    public static void setUpClass() {
        driver = new RemoteWebDriver(new URL(hubAddress), capability);
    }

    @AfterClass
    public static void setDownClass() {
         driver.quit();
    }

    @Test 
    public void Test1(){
         driver.get(...);
    }

    @Test 
    public void Test2(){
         driver.get(...):
    }
}

或者在 TestSuite 中使用相同的 @BeforeClass/@AfterClass 使其成为静态:

@RunWith(Suite.class)
@SuiteClasses({ Test1.class, Test2.class})
public class MyTestSuite {

    public static WebDriver driver;

    @BeforeClass
    public static void setUpClass() {
        driver = new RemoteWebDriver(new URL(hubAddress), capability);
    }

    @AfterClass
    public static void setDownClass() {
         driver.quit();
    }
}

public class Test1 {

    @Test 
    public void Test1(){
         MyTestSuite.driver.get(...);
    }
}
于 2012-10-11T07:21:52.430 回答