6

我是 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”的新窗口。看起来我找到了,但我只是不知道现在如何专注于那个窗口。

4

4 回答 4

7
browser.window(:title => "300203830").use do
  # do something
end

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

于 2012-05-22T19:30:19.310 回答
7

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

browser.windows[n].use  

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

于 2012-07-20T15:31:59.540 回答
6
browser.windows.last.use 
browser.windows.first.use

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

于 2012-06-18T21:47:56.377 回答
0

窗口有 3 个主要选择器:

  • :title - 通常是最简单的

  • :url - 通常与 Regexp 值一起使用

  • :element- 一个独特的元素可能是最不脆弱的(从 Watir 6.18 开始的新元素!)

    browser.window(title: '新窗口') browser.window(url: /my_page.html/) browser.window(element: browser.div(id: 'my-element'))

不再支持按索引定位

更多信息:Watir 浏览器窗口

于 2021-03-25T13:25:38.517 回答