因此,我開始創建一些使用Selenium RC直接在瀏覽器中測試我的Web應用程序的Ruby單元測試。我正在使用Selenum-Client進行紅寶石。我爲所有其他硒測試創建了一個基類來繼承。Selenium RC:在多個瀏覽器中自動運行測試
這將創建大量的SeleniumDriver實例,並在每個實例上調用缺少的所有方法。這本質上並行地運行測試。
其他人是如何實現這個功能的?
這是我實現:
class SeleniumTest < Test::Unit::TestCase
def setup
@seleniums = %w(*firefox *iexplore).map do |browser|
puts 'creating browser ' + browser
Selenium::SeleniumDriver.new("localhost", 4444, browser, "http://localhost:3003", 10000)
end
start
open start_address
end
def teardown
stop
end
#sub-classes should override this if they want to change it
def start_address
"http://localhost:3003/"
end
# Overrides standard "open" method
def open(addr)
method_missing 'open', addr
end
# Overrides standard "type" method
def type(inputLocator, value)
method_missing 'type', inputLocator, value
end
# Overrides standard "select" method
def select(inputLocator, optionLocator)
method_missing 'select', inputLocator, optionLocator
end
def method_missing(method_name, *args)
@seleniums.each do |selenium_driver|
if args.empty?
selenium_driver.send method_name
else
selenium_driver.send method_name, *args
end
end
end
end
這工作,但如果一個瀏覽器失敗,整個測試失敗,也沒有辦法知道它沒有哪個瀏覽器。
嗨丹尼爾,我有一個類似的問題。我想知道你能否幫忙。 [Selenium RC:如何使用多瀏覽器啓動交互式測試](http://stackoverflow.com/questions/2836313/selenium-rchow-to-launch-interactive-testing-with-multiple-browsers) – onesith 2010-05-14 17:54:13