运行 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_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
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'
我 运行 我的黄瓜从 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_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
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'