1

私は数十のSeleniumWebdriverテストを持っています。一度に全部走らせたいです。各テストで新しいWebdriverブラウザウィンドウが開かないようにするには、どうすればテストを実行できますか?

4

1 に答える 1

3

@BeforeClass/@AfterClass で Web ドライバーを開始/破棄し、すべてのテストでこの Web ドライバーを使用する必要があります。

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 を使用して、TestSuite で静的にします。

@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 に答える