Selenium 设置硒、铬和wdio与流浪者或码头工人混合

Selenium 设置硒、铬和wdio与流浪者或码头工人混合,selenium,vagrant,selenium-chromedriver,webdriver-io,Selenium,Vagrant,Selenium Chromedriver,Webdriver Io,我开始尝试学习如何为一个小项目编写自动测试,但没有任何东西是现成的。经过几个小时的搜索和实验,我为我的项目找到了正确的配置,并认为分享它可能会对未来的人们有所帮助 下面是我在调试过程中遇到的错误的小结: 使用Jasmine和WDIO,发送键崩溃了 这是一个Firefox/geckodriver bug,或者类似的东西 从Firefox切换到Chrome后,WDIO似乎挂起了 Chrome需要在模式下运行——基本上没有沙箱模式 我想我的问题可能是因为当Selenium在一个游荡的VM中

我开始尝试学习如何为一个小项目编写自动测试,但没有任何东西是现成的。经过几个小时的搜索和实验,我为我的项目找到了正确的配置,并认为分享它可能会对未来的人们有所帮助

下面是我在调试过程中遇到的错误的小结:

  • 使用Jasmine和WDIO,
    发送键
    崩溃了
    • 这是一个Firefox/geckodriver bug,或者类似的东西
  • 从Firefox切换到Chrome后,WDIO似乎挂起了
    • Chrome需要在
      模式下运行——基本上没有沙箱模式
我想我的问题可能是因为当Selenium在一个游荡的VM中敲打浏览器时,WDIO在我的本地机器上执行我的测试。因此,这将主要适用于使用WDIO和硒/铬驱动的单独环境(流浪者->本地、流浪者->流浪者、码头工人->本地等)的人

我从一开始就使用了Chrome而不是Firefox。在交换了包之后,我会用wdio开始测试,但它似乎挂起了。打开详细日志显示它试图启动,但失败了,没有解释原因

[00:06:39]  COMMAND POST     "/wd/hub/session"
[00:06:39]  DATA        {"desiredCapabilities":{"javascriptEnabled":true,"locationContextEnabled":true,"handlesAlerts":true,"rotatable":true,"browserName":"chrome","loggingPrefs":{"browser":"ALL","driver":"ALL"},"requestOrigins":{"url":"http://webdriver.io","version":"4.6.2","name":"webdriverio"}}}
从's
setup.sh
中的
nohup java…
命令中删除
,实时查看Selenium中的日志,然后我能够从
chromedriver
中看到
消息“仅允许本地连接”。这导致我在chromedriver中添加了
--白名单ips=“”
,作为参数,但我仍然收到本地连接错误消息。Chrome本身最终需要一个
——无沙盒
标志——它允许WDIO连接到Selenium中的chromedriver,我的测试就是从那里开始的