【发布时间】:2017-08-18 12:18:37
【问题描述】:
我正在设置 Travis,以便通过量角器执行 e2e 测试。
在我的protractor.config.js 上,我有以下内容:
seleniumServerJar: './node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.5.0.jar'
所以实际上它指的是protractor 插件中默认包含的selenium jar。
然后我使用插件gulp-protractor 来执行指向右侧protractor.config.js 的测试。
在本地,一切都像魅力一样。
但是当尝试在 Travis 上执行此操作时,我收到以下错误:
[18:59:15] I/launcher - 运行 1 个 WebDriver 实例 [18:59:15] 电子/本地 - 错误代码:135 [18:59:15] 电子/本地 - 错误消息:否 selenium 服务器 jar 位于 /home/travis/build/quirimmo/Qprotractor/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.5.0.jar。 运行“webdriver-manager update”下载二进制文件。
知道为什么它看起来无法从 node_modules 子文件夹中检索 jar 吗?
这是我的.travis.yml 配置,实际上非常简单:
sudo: required
dist: trusty
addons:
chrome: stable
language: node_js
node_js:
- '6.11'
before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- sleep 3
install:
- npm install
script:
- echo "Triggered!"
- gulp protractor-test
非常感谢,任何帮助将不胜感激!
附言。我已经在其他项目中使用 Travis 手动运行 webdriver-manager 然后从 protractor.config.js 指向 selenium 地址,但我不想要那个解决方案,我想继续通过 seleniumServerJar 属性,因为通过这种方式,它将单独运行所有内容,而无需手动启动webdriver-manager
【问题讨论】:
-
为什么不在 before_script 中全局安装 webdriver-manager?
-
嗨@TarunLalwani,首先非常感谢您的评论。我确实尝试过,但没有运气。之后我总是得到同样的错误。当您手动执行
webdriver-manager然后从protractor.config.js指向该URL 时,此解决方案可以正常工作。有意义吗? -
您可以提供任何我可以玩的示例存储库吗?
-
当然感谢@TarunLalwani。它仍在开发中,但它与我在这里谈论的 Travis 相关。尝试克隆它,创建一个分支,如果你启动 PR,你应该直接在 Travis 上触发相同的工作:github.com/quirimmo/qprotractor p.s.我认为目前你会触发这项工作,即使只是推动你的分支
标签: javascript selenium protractor travis-ci e2e-testing