5

我有一个仅在启用 Webkit 的浏览器(Google Chrome、Safari)中呈现的网站。因为我在 Windows 7 上,所以我正在使用 Google Chrome。

我正在使用 Watir-WebDriver 来自动化它。

问题:当我单击浏览器窗口上的按钮时,会启动另一个窗口,并且单击后的内容会在新的浏览器窗口中呈现。我需要一种方法来识别这个新的浏览器窗口,以便能够继续我的测试。我一直在阅读各种论坛,但没有得到任何确定的答案/解决方案。

问:watir-webdriver 是否有替代 watir::ie.attach 的方法,因为 Watir-Webdriver 不支持 attach

示例代码:

require "rubygems"

require "watir-webdriver"


require "selenium-webdriver"

b = Watir::Browser.new(:chrome)

website = "http://xyz.com"

#a new browser is launched and the website is opened

b.goto(website)

#this opens a new browser window

b.link(:xpath,"/html/body/div/ul/li/a").click

#there is a button called "MAP" on the new browser window

b.link(:id,"btn_MAP")

#this gives an error, unknown link
4

3 回答 3

7

"window" 方法是 ie.attach 的替代方法。Webdriver 可以通过 window 方法处理自己打开的窗口。

b.link(:href,/server\/getPage/).click
b.window(:url,/server\/getPage/i).use do
  b.link(:id,"btn_MAP").click
end

您可以在窗口方法块中处理弹出的窗口。如果您想继续处理弹出窗口,请不要阻塞使用它,例如 window(:url,/foobar/).use

另见: http ://groups.google.com/group/watir-general/browse_thread/thread/232df221602d4cfb

于 2011-04-27T04:19:29.790 回答
2

@Yutaka:非常感谢您的所有帮助,它使我使用了以下类似的东西并且它起作用了!

b.link(:xpath,"/html/body/div/ul/li/a").click

c = b.window(:url,"http:\/\/server\/getPage\/67\/1354")

c.使用

b.link(:id,"btn_MAP").click

于 2011-05-03T12:31:30.223 回答
0

您是否尝试过将网站设为浏览器的默认主页?

这可能会阻止您进行附加。

于 2011-04-26T21:43:24.783 回答