0
我知道在大多數測試框架中,都有一個清理功能。我一直在從IRB運行一些測試,所以我想構建一個自動清理函數(就像析構函數一樣)。我嘗試了一些finalize類型的函數,但沒有一個關閉不需要的瀏覽器。有人解決了這個問題嗎?我可以爲在watir-webdriver中運行瀏覽器的類創建類似析構函數嗎?
IRB看起來像
d = Session.new
=> #<Session:0x1016c5e60 @browser=#<Watir::Browser:0x1016c5dc0 url="http://ipchicken.com/" title="IP Chicken - Whats my IP address? ip address lookup"
d.do_something_test
your test passed!
=> nil
d = nil
=> nil
隨着示例類像
require 'watir-webdriver'
class Session
attr_accessor :browser
def initialize
@browser = Watir::Browser.new
@browser.goto 'http://ipchicken.com'
end
def do_something_test
puts "your test passed!" if @browser.html.match /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
end
end
或者,也許我處理這個完全錯誤的!?提前致謝。
非常感謝斯坦尼斯拉夫。我有一個測試框架解決方案(我正在使用RSpec來完成),所以我可以很好地關閉after:all。但我正在與IRB合作,忘記在新會話之前關閉瀏覽器(懸掛進程)。如果可能,我寧願在析構函數中殺死它。但是這些信息非常有用(因爲我對正確的項目結構瞭解不多)。 – 2011-12-31 05:46:44