在`method_missing'中:未知属性或方法:`document'(NoMethodError)

时间:2012-07-09 12:20:18

标签: ruby watir

有人可以解释以下错误的含义吗?

E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/ie-class.rb:488:in `method_missing': unknown property or method: `document' (NoMethodError)
HRESULT error code:0x80010108
  The object invoked has disconnected from its clients.
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/ie-class.rb:488:in `document'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/page-container.rb:31:in `page'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/page-container.rb:55:in `html'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/xpath_locator.rb:7:in `xmlparser_document_object'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/xpath_locator.rb:30:in `elements_by_xpath'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/locator.rb:111:in `locate_elements_by_xpath_css_ole'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/locator.rb:209:in `locate'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/input_elements.rb:5:in `locate'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/element.rb:63:in `assert_exists'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/element.rb:414:in `perform_action'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/element.rb:269:in `click!'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/element.rb:211:in `click'

我使用了一些代码,我需要进行以下检查 - 如果需要找到标题 - 将它们附加到窗口,如果不是 - 通过其URL附加窗口。

class Title
  def initialize(title)
    @@a = title
    $ie=Watir::IE.attach(:title, @@a) 
    rescue Watir::Exception::NoMatchingWindowFoundException
    puts ("could not find browser")
    r.addtoReport(testReport, "check page element", "FAILED", "Page title not found")
  end
end


if Title.new("Company")
else 
  $ie=Watir::IE.attach(:title,"http://")
end

另一个变体是:

class Title
  def initialize(title,title1)
    @@a = title
    @@b=title1
    $ie=Watir::IE.attach(:title, @@a)  
    rescue Watir::Exception::NoMatchingWindowFoundException
    puts ("could not find browser")
    r.addtoReport(testReport, "check page element", "FAILED", "Page title not found")
    else
    $ie=Watir::IE.attach(:url, @@b)  
  end
end

Title.new("Company","http://")

在附加窗口之前:

$ie.button(:xpath, "//input[contains(@onclick, \"path\")]").click

1 个答案:

答案 0 :(得分:0)

很抱歉要恢复旧帖子,但此信息必须在某处。 RE:这意味着watir没有创建URL内容。 如果您指向localhost,请尝试以管理员身份运行测试。