@BeforeClass没有在Webdriver,Java中启动我的测试,我不知道哪里出错了
@BeforeClass
public static void setup() {
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get(baseUrl + "login");
driver.findElement(By.id("username")).sendKeys("myUserName");
driver.findElement(By.id("password")).sendKeys("myPassword");
driver.findElement(By.id("loginBTN")).click();
}
在代码之后我开始定期测试:
@Test
public void firstTest() {
//myTestCode
}
尝试运行后,所有测试都失败,webdriver无法启动等等......
这很好,因为我必须测试一个我必须登录的页面(使用@Before webdriver在每次测试之前启动,所以显然我需要@BeforeClass这个。)
答案 0 :(得分:0)
@BeforeClass
public static void setup() {
//这需要在这里运行,这里的意思就是这个方法唯一的本地化 Webdriver驱动程序;
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get(baseUrl + "login");
driver.findElement(By.id("username")).sendKeys("myUserName");
driver.findElement(By.id("password")).sendKeys("myPassword");
driver.findElement(By.id("loginBTN")).click();
}
然后你的测试将起作用
@Test
public void firstTest() {
//myTestCode
}
答案 1 :(得分:0)
示例代码:希望这可行。
public class OpenBrowsers {
WebDriver driver = null;
@BeforeClass
public void beforeClass() {
System.out.println("beforeClass");
driver = new FirefoxDriver();
}
@Test
public void openGoogle() {
System.out.println("openGoogle");
driver.get("www.google.com");
}
@Test
public void openYahoo() {
System.out.println("openYahoo");
driver.get("www.yahoo.com");
}
@AfterClass
public void afterClass() {
driver.close();
System.out.println("afterClass");
}}