0
我已經通過本網站上的existitng問題了,但無法解決 以下問題如何重用的webdriver的退出實例爲不同類別
工具:Junit的,的IntelliJ,java語言
//設置類
public class SetUpTest {
public static WebDriver driver;
@BeforeClass
public static void setUpTest() throws InterruptedException
{
driver=new FirefoxDriver();
driver.get("http://www.ABC.co.uk");
Thread.sleep(5000);
}
//Test1
public class HomePageTest extends SetUpTest {
@Test
public void titleTest()
{
assertTrue(driver.getTitle().startsWith("ABC"));
//Test2
public void merchandisingTest() throws InterruptedException {
@Test
public void merchandisingTest()
{
driver.navigate().to("http://ABC.co.uk/deals");
assertThat(driver.getPageSource(),containsString("deals"));
我試圖運行與@TestBefore和測試,但仍然是兩個瀏覽器窗口打開 一個Test1的另一個用於Test2.I還使用了@ Suite.SuiteClasses 但問題仍然存在。
嗨rsakhale,我使用JUnit,因此@BeforeSuite在這種情況下不適用。該問題未通過使用隱式等待來解決。 –
哦,那麼如果你在整個測試過程中保持單個類,你可以使用@BeforeClass,我不知道它會工作。但現在可能是切換TestNG以獲得諸多好處的好時機。 也許你也可以使用FactoryMethod來創建Driver的實例只創建一次 - http://en.wikipedia.org/wiki/Factory_method_pattern 在這裏你保持對象級別的驅動程序的副本,並始終調用getDriver方法,它給出了原始創建的實例,而不是創建新的實例 – rsakhale