我的问题是,有时当我测试一个网站时,FF webdriver在测试后没有关闭浏览器窗口,尽管它继续测试过程,直到打开这么多窗口,没有剩余内存。 我已经尝试过使用driver.close()和driver.quit()以及它们两个,但有时它们似乎没有用。有没有办法强迫司机退出?我查看了杀死进程,但我似乎无法获得已启动的Web驱动程序的PID ... 我是唯一一个遇到过这个问题的人吗?
答案 0 :(得分:0)
好吧,我不确定您的代码是什么样子的(因为您没有提供它),但是这种测试的通常流程是让类具有以下方法。
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
,您可以在测试期间重复使用浏览器会话。
答案 1 :(得分:0)
您需要在框架tearDown中为每个testCase 调用driver.quit()
,就像您应该在每个testCase的框架setUp中分配它一样。
看看http://siking.wordpress.com/2013/02/28/what-is-wrong-with-groovytestcase-and-selenium/,它在某种程度上描述了你的问题。
答案 2 :(得分:-1)
我让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(最新版本)并查看“Extensions”选项时,Selenium IDE将无法显示。现在我有Firefox版本27,Selenium IDE出现了,它看起来像这样: