此问题在此处已有答案:
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”,如上所述。
1条答案
按热度按时间3htmauhk1#
当您启动通过 GeckoDriver 加载新的/现有的
FirefoxProfile
时,底层框架包括:需要初始化并与不同的内部模块相互通信。
您可以在Cannot resolve constructor FirefoxDriver(org.openqa.selenium.firefox.FirefoxProfile)中找到有关如何通过 GeckoDriver 访问
FirefoxProfile
的详细讨论此外,保存的:
也会在现有
FirefoxProfile
加载时加载。因此需要一些额外的时间。你可以在webdriver.FirefoxProfile()中找到详细的讨论:是否可以使用配置文件而不复制它?