如何在新窗口中设置WATIR焦点

Jan*_*kie 6 ruby automated-tests watir webautomation watir-webdriver

我是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
Run Code Online (Sandbox Code Playgroud)

这一切都可以直到最后.单击"interview48"键后,将打开一个标题为"300203830"的新窗口.看起来我找到了但我现在还不知道如何关注那个窗口.

Žel*_*pin 7

browser.window(:title => "300203830").use do
  # do something
end
Run Code Online (Sandbox Code Playgroud)

更多信息:http://watir.github.io/docs/browser-popups/


小智 7

此外,对于2个以上的窗口,您可以使用以下内容:

browser.windows[n].use  
Run Code Online (Sandbox Code Playgroud)

#n是哪个窗口的变量.n将按打开的顺序或从左到右的标签访问它们


小智 6

browser.windows.last.use 
browser.windows.first.use
Run Code Online (Sandbox Code Playgroud)

如果从第一个浏览器实例打开一个新窗口并想在两者之间切换,则可以使用上述命令.

  • 当只有一个窗口时,这个似乎没有失败,而不是browser.windows [n] .use.对于那些可能对这种区别感兴趣的人来说,这只是一小撮信息. (2认同)