首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium WebDriver工作但速度很慢(Java)

Selenium WebDriver工作但速度很慢(Java)
EN

Stack Overflow用户
提问于 2012-10-23 06:25:59
回答 6查看 20.9K关注 0票数 11

我使用Selenium WebDriver来截取网页的屏幕截图。它运行得很好。然而,从我在eclipse中点击run到截图显示在我的本地驱动器上的时间是7-10秒。大部分的延迟似乎都是在启动Firefox。

代码:

代码语言:javascript
复制
WebDriver driver = new FirefoxDriver();
driver.get("http://www.cnn.com");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("c:\\test\\screenshot.png"));

我怎样才能加速这个过程?有没有办法可以使用已经打开的Firefox浏览器来节省打开新浏览器的时间?这段代码是不是很重?

详细信息:使用eclipse在CentOS盒和Win7盒上试用。myspeedtest.net显示关闭22 Mbps和打开1 Mbps。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-10-23 06:36:55

你所要求的(允许WebDriver附加到正在运行的浏览器上)现在已经成为almost 3 years的一个问题。到目前为止,该功能仍未添加。据我所知,没有办法让Firefox加载得更快。不过,您可以尝试其他一些技巧。

代码语言:javascript
复制
fp.setPreference("webdriver.load.strategy", "unstable")

引用this page的警告

火狐有一个测试版功能,可以让

在调用.get或.click后不再等待整个页面加载。这可能会导致立即查找中断,因此请确保也使用隐式或显式等待。这仅适用于Firefox,而不适用于其他浏览器。

您也可以尝试使用loading with a profile,看看这是否有帮助。

票数 11
EN

Stack Overflow用户

发布于 2012-10-23 19:37:18

从我在其他地方学到的东西-

  1. 关闭browser/plugins
  2. Set的自动更新您的IIS (或等效应用程序)超时为零
  3. 创建用于测试的基本Selenium夹具
  4. 更新到最新版本的Selenium
  5. 在cookies之前预热您的应用。

参考文献:

https://sqa.stackexchange.com/questions/1988/selenium-reuse-existing-browser-session-instead-of-opening-new-windows

http://www.codeweavers.net/6-ways-to-speed-up-selenium-tests/

http://sauceio.com/index.php/2011/02/speed-up-your-selenium-tests/

希望这能有所帮助!

票数 5
EN

Stack Overflow用户

发布于 2014-01-30 23:58:26

This thread给出了可能的解释。

总而言之,Selenium遍历所有网卡并调用一个方法(getHostName),这会占用虚拟网卡很长的时间。禁用它们解决了线程中的操作问题。

(在我自己的例子中,我无法禁用它们中的任何一个,并且必须在每个测试用例开始时等待……)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13020841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档