我从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_HOST
和BROWSER
会在命令行上传递
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
答案 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'