アプリケーションをテストするために Radrails で watir を使用しています。テストでは 2 つのクラスを使用し、変数 @ie も使用します。2 つのクラスのコードは次のとおりです。
ファーストクラス:
class Title
def initialize(title,url,ie)
@title = title
@url=url
@ie=ie
@ie=Watir::IE.attach(:title, @title)
rescue Watir::Exception::NoMatchingWindowFoundException
puts ("could not find browser")
$r.addtoReport(testReport, "check page element", "FAILED", "Page title " + @title +" not found")
else
@ie=Watir::IE.attach(:url, @url)
end
end
セカンドクラス:
class Text_pos
def initialize(text, object,ie)
@text=text
@object=object
@ie=ie
if @ie.contains_text(@text)
puts("Test for " + @object + " passed")
$r.addtoReport($testReport, "check " + @object, "PASSED", "Test for " + @object + " passed" )
else
puts("Test for " + @object + " failed")
puts (@ie.link(:text => /Exception:/))
h= @ie.link(:text => /Exception:/)
$r.addtoReport($testReport, "check " + @object, "FAILED", h.text)
end
end
end
テスト本体の後半で、次のようなコマンドを実行します。
Text_pos.new("Glossary Of Terms", "login",ie)
Title.new("Company","http://ec2-50-16-62-110.compute-1.amazonaws.com:9100/bobsworld/BPM/Mtebpm000p0001Form.do?resetFilter_action=", ie1)
Text_pos.new("Title", "if page is loaded", ie1)
しかし、エラーが発生します - Test for login passed
BPM/try.rb:106:in
': undefined local variable or methodie1' for main:Object (NameError)