java Selenium测试在加载配置文件时需要几分钟才能启动[重复]

vd2z7a6w  于 11个月前  发布在  Java
关注(0)|答案(1)|浏览(94)

此问题在此处已有答案

Selenium GeckoDriver is slow to launch Firefox Browser(2个答案)
28分钟前关闭
我只是想弄清楚是否有人看到他们的Selenium测试运行得很慢(启动需要2分钟以上),当他们加载配置文件到FirefoxDriver中时,如Selenium a default profile for the Firefox所示:
上述帖子的问题发起者在评论中提到了这个问题,但从未更新他是否修复了这个缓慢的问题。
在某个时候,我的测试停止运行,我开始得到错误

org.openqa.selenium.WebDriverException: java.io.Exception: unexpected end of stream on Connection.

字符串
如果我从FirefoxDriver调用中删除profile选项,那么测试将在选择“RUN”后的5秒内运行,但测试失败,因为Selenium使用的默认配置文件没有访问我的站点所需的证书。
有没有其他人在同一条船上或知道如何解决这个问题?你如何调整多少信息保存在一个配置文件?

  • Firefox版本:60.3.0
  • Selenium版本:3.14.0
  • GeckoDriver版本:0.23.0
  • 操作系统:Linux Redhat 6
  • Eclipse版本: neon

代码:

WebDriver browser;
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver.exe");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile ffprofile = profile.get("SeleniumUser");
FirefoxOptions options = new FirefoxOptions().setProfile(ffprofile);
browser = new FirefoxDriver(options); // takes a long time and eventually fails here
browser.get("site.url");


如果你从新的FirefoxDriver()调用中取出{options}参数,测试将在大约5秒内开始。保留选项会导致错误“org.openqa.selenium.WebDriverException:java.io.Exception:unexpected end of stream on Connection”,如上所述。

3htmauhk

3htmauhk1#

当您启动通过 GeckoDriver 加载新的/现有的FirefoxProfile时,底层框架包括:

    • 驱动程序 *(Selenium绑定)
  • 服务器(GeckoDriver)
    • 客户端 *(Firefox浏览器)

需要初始化并与不同的内部模块相互通信。
您可以在Cannot resolve constructor FirefoxDriver(org.openqa.selenium.firefox.FirefoxProfile)中找到有关如何通过 GeckoDriver 访问FirefoxProfile的详细讨论
此外,保存的:

  • 书签
  • 密码
  • 用户偏好

也会在现有FirefoxProfile加载时加载。因此需要一些额外的时间。
你可以在webdriver.FirefoxProfile()中找到详细的讨论:是否可以使用配置文件而不复制它?

相关问题