#ruby #selenium #watir-webdriver #testunit #selenium-grid2
#ruby #selenium #watir-webdriver #testunit #selenium-grid2
Вопрос:
Итак, речь идет не о параллельном запуске нескольких браузеров. Последовательно запускаются IE11, затем IE10, затем FireFox, ВСЕ они на разных виртуальных машинах, подключенных к Selenium Grid2.
Вот что у меня есть, запустив ОДИН браузер на ОДНОЙ виртуальной машине.
Файл: example_grid_ie11.rb
require "rubygems"
require "test/unit"
require "watir-webdriver"
class GoogleSearch < Test::Unit::TestCase
def setup
caps = Selenium::WebDriver::Remote::Capabilities.ie
caps.version = "11"
caps[:name] = "Testing with IE 11"
@browser = Watir::Browser.new(
:remote,
:url => "http://vm-auto.3mhis.vm:4444/wd/hub",
:desired_capabilities => caps)
end
def teardown
@browser.close
end
def test_search
@browser.goto "google.com"
@browser.text_field(:name => "q").set "watir"
@browser.button.click
@browser.div(:id => "resultStats").wait_until_present
@browser.screenshot.save ("GoogleSearch_IE11.png")
assert @browser.title == "watir - Google Search"
end
end
Теперь я не мог понять, могу ли я запустить несколько методов настройки и несколько разрывов, и какой браузер закрыть при разрыве.
gem-модуль тестирования дает мне хороший результат в стиле xUnit, плюс множество утверждений.
Ответ №1:
Используйте Test::Unit 2.x
gem install test-unit
Пример:
https://github.com/test-unit/test-unit
несколько настроек:
class TC_MyTest < Test::Unit::TestCase
def setup # first
@standard = MyClass.new
end
setup # second
def setup_alpha
@alpha = MyClass.new
end
setup # third
def setup_beta
@beta = MyClass.new
end
def test_stuff
assert_true(1 == 1)
end
end
множественные разборки:
class TC_MyTest < Test::Unit::TestCase
def test_stuff
assert_true(1 == 1)
end
def teardown # last
@standard = nil
end
teardown # second
def teardown_alpha
@alpha = nil
end
teardown # first
def teardown_beta
@beta = nil
end
end