0

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

4

1 に答える 1

1

$ie はどこから来たのですか? -- 初期化していないようです。

ie = Watir::IE.new
于 2012-07-10T09:33:30.210 に答える