3

我正在尝试使用 Google Chrome 来自动测试用 JavaScript 为 iPhone 开发的移动应用程序,并且由于它是基于 Webkit 的,只有 Safari 和 Google Chrome 可以呈现内容,所以我没有其他选择可以使用 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。或任何其他解决我的问题的方法。

谢谢

4

1 回答 1

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

于 2011-08-04T12:40:16.503 回答