我的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
我的意思是,你使用简单的通知或推送通知? –