クライアントの Web サイトでのテストを自動化するために、この 1 週間で作成した 66 個の watir スクリプトがあります。
しかし、最近実装しようとしている MiniTest というテスト フレームワークについて知りました。
URL を変数として設定した理由は、これらのテストを実行する必要がある 5 つの異なるサイトがあるためです。別の Web サイトでパックを実行する必要がある場合は、個々の変数ではなく、その 1 つの変数を更新するだけで済みます。テスト。
require 'minitest/autorun'
require "watir-webdriver"
class MPTEST < MiniTest::Unit::TestCase
def setup()
url = "http://thewebsite.com/"
$browser = Watir::Browser.new :chrome
$browser.goto url
end
def test_myTestCase
$browser.link(:text, "Submit your CV").click
sleep(2)
$browser.button(:value,"Submit").click
assert($browser.label.text.includes?("This field is required"))
def teardown
$browser.close
end
end
それを実行すると、次の出力が表示されます。
NameError: undefined local variable or method 'browser' for #<MPTEST:0x4cc72f8>c:/directory stuff...
何か案は?
編集ブラウザは動作していますが、アサートに問題があります:
新しいコード:
require 'minitest/autorun'
require "watir-webdriver"
class MPTEST < MiniTest::Unit::TestCase
def setup()
url ="http://thewebsite.com"
$browser = Watir::Browser.new :chrome
$browser.goto url
end
def test_myTestCase
$browser.link(:text, "Submit your CV").click
sleep(2)
$browser.button(:value,"Submit").click
assert($browser.label.text.includes?("This field is required"))
end
def teardown
$browser.close
end
end
エラーは次のとおりです。
NoMEthodError: undefined method 'includes?' for "":String