我的android應用程序有一個服務,它根據應用程序的運行次數等參數向用戶發送通知。通知在不同情況下的不同時間發送。我想測試在所有不同情況下是否在正確的時間發送通知。 Android是否提供了這種測試的方式?Android中的測試通知
回答
閱讀請這篇文章
http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html
在這裏,你會發現這個話題很好的解釋:
Espresso
爲Android是完美的和快速的自動化測試框架, 但它有一個重要的限制 - 您只能在測試環境下的應用程序內運行 。這意味着它是不可能像這樣的應用自動化測試 特點:
- 應用推送通知
- 聯繫人同步
- 下試從另一個應用程序導航到你的應用程序,
因爲您必須處理來自移動設備的其他應用程序 -
NotificationBar
,Contacts
或People
應用程序等事實上,它是不可能的,直到發佈
UIAutomator 2.0
。正如 在Android Developers博客文章中所述 - 「...最重要的是,UI Automator
現在基於Android Instrumentation ...」。並且因爲我們可以運行UIAutomator
測試以及Espresso
測試 使用Instrumentation test runner
。此外,我們可以結合UIAutomator與
Espresso
測試一起測試,這爲我們提供了真正的權力和控制的 手機和應用測試。使用UIAutomator
測試通知: -
只需經過下面的代碼。它會幫助你測試通知。
UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
device.openNotification();
device.wait(Until.hasObject(By.text(NOTIFICATION_TITLE)), TIMEOUT);
UiObject2 title = device.findObject(By.text(NOTIFICATION_TITLE));
UiObject2 text = device.findObject(By.text(NOTIFICATION_TEXT));
assertEquals(NOTIFICATION_TITLE, title.getText());
assertEquals(NOTIFICATION_TEXT, text.getText());
title.click();
device.wait(Until.hasObject(By.text(ESPRESSO.getName())), TIMEOUT);`
不要忘記在build.gradle中添加UIAutomator依賴關係。
`//UIAutomator dependency
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'`
由@ dcr24發佈我還沒有足夠的知名度評論。 Prem Choudhary的回答非常巧妙,但重要的是要注意,這隻在解鎖設備的前提下才起作用,否則device.openNotification()將不適用於鎖定屏幕。 –
- 1. Android綁定和JUnit通知測試
- 2. 如何使android單元測試通知?
- 3. 檢測新的Android通知
- 4. 測試NS通知傳遞
- 5. 測試通知發送
- 6. 我可以使用Android的測試框架測試狀態欄通知嗎?
- 7. 如何測試推送/ C2DM通知到Android應用程序?
- 8. 如何在android上測試推送通知?
- 9. 測試Android中
- 10. 在TestFlight上測試推送通知
- 11. 如何測試生產推送通知
- 12. 如何在測試時查看通知?
- 13. 測試推送通知與生產apns
- 14. 測試蘋果推送通知服務
- 15. 單元測試iOS 10通知
- 16. 使用rspec測試ActiveSupport ::通知
- 17. iPhone - 測試是否通知存在
- 18. Android:從通知欄中刪除通知
- 19. 從android通知欄中刪除通知
- 20. 檢測android通知 - 沒有AccessibilityService
- 21. Android onCreate()未通知通知
- 22. android在android中的webView通知android
- 23. Scrutinizer說特拉維斯通知「測試失敗」,但測試確實通過
- 24. Android中的計劃通知
- 25. Android中的Firebase通知
- 26. Android遊戲中的通知
- 27. android中的通知聲音
- 28. Android中的Edittext通知
- 29. AlarmReceiver中的Android通知
- 30. Android中的通知問題?
您正在使用哪種通知服務? –
我正在使用後臺服務,每隔幾天發送一次通知。 – user12345
我的意思是,你使用簡單的通知或推送通知? –