RadRails IDE で Watir を使用しています。Web ページにテキストが存在するかどうかをチェックするクラスを作成します。
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 が初期化されますie=Watir::IE.new