我在过去一周创建了 66 个 watir 脚本,用于在客户网站上进行自动化测试。
然而,我最近发现了一个名为 MiniTest 的测试框架,我现在正在尝试实现它。
我将 URL 设置为变量的原因是因为这些测试需要在 5 个不同的站点上运行,所以当他们希望我在不同的网站上运行我的包时,我只需要更新该 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