嗨自動化/ iOS的專家,iPhone應用程序的UI自動化測試設計
我們最近推出了新的iPhone應用程序的項目,並想自動化使用蘋果的UIAutomation儀器的一些基本的驗收測試。現在我們有一個非常基本的框架來完成這項任務。這個框架簡單地封裝了Java提供的底層JS函數(以提供一些調試功能)並驅動Junit的測試。測試在iPhone模擬器中運行。
所以背景是Instruments + Eclipse + Java + Junit + iPhone模擬器。
在編寫測試時,我發現測試受應用「狀態」的很大影響。例如, 該應用程序首次運行時會顯示某種「使用條款」頁面,但在iPhone模擬器重置前不會再次顯示。在用戶接受「使用條款」後,她將被帶到「主頁」頁面,在那裏她可以輸入一些搜索條件並點擊「搜索」並進入搜索結果頁面。然後她可以進入「查看詳情」頁面。
TOU - >首頁 - >搜索結果 - >查看詳細信息。
請記住,這只是我的真實應用程序的一個非常簡化的版本。
現在問題: 爲了自動測試視圖細節函數,我的測試是否應該經歷所有前面的步驟(假設應用程序總是重新啓動而沒有保存任何狀態)? 或者我的測試應該假設一些先決條件(比如「View Detail」測試假設我的應用程序位於「搜索結果」)?
請給出您的理由。對不起,如果我的英語很難理解,因爲它不是我的母語。
謝謝!
文斯
感謝您的答覆,無液體。我已經有腳本來清除TOU。在所有測試中添加'TOU處理程序'對我來說並不合適,因爲我認爲測試應該關注他們自己的功能。而對於選項#1,我擔心我的'查看詳細信息'測試最終可能會有太多依賴關係? – vince 2012-07-25 01:53:12
同意,添加TOU處理程序將遠離測試的焦點。但是如果您擔心'查看詳細信息'將具有太多的依賴關係,那麼測試和其他人需要這樣的處理程序。那麼你不必擔心依賴關係。可以創建一個通用的'manage_dependencies'處理程序作爲應用於所有測試的集合。或控制你的執行順序,但仍然給你一個「依賴鏈」。 – aneroid 2012-07-25 20:38:10