
測試與除錯
|
145
你可以自行在
@selenium
物件裡,補上一些判斷式,像是以下這段範例程式碼,就是用
判斷式確認某段特定文字是否有出現在網頁上:
def test_selenium
# ...
assert @selenium.is_text_present("elvis")
end
如果想了解更多關於 Selenium 的資訊,可以觀賞官方網站所提供的教學影片(
http://
seleniumhq.org/movies/intro.mov
)。
在無資訊輸出的環境測試(Headless Testing)
隨著伺服器端的 JavaScript 實作(像是 Node.js 和 Rhino)問世,讓我們得以完全不用瀏
覽器、在無資訊輸出的環境(headless environment)、單靠命令列(command line)就
能執行 JavaScript 的測試程式。這種測試方式的好處有二,第一是速度快,第二是較容
易建置測試環境。因為不需考慮各種不同的瀏覽器,也不用準備持續整合伺服器。但這
種測試方式有個缺點,就是測試環境和正式上線後的真實執行環境會有落差。
這個問題看起來似乎很嚴重,但若細想,其實也稱不上什麼大問題。因為其實一般的
JavaScript 程式中,大部分的重點都是和瀏覽器無關的程式邏輯。此外,像 jQuery 這類
的函式庫,已經幫我們處理掉大多數的跨瀏覽器相容性問題(像是 DOM 元件和事件的
管理)。對於一些小型的應用程式而言,只要在正式上線前,先把程式部署到一台模擬
正式環境的伺服器上( ...