我必須缺少明顯的東西在這裏:涉及Android系統的儀器測試應用程式
我的設備上運行的儀器測試的情況下,也與Robotium的幫助。在某些時候,我的測試應用程序會導致默認的電子郵件撰寫活動觸發。
我想知道的是:如何關閉該活動以便再次顯示我的應用活動?出於以下原因,至少需要:在當前測試用例完成後,電子郵件活動仍保留在前臺,這樣可以防止下一個測試用例正常運行。
我試圖發送所需的後退鍵到電子郵件活動 - 與this.sendKeys(KeyEvent.KEYCODE_BACK)
或solo.goBack()
- 但沒有運氣。
如果我運行solo.getCurrentActivity()
或this.getActivity()
我得到一個參考我包內最上面活動,但沒辦法得到的實際前景活動的舉行。另外,提到的sendKeys/goBack
直接去了我的活動,而不是電子郵件。
當我的應用程序啓動Play商店主要活動時出現同樣的問題。
我意識到電子郵件活動不是我測試的軟件包的一部分,這可能是問題的一部分。
那麼,有沒有辦法關閉電子郵件提示?
編輯
現在我堅持@Joe馬林第一個建議:
在我的視圖模型(或Controller),有private static boolean _productionMode = true;
,並且有一定的輔助方法(在某些內助更好,如果
public void dontLaunchExternalApps()
{
_productionMode = false;
}
然後,在一些視圖模型常規方法:
if (_productionMode)
{
launchSomeExternalApp();
}
else
{
// Do Nothing Or Set Some Internal Flag
}
類)僅測試期間使用的
感謝你回答。我已經進行了單元測試組件,TDD-ing以及運行集成/功能測試。我所說的測試實際上是一項功能測試。 我知道你的第一個建議基本上是讓活動檢測到它在測試模式下運行,所以不要真正啓動電子郵件編輯器,而是從外部做一些其他測試。這可能是一種方式... – superjos