2013-01-17 119 views
0

我嘗試使用Robotium測試登錄方案。我的困惑是,我如何測試以下內容:使用Robotium處理隨機對話框

情況1:如果在Web服務調用期間發生錯誤並且隨機顯示對話框,我該如何處理。因爲我不確定是否會出現此對話框。案例2:如果這件事情得到處理,測試是失敗還是通過?因爲成功登錄,用戶應該導航到下一個屏幕。

回答

2

您知道何時何地可以發生此對話,因此可以在代碼中處理對話。例如:

可以說你有一個這樣

solo.clickOnView(view1); 

solo.clickOnView(view2); 

一些代碼,你知道該對話框可以將測試的這兩個步驟中,您可以在代碼的地方就是這樣的:

if(solo.waitForView(dialogView, 1000, false)){ 
    solo.clickOnView(dialogDismissButton); 
    solo.clickOnView(view2) //retry the step above 
} 

如果它可能再次發生錯誤,將這些調用放入函數並遞歸地/循環通過嘗試此循環一段時間,然後才能使測試失敗。

至於案例2.那麼這取決於你的成功標準,理想情況下,如果我是你,我會嘗試刪除任何外部依賴,導致上述錯誤,所以它永遠不會發生,但如果你堅持它片狀。那麼用戶認爲這是一個錯誤?我可能會說,如果你的生產應用程序沒有經常登錄,那麼應用程序出現問題,我會失敗的那一步,而不是實現上面的點,但這是我的解釋,告訴業務分析師/客戶/最終用戶並獲得他們的觀點。