我的网站只能在支持Webkit的浏览器(Google Chrome,Safari)中呈现。我使用谷歌浏览器,因为我在Windows 7上。
我正在使用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
答案 0 :(得分: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 /)。使用
另见: http://groups.google.com/group/watir-general/browse_thread/thread/232df221602d4cfb
答案 1 :(得分:1)
@Yutaka:非常感谢你的所有帮助,它引导我使用类似下面的内容并且它有效!
b.link。(:XPath中, “/ HTML /体/ DIV / UL / LI / a”)的点击
c = b.window(:url,“http:\ / \ / server \ / getPage \ / 67 \ / 1354”)
c.use
b.link(:ID, “btn_MAP”)。然后按
答案 2 :(得分:0)
您是否尝试将该网站设为浏览器的默认主页?
可能会阻止您进行附加操作。