Watir:为什么'可见?'并且'存在?'窗口方法失败?

时间:2014-12-31 16:31:56

标签: ruby watir

问题:我正在尝试检查是否现在打开了另一个/不同标题的浏览器。如果是这样,我想在该浏览器中工作。出于某种原因,“可见吗?”还是“存在?”似乎不被接受。我是新手,但我尽力审查所有在线文档和示例,但我似乎无法弄清楚为什么这个简单的方法失败。我进入了Watir API站点,但示例很稀疏。

错误: test2.rb:68:<main>': undefined method可见?' #(NoMethodError)

Ruby代码:

require "rubygems"
require "watir-webdriver"
require "rspec"
require "selenium-webdriver"
require "rspec/expectations"
require "test/unit"

if @browser.window(:title => "Web site Login").visible?
  @browser.window(:title => "Web site Login").use do
  begin
    @browser.driver.find_element(id: "ctl0UserName").send_keys ""
    @browser.driver.find_element(name: "ctl00ContainerID$btnNext").click
    @browser.driver.find_element(id: "ctl00_C").send_keys ""
    @browser.driver.find_element(name: "ctl00$ContentPllateContainerID$btnNext").click
    #Click on the drop down option for Pathway
  end
else 
  put "no login screen"
end

2 个答案:

答案 0 :(得分:0)

出于某种原因,当我将其更改为以下内容时,这有效。不知道为什么。

        if @browser.window(:title => "Web site Login").exists?
        @browser.window(:title => "Web site Login").use do

答案 1 :(得分:0)

我刚刚为Watir重写了Window类(引用最近关闭的窗口存在一些问题)。现在,存在和可见没有任何有意义的区别。窗口是否存在且可用或不可用。可见不是允许的(有用的?)调用,并且存在和存在是别名。