所以我在 FireFox 中运行 Protractor/Jasmine 测试时遇到了问题。我已经意识到 FireFox 的版本问题不支持 Selenium Angular/Bootstrap 等,这一直是我迄今为止的问题。
我被告知要尝试 geckodriver,但确实找不到任何关于如何使用 Protractor 和 jasmine 进行设置的好资源。或者甚至哪个驱动程序最适合使用。
最近我尝试了以下方法来让 FF 恢复并运行(但都没有成功):
- 将 FireFox 降级至 33.x.x,同时保留 Protractor/Jasmine 当前版本(分别为 4.0.5 和 2.51)。
- 将 Protractor 降级至 3.0.0,同时将 FF 保持在当前版本 (47.0.1)
- 将 Protractor 和 FF 降级至上述最低版本。
- 使用了最新版本的 FF 47.0.1 和较低版本的 Protractor。
- 使用了最新版本的 FF 47.0.1 和最新版本的 Protractor 4.0.5
- 使用 directConnect: true 和 directConnet: false
所以我想现在我有两个问题之一: 1. 有人可以使用 geckodriver 发布 Protractor 配置片段/或指导我演练此内容。 2. 告诉我解决方法或工作解决方案(webdrivers/protractor/jasmine 的版本等)。
如果您需要查看错误或我的配置文件或任何其他内容,请简单发表评论,我很乐意修改。
最佳答案
有一段时间,由于 Firefox Web 驱动程序的更改,Firefox v46 和 Selenium v2.5x 之间存在不兼容的情况。这些问题很快就得到了社区的解决。
Protractor 的问题在于 webdriver-manager 的更新有点过时。根据 github 上的讨论,他们已经意识到了这一点,并且即将进行修复。
同时的解决方法是手动更新过时的部分。
这是你的操作方法,运行
webdriver-manager update
这将为您提供 webdriver-manager 为您处理的所有组件的路径。
导航到selenium-server-standalone.jar文件(在我的例子中是protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar)并将其替换为最新的selenium独立jar(任何 v3+ 都应该不错)。确保保留与之前的 jar 文件完全相同的文件名。 (链接:http://www.seleniumhq.org/download/)
重复此过程以获取最新的 Gecko 网络驱动程序。解压并替换当前版本。 (链接:https://github.com/mozilla/geckodriver/releases)
现在通过 Protractor 运行测试,您应该可以熟练使用最新版本的 Firefox。
祝你好运,测试愉快:)
关于jasmine - 使用 Protractor 启动并运行 Marionette/Geckodriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39412727/