嗨,当我通过计划 java 代码运行测试并使用 WebDriver 的 close() 方法时,它正在关闭相应的浏览器实例。但是,当我在任何 @After 注释内的 testNG 类中使用 driver.close() 时,例如
@AfterClass
public void logout()
{
driver.findElement(By.id(someSignOutId)).click();
driver.close();
}
那么它不会关闭浏览器实例。请尝试以下 2 个代码片段:TestNGSnippet:
package unitTest.myTest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class GoogleTestNGTest {
@Test
public void f() throws InterruptedException
{
WebDriver driver=new FirefoxDriver();
driver.get("http://www.google.com");
Thread.sleep(2000);
driver.close();
}
}
普通片段:
package unitTest.myTest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class GoogleTest
{
public static void main(String[] args) throws InterruptedException
{
WebDriver driver=new FirefoxDriver();
driver.get("http://www.google.com");
Thread.sleep(2000);
driver.close();
}
}
它是testNG中的一个错误吗?注意:driver.quit() 正在工作,但我不能使用它,因为当我并行运行测试时,它将关闭我所有仍在运行测试的浏览器实例。蒂亚!Selenium WebDriver 版本:2.33 TestNG:6.8.5 Firefox 版本:22 Java:1.7.0.40