我是WATIR测试的新手(我喜欢它!)并且已经遇到了如何将我的WATIR脚本重新聚焦到新打开的窗口的问题。这是我的(简化)脚本....
#!/usr/bin/ruby
require 'rubygems'
require 'watir-webdriver'
browser=Watir::Browser.new
browser.goto("http://0:3050")
browser.text_field(:name,"userkey300203830").set("OKJHNB")
browser.button(:id, "interview48").click
puts "Expected Result:"
puts "A successful display of cars"
if browser.window(:title=>"300203830").exists?
puts " Test passed. New window opened!"
else
puts " Test Failed! No window found"
end
这一切都可以直到最后。单击“interview48”键后,将打开一个标题为“300203830”的新窗口。看起来我找到了它但我现在还不知道如何关注那个窗口。
答案 0 :(得分:7)
browser.window(:title => "300203830").use do
# do something
end
答案 1 :(得分:7)
此外,对于2个以上的窗口,您可以使用以下内容:
browser.windows[n].use
#n是哪个窗口的变量。 n将按打开的顺序或从左到右的标签访问它们
答案 2 :(得分:6)
browser.windows.last.use
browser.windows.first.use
如果您从第一个浏览器实例打开一个新窗口并希望在这两个窗口之间切换,则可以使用上述命令。
答案 3 :(得分:0)
窗口有 3 个主要选择器:
:title
- 通常是最简单的
:url
- 通常与 Regexp 值一起使用
:element
- 一个独特的元素可能是最不脆弱的(Watir 6.18 的新元素!)
browser.window(title: '新窗口') browser.window(网址:/my_page.html/) browser.window(element: browser.div(id: 'my-element'))
不再支持按索引定位