我正在使用 ruby 中的 selenium-webdriver 和 cucumber 为网站自动化测试用例。我需要每个功能以特定的顺序运行并使用相同的浏览器窗口。Atm 每个功能都会创建一个新窗口来运行测试。尽管在某些测试用例中这种行为是需要的——在许多情况下它不是。到目前为止,从我的研究来看,关于是否可以在整个测试用例中使用 selenium 驱动相同的浏览器窗口,似乎有不同的答案。我遇到的大多数答案都是针对其他语言的,并且是特定于浏览器的解决方法(我在测试 IE 时正在开发我的测试,但预计会在其他浏览器中运行这些测试)。我在 Ruby 中工作,从我读过的内容来看,好像我必须为页面创建一个类?我很困惑为什么我必须这样做或者这有什么帮助。
我的 env.rb 文件:
require 'selenium-webdriver'
require 'rubygems'
require 'nokogiri'
require 'rspec/expectations'
Before do
@driver ||= Selenium::WebDriver.for :ie
@accept_next_alert = true
@driver.manage.timeouts.implicit_wait = 30
@driver.manage.timeouts.script_timeout = 30
@verification_errors = []
end
After do
#@driver.quit
#@verification_errors.should == []
end
到目前为止,我已经收集了一些有类似问题的人的信息: https://code.google.com/p/selenium/issues/detail?id=18 有没有办法将已经运行的浏览器附加到 java 中的 selenium webdriver ?
如果我的问题不清楚,请向我提问。我有更多的测试要创建,但如果我的基础草率且缺少请求的功能,我不想继续创建测试。(如果您在我的代码中发现任何其他问题,请在评论中指出)