0

@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 。)

4

2 回答 2

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

}

于 2014-11-28T16:00:37.487 回答
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");
}}
于 2014-11-29T19:27:59.980 回答