我的问题是,有时当我测试一个网站时,FF webdriver 并没有在测试后关闭浏览器窗口,尽管它会继续测试过程,直到打开的窗口太多以至于没有剩余内存。我曾尝试使用 driver.close() 和 driver.quit() 以及它们两者,但有时它们似乎不起作用。有没有办法强制司机下车?我考虑终止进程,但似乎无法获得已启动 Webdrivers 的 PID ...我是唯一遇到此问题的人吗?
3 回答
好吧,我不确定您的代码是什么样子(因为您没有提供它),但这种测试的通常流程是使用以下方法进行类。
public class TestClass {
private WebDriver driver;
@BeforeClass
public void setUp() {
driver = new FirefoxDriver(); //or any other one
}
@Test
public void test1() {}
@Test
public void test2() {}
@AfterClass
public void tearDown() {
driver.quit();
}
}
请注意,您不必调用WebDriver#close
或WebDriver#quit
在测试方法中,您可以在测试期间重用浏览器会话。
您需要为每个 testCasedriver.quit()
调用框架 tearDown ,就像您应该在框架 setUp 中为每个 testCase 分配它一样。看看这里http://siking.wordpress.com/2013/02/28/what-is-wrong-with-groovytestcase-and-selenium/这有点描述你的问题。
我让 Firefox 与 driver.quit() 一起工作。我所做的是卸载我当前的版本并从 Modzilla 公开的目录下载旧版本的 Firefox: https ://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
我从这里下载的版本是“Firefox Setup 27.0.exe”: https ://ftp.mozilla.org/pub/mozilla.org/firefox/releases/27.0/win32/en-US/
之后一切正常。
在切换 Firefox 版本之前,我使用 Firefox 浏览器从这里下载 Selenium IDE: http ://www.seleniumhq.org/download/
Selenium IDE 是一个 Firefox 插件。
我认为发生的事情是:当我拥有 Firefox 版本 32(最新版本)并查看“扩展”选项时,Selenium IDE 不会出现。现在我有了 Firefox 版本 27,Selenium IDE 出现了,它看起来像这样: