Java 在同一窗口中打开Selenium Webdriver测试

Java 在同一窗口中打开Selenium Webdriver测试,java,browser,selenium,webdriver,Java,Browser,Selenium,Webdriver,我有几十个Selenium Webdriver测试。我想一次完成所有的任务。如何运行测试,使每个测试都不会打开新的Webdriver浏览器窗口?您必须在@BeforeClass/@AfterClass中启动/删除Webdriver,并在所有测试中使用此Webdriver public class MyTest { WebDriver driver; @BeforeClass public static void setUpClass() { drive

我有几十个Selenium Webdriver测试。我想一次完成所有的任务。如何运行测试,使每个测试都不会打开新的Webdriver浏览器窗口?

您必须在@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(...):
    }
}
或者在测试套件中使用相同的@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();
    }
}


当您在不同的java类中有@Test方法时,这是否有效?它们必须是,因为有太多的测试。但是你必须列出@SuiteClasses anotation中的所有类?无法在测试包中包含所有类?
public class Test1 {

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