2

我无法使用具有以下配置的量角器 7 运行 e2e 测试

...
directConnect: true,
capabilities: {
  browserName: 'firefox'
}
...

在我的 MacOS Catalina 上。我注意到

网络驱动程序管理器更新

来自项目的 package.json 的命令下载geckodriver-v0.29.1

如标题中所述,当我运行测试时,日志不会超出直接使用 FirefoxDriver 的范围。如何查看更多详细信息(量角器中是否有详细选项?),以及如何解决此问题?

4

2 回答 2

2

通过Splaktars 的回答,我能够使用典型的 directConnect: true 设置让 Firefox 启动。

我必须从 Github Releases 下载 geckodriver-v0.29.1-macos.tar.gz 包并提取二进制文件。然后我用包中的那个副本替换了之前通过 webdriver-manager 下载的 geckodriver-v0.29.1 二进制文件。

之后,我启动了测试以确保一切仍然部分工作,最后看到了 MacOS 安全弹出窗口。我运行了删除隔离标志的命令:

xattr -r -d com.apple.quarantine /path/to/geckodriver-v0.29.1

重新启动测试,最后 Firefox 出现了……再次感谢 Splaktar,刚刚注册了一个帐户,所以我无法评论或投票寻求帮助

于 2021-06-09T16:04:50.807 回答
0

看起来 v0.29.1 发行说明中有一个已知问题: https ://github.com/mozilla/geckodriver/releases/tag/v0.29.1

这些指向一些 GeckoDriver macOS Notarization 文档: https ://firefox-source-docs.mozilla.org/testing/geckodriver/Notarization.html

但是该页面说

通过 curl(1) 等其他方式下载的任意软件不受此更改的影响。

我没有收到任何安全弹出窗口或警告,只是您看到的挂起。

跑步

 xattr -r -d com.apple.quarantine /Users/splaktar/Git/app/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.29.1

没有帮助。

https://github.com/angular/protractor/issues/4253中,有很多关于 Firefox 和directConnect支持的旧问题。我尝试使用directConnect: false该问题的建议:

config.capabilities = {
  'browserName': 'firefox',
  'marionette': true,
  'elementScrollBehavior': 1
};
config.directConnect = false;
config.seleniumAddress = 'http://localhost:4444';
config.localSeleniumStandaloneOpts = {
  jvmArgs: ['-Dwebdriver.gecko.driver=node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.29.1']
};

我运行webdriver-manager start然后运行我的测试,但很快就失败了,控制台中出现错误页面的 HTML 和From: Task: WebDriver.createSession() Process exited with error code 199.

我也试过设置

config.firefoxPath = '/usr/local/bin/firefox-bin';

在创建符号链接后到/Applications/Firefox.app/Contents/MacOS/firefox-bin. 但这根本没有帮助。Firefox 永远不会启动。我也尝试过使用 Firefox 开发者版。

还在调查...

于 2021-06-09T01:04:57.267 回答