运行 IE/VirtualBox 中的黄瓜测试

Run cucumber test in IE/VirtualBox

我 运行 我的黄瓜从 Ubuntu VM (VirtualBox) 进行测试,主机是 Windows。我现在想做的是 运行 在不同的 IE 版本中进行相同的测试(同样在 VirtualBox 中)。

到目前为止我所做的是使用 Vagrant 设置我的 IE8 盒子,给自己一个指定的 IP 地址和转发端口(或者我希望如此:-))

config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network :private_network, ip: "192.168.33.100"

盒子设置成功,现在我有点卡在 cucumber 的配置中了。

我 运行 我针对多个环境进行了测试,所以我的 APP_HOSTBROWSER 在命令行上通过了

  Capybara.app_host = case ENV['ENV']
    when 'test'
      APP = 'http://test.myapp.co.uk'
    when 'qa'
      APP = 'http://qa.myapp.co.uk'           
  end

  Capybara.default_driver = case ENV['BROWSER']
    when 'chrome'
      :chrome 
   when 'ie8'
      :ie_8
   else
     fail 'Please choose one of the following: chrome, firefox, headless or IE. For example BROWSER=chrome'
   end

我已经像这样设置了我的驱动程序配置

Capybara.register_driver :ie_8 do |app|
  Capybara::Selenium::Driver.new(app,
    browser: :remote,
    url: 'http://192.168.33.100:80/wd/hub', # This is where I am unsure
   desired_capabilities: :internet_explorer)
end

所以为了运行一个测试我做了这个cucumber --tags @mytag BROWSER=ie8 ENV=test

目前 url 连接到我的盒子的配置让我很困惑,我以为是你要连接的盒子的 IP 地址和端口号?

当运行宁此我得到一个错误

**end of file reached (EOFError)**

谁能指出我出错的方向

谢谢

更新

在执行 vagrant up 时,这是我在控制台中得到的输出

default: Adapter 1: nat
default: Adapter 2: hostonly
default: Adapter 3: bridged
default: Forwarding ports...
default: 80 => 8080 (adapter 1)
default: 5985 => 55985 (adapter 1)
default: 5986 => 55986 (adapter 1)
default: WinRM address: 127.0.0.1:55985
default: WinRM username: vagrant
default: WinRM transport: plaintext
config.vm.network :forwarded_port, guest: 80, host: 8080

表示您将 80 端口从来宾 VM 转发到主机的 8080 本地端口。

换句话说,如果您想从本地主机访问 http://http://192.168.33.100:80 of the VM you will need to access http://192.168.33.100:8080

在你的情况下替换

url: 'http://192.168.33.100:80/wd/hub'

来自

url: 'http://192.168.33.100:8080/wd/hub'