我正在使用JUnit注释在Eclipse中编写一个简单的程序。
测试后, diver.close()
没有关闭我的Firefox浏览器。它适用于Chrome。代码片段就在这里。
public class FireFox1 {
WebDriver driver;
@Before
public void setUp() {
driver= new FirefoxDriver();
driver.get("http://book.theautomatedtester.co.uk/chapter4");
}
@After
public void tearDown() {
driver.close();
}
@Test
public void testExamples() {
WebElement element= driver.findElement(By.id("nextBid"));
element.sendKeys("100");
}
}
答案 0 :(得分:3)
有时在重复使用时,我们会遇到driver.close()
的问题。
无论如何driver.quit()
将纠正您的问题。
通常driver.close()
关闭浏览器(驱动程序的实例仍然完好无损),而driver.quit()
将终止webdriver实例。无论如何,您只在这里使用一页,那么您可以使用driver.quit()
。
谢谢。
答案 1 :(得分:1)
假设您已经使用网格平行启动了5个浏览器(类):
driver.close - 用于关闭当前浏览器(执行的地方)
driver.quit - 用于关闭当前执行启动的所有浏览器。
您可以使用其中任何一个..
可能是浏览器兼容性问题,尝试降级FF让我们看看...
答案 2 :(得分:0)
更好地使用driver.quit()
方法。它会关闭浏览器,但由于某些未知问题,它会抛出NullPointerException
。抓住它..
try{
driver.quit();
}catch (Exception e){
System.out.println("Nothing to do with it");
}
答案 3 :(得分:0)
使用最新的GeckoDriver.exe(17)和最新的FireFox(54.0); 这对我来说可以。我之前遇到过同样的问题。
您遇到的这个问题完全是驱动程序和驱动程序之间的兼容性问题。浏览器版本。
driver.close();如果您使用上述版本,应该没有问题。如果有效,请告诉我。
答案 4 :(得分:0)
这就是Firefox driver.close()中的问题,仅在具有Internet连接的情况下才在Firefox中起作用,但对于Chrome,在没有Internet连接的情况下即可。