使用Test Unit的方式组织测试脚本,只有使用这种架构,才能进行assert
require "test/unit"
require "watir-webdriver"
class TC_myTest <Test::Unit::TestCase
def testcase1
$browser=selenium.Browser.new(chrome)
$browser.goto('http://10.32.148.243:8080/parkinglot/')
assert($browser.element(:text, 'floor Manage').click)
end
end
好有些常规的功能在所有的code之前,和后运行
# 在所有case运行之前进行一些操作
def setup
$browser = 'chrome' if $browser.nil?
$site = 'http://test.localhost' if $site.nil?
if $headless
require 'headless'
$headless = Headless.new
$headless.start
end
if $browser == 'chrome'
$b = Watir::Browser.new :chrome
elsif $browser == 'firefox'
$b = Watir::Browser.new :ff
elsif $browser == 'ie'
$b = Watir::Browser.new :ie
end
$b.goto $site
end
# 关闭所有的窗口
def teardown
$b.close
if $headless
$headless.destroy
end
end
通过上面的代码,会自动运行系统的default设定的浏览器,一直其设定的default的URL
当然, 使用参数化的过程来选择浏览器,也更加专业:
ARGV.each { |arg|
if arg.downcase.include? 'chrome'
$browser = 'chrome'
elsif arg.downcase.include? 'firefox'
$browser = 'firefox'
elsif arg.downcase.include? 'ff'
$browser = 'firefox'
elsif arg.downcase.include? 'ie'
$browser = 'ie'
elsif arg.downcase.include? 'headless'
$headless = true
end}