查看股票測試用例
看股票頁面顯示一個公司列表。用于這個頁面的測試用例非常簡單,所以被包括在前一個測試用例的后面。該測試用例驗證當前位置是否為 /main/list_stocks,以及頁面是否包含文本 Click on a company name to view details。
查看股票細節用例
查看股票細節用例是在查看股票頁面上觸發的。用戶在一個公司名稱上單擊鼠標時,就觸發了到服務器的一個 Ajax 請求。服務器的響應包括該公司的詳細信息,這些信息將插入到當前頁面中,而不必重新裝載完整的頁面。用于這個用例的測試用例執行以下用戶操作:
Acme Oil
。 Acme Automotive
。 由于使用了 Ajax,請求是異步發生的。在一般的 Web 應用程序中,所有東西通常都是同步的,因此這一點提出了一種不同的挑戰??梢韵駵y試其他功能一樣來測試 Ajax 功能。惟一的不同是,必須讓 Selenium 暫停,等待 Ajax 命令完成。為此,可以使用 pause 命令來等待 Ajax 命令的完成。另外,Joseph Moore 在他最近的 blog 貼中提到,還可以使用 waitForValue 和 waitForCondition 命令代替 pause 命令(見 參考資料)。
圖 3 展示了被轉換成 Selenium 用例的需求。
圖 3. 查看股票細節測試用例
注意 pause 命令:必須使用這些命令,以便等待異步請求完成和更新頁面內容。如果沒有 500 毫秒的暫停,測試將失?。ㄈ?圖 4 所示)。
圖 4. 失敗的查看股票細節測試用例
pause 命令還測試 Ajax 功能的非功能性需求。500 毫秒對于 pause 命令是一個很好的值,因為 Ajax 請求應該快速地執行和完成??梢栽囍サ?pause 命令,看看結果如何。如果測試在您的機器上失敗,那么試著將這個值增加到 1000 毫秒。
退出用例
退出用例很容易實現,簡單來說只有以下兩步:
單擊退出鏈接。
驗證是否成功退出。
圖 5 展示了最后這個測試用例。
圖 5. 退出用例
所有測試都被添加到 圖 6 左側顯示的缺省測試套件中。
圖 6. 示例應用程序的測試套件
執行測試套件
最后要做的是在 Mozilla Firefox 和 Microsoft Internet Explorer 中執行測試套件。為此,在瀏覽器中打開 http://localhost:3000/selenium/TestRunner.html,然后單擊 圖 6 中所示的 All 按鈕。失敗的測試用例和斷言將被標記為紅色,但是這里,在兩個瀏覽器中所有用例都應該可以成功完成(同樣見 圖 6)。注意,我使用的是 Mozilla Firefox 1.0.7 和 Internet Explorer 6.0。
還可以單步調試測試套件,這意味著 Selenium 將很慢地執行測試套件,這樣當測試套件在瀏覽器中執行時,就可以看到它的每一步。
結束語
Selenium 是軟件工程師、設計人員和測試人員的工具箱中又一個有用且重要的工具。通過將該工具與持續集成工具相結合,團隊就可以將驗收測試自動化,并構建更好的軟件,因為他們可以更容易、更早、更頻繁地發現 bug。Selenium 的另一個優點是可以節省時間,使開發人員和測試人員不必將時間花在本可以(也應該)自動化的手工任務上,從而讓團隊將精力放在更有價值的活動上。
原文轉自:http://www.anti-gravitydesign.com