2012-07-10 114 views
0

我在RadRails IDE中使用Watir。我創建了一個類,它會檢查,如果一些文字是目前我的網頁上:未定義的方法`contains_text'爲零:NilClass(NoMethodError)

class Text 

    def initialize(text, object) 
    @text = text 
    @object = object 

    if $ie.contains_text(@text) 
     puts "Test for" + @object + "failed" 
     puts $ie.link(:text => /Exception:/) 

     h = $ie.link(:text => /Exception:/) 
     r.addtoReport(testReport, "check" + @object, "FAILED", h.text) 
    else 
     puts("Test for" + @object + "passed") 

     r.addtoReport(
      testReport, 
      "check" + @object, 
      "PASSED", 
      "Test for" + @object + "passed" 
    ) 
    end 
    end 

end 

但是,當我嘗試執行在我的測試代碼中,我碰到下面的錯誤 -

BPM/Company.rb:38:in `initialize': undefined method `contains_text' for nil:NilClass (NoMethodError) 
from BPM/Company.rb:79:in `new' 
from BPM/Company.rb:79:in `<main>' 

我打電話類此命令 -

Text.new("Menu", "login") 

變化碼 -

def initialize(text, object, ie) 
    @text = text 
    @object = object 
    @ie=ie 
    if @ie.contains_text(@text) 
     puts "Test for" + @object + "failed" 
     puts @ie.link(:text => /Exception:/) 

我該命令調用類 -

Text_pos.new("Terms", "login",$ie) 

在描述類即初始化ie=Watir::IE.new

回答

1

哪裏是$即來的呢? - 它似乎你沒有初始化即:

ie = Watir::IE.new 
+0

我已經改變了代碼和grt相同的錯誤,更新是在更新的問題 – khris 2012-07-11 09:34:23

相關問題