2012-10-11 32 views

回答

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/@課餘:

@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(...); 
    } 
} 
+0

這是否工作,當你有@在試驗方法不同的java類?他們必須是,因爲有這麼多的測試。 – mjgirl

+0

是的,請參閱我的編輯 –

+0

但是您必須列出@SuiteClasses anotation中的所有類?沒有辦法只包含測試包中的所有類? – mjgirl