请帮助我了解为什么这只启动浏览器,而不是加载https://www.outbid.com/users/sign_in
require "rubygems"
require "rspec"
require 'watir-webdriver'
@browser = Watir::Browser.new :firefox
describe "outbid login" do
before(:each) do
@browser.goto 'https://www.outbid.com/users/sign_in'
end
it "should succesfully login you in the outbid.com" do
@browser.text_field(:id=> "login_user_email").set 'outbiduser2@gmail.com'
@browser.text_field(:id=> "login_user_password").set 'c0mplex1234'
@browser.button(:value=> "Log in").click
@browser.close
end
end环境:
Windows 7 32位Firefox 20也尝试在8.0中安装- Watir,Watir-Webdriver,Selenium-Webdriver,rspec。
发布于 2013-05-07 00:11:25
当我运行你的代码时,我得到了以下异常:
Failures:
1) outbid login should succesfully login you in the outbid.com
Failure/Error: Unable to find matching line from backtrace
NoMethodError:
undefined method `goto' for nil:NilClass
# stuff.rb:9:in `block (2 levels) in <main>'问题是您创建的浏览器超出了测试范围。
这条线
@browser = Watir::Browser.new :firefox需要在测试范围内。
您可能希望在每次测试开始时创建它,因此请将其包含在每一次测试之前的块中:
before(:each) do
@browser = Watir::Browser.new :firefox
@browser.goto 'https://www.outbid.com/users/sign_in'
end发布于 2013-05-09 08:08:24
总的来说,我喜欢Justin的回答。但是,如果您想在每次测试之前节省打开和关闭浏览器的时间,那么我要做的是
1)在before(:all)部分创建浏览器对象
2)在before(:each)部分或after(:each)中,确保您通过执行诸如点击注销页面之类的操作来进行清理,这样您就不会在启动测试时启动会话。
发布于 2015-03-08 18:54:23
从seleniumHQ.com下载最新的selenium jar并将该jar添加到您的类中。
https://stackoverflow.com/questions/16393958
复制相似问题