运行Behat与Selenium2Driver与Homestead相结合


Running Behat with Selenium2Driver in combination with Homestead

我有一个与Behat一起运行的Homestead安装来测试我的Laravel项目。使用 @javasccript 标签以硒的形式运行我的任务时,我遇到了一些问题。

我已经在我的Windows主机上下载了Selenium独立服务器。其版本是2.42.2

在我的behat.yml中,我得到了以下配置:

default:
    extensions:
     Behat'MinkExtension:
         base_url: http://my.app:8000/
         sessions:
            default_session:
                goutte: ~
            selenium_session:
                selenium2:
                      wd_host: http://x.x.x.x:4444/wd/hub/static/resource/hub.html
    suites:
        functional:
            paths:    [ %paths.base%/features/functional ]
            contexts: [ LaravelFeatureContext ]

但是,当我运行我的方案时,出现以下错误:

鉴于我在"/用户/创建"页面上 # LaravelFeatureContext::iAmOnThePage() 无法打开连接:引发 http POST 的卷曲错误以 http://x.x.x.x:4444/wd/hub/static/resource/hub.html/session params: {"desiredCapabilities":{"tags":["homestead","PHP 5.6.0-1+deb.sury.org~trusty+1"],"browserName":"firefox","version":"21","platform":"ANY","browserVersion":"9","browser":"firefox","ignoreZoomSetting":"false","name":"Behat 功能套件","设备方向":"纵向","设备类型":"平板电脑"}}

  Failed to connect to 127.0.0.1 port 4444: Connection refused (Behat'Mink'Exception'DriverException)

当我去http://x.x.x.x:4444/wd/hub/static/resource/hub.html时,我看到硒集线器已启动并运行。

这里的问题可能是我通过 SSH 从 homestad 终端运行 Behat 并且没有解析到集线器的 IP 地址吗?因为主机的 IP 地址localhost

我该如何解决这个问题?

我自己想出了答案。

behat.yml,我不得不将wd_hub的配置更改为http://192.168.178.26:4444/wd/hub然后它就可以工作了。