我正在尝试使用谷歌浏览器自动测试用于iPhone开发的移动应用程序,因为它只是基于Webkit的Safari和谷歌浏览器可以呈现内容,所以我没有其他选择使用watir -webdriver。
我已经做了很多研究,试图在Google Chrome上找到自动化的解决方案,而我能得到的最接近的是Watir-WebDriver。
我有以下代码:
require "rubygems"
require "watir-webdriver"
browser = Watir::Browser.new(:chrome)
website = "http://xxx.yyy.zzz"
browser.goto(website)
browser.link(:xpath,"/html/body/div/ul/li/a").click #step1
browser.link(:xpath,"/html/body/div/div[2]/div/ul/li//*[@id=btn_WEBURL]").click #step2
执行#step1后,内容将在新的浏览器窗口中打开,从而导致:
C:/Program Files/Ruby187/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.2/lib/watir-
webdriver/elements/element.rb:241:in `assert_exists': unable to locate element,
using {:xpath=>"/html/body/div/div[2]/div/ul/li//*[@id=btn_WEBURL]", :tag_name=>
"a"} (Watir::Exception::UnknownObjectException)
from C:/Program Files/Ruby187/lib/ruby/gems/1.8/gems/watir-webdriver-0.2
.2/lib/watir-webdriver/elements/element.rb:69:in `click'
from ft.rb:13
每次点击Chrome上的链接,使用watir-webdriver都有办法不打开新窗口。或者我问题的任何其他解决方案。
由于
答案 0 :(得分:1)
您可以找到并使用其他窗口:
browser.window(:title => "your popup window").use do
browser.button(:id => "close").click
end
查看更多示例:https://github.com/jarib/watirspec/blob/watir2/window_switching_spec.rb