
142
|
第九章
驅動器(Drivers)
雖然測試函式庫可以協助我們達到一定程度的自動化,但如果要在很多種不同的瀏覽器
上執行這些測試程式,還是會有點麻煩。如果要程式設計師在每次提交程式碼之後,都
分別在五種不同的瀏覽器上重複執行五次測試程式,似乎不是很有效率的做法。驅動器
(Drivers)正是為了解決這樣的問題應運而生。它們是一些在背景執行的程式,可以自
動整合各種不同的瀏覽器、執行 JavaScript 測試程式,並在測試失敗時發送通知。
如果要在每位程式設計師的電腦上建置瀏覽器驅動器(driver)的測試環境,可能得花
上不少時間。因此大部分的公司都會準備一台持續整合伺服器(continuous integration
server),每當有人提交新的程式碼進伺服器時,伺服器就會自動執行所有的 JavaScript
測試程式,確保所有的測試都能順利通過。
Watir(
http://watir.com
)(發音同「water」) 是 Ruby 的瀏覽器驅動器函式庫,它可以整
合 Chrome、Firefox、Safari,以及 IE(不同的瀏覽器需搭配不同的作業系統平台)。安
裝好 Watir 後,透過 Watir 執行一些 Ruby 指令,就可以驅動瀏覽器,並模擬使用者在瀏
覽器上點擊超連結、在表單中輸入資料…等動作。你可以利用它執行你所準備的測試案
例,確認程式的執行結果是否如預期:
# FireWatir drives Firefox
require "firewatir"
browser = ...