在IE / VirtualBox

时间:2015-12-08 09:48:53

标签: ruby vagrant cucumber 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"

该框已成功设置,现在我有点卡在黄瓜的配置中。

我针对多个环境运行测试,因此我的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

1 个答案:

答案 0 :(得分:1)

config.vm.network :forwarded_port, guest: 80, host: 8080

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

换句话说,如果您想访问VM的http://http://192.168.33.100:80,则需要从本地主机访问http://192.168.33.100:8080

在您的情况下替换

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

通过

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