Espresso:与 Play Store Popup 互动
Posted
技术标签:
【中文标题】Espresso:与 Play Store Popup 互动【英文标题】:Espresso: Interact with Play Store Popup 【发布时间】:2017-07-06 08:25:18 【问题描述】:在我正在开发的应用程序中,有一个按钮可以打开应用程序的 Google Play 商店页面。使用 Espresso,我想检查是否打开了正确的页面。
// this is the code I already have
onView(withId(R.id.SettingsButton)).perform(click());
onView(withId(R.id.RateAppButton)).perform(scrollTo(),click());
// now the Play Store should be opened (like a popup)
现在我想知道显示的应用标题是否包含正确的应用名称,以及它是否是实际的 Play 商店页面。由于 Espresso 在某种程度上不与此视图中的按钮交互,我有哪些选项? 如何使用这个新视图?
【问题讨论】:
【参考方案1】:正如您正确提到的,espresso 可以与您自己的包装进行交互。 要与其他应用程序或 android 系统 UI(例如权限对话框)交互,您必须使用 ui-automator。
ui-automator 如果您将其与 espresso 结合使用,效果会很好,您只需使用 espresso 在您的应用中打开 playstore 链接,然后使用 ui-automator 检查新屏幕(还可以按系统返回按钮返回您的应用)。
例如,您可以使用类似的方法来检查是否出现了正确的标题:
UiObject titleLabel = mDevice.findObject(new UiSelector().text("Your Title"));
if(!titleLabel.exists())
throw new RuntimeException("wrong title!");
更多示例请参见blogpost。
【讨论】:
以上是关于Espresso:与 Play Store Popup 互动的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用与 Play Store AAB 相同的密钥签署 App Center APK?
Play Store 上发布的应用程序无法与 Google Maps API 和 Facebook API 通信
Apple Store 和 Google Play 商店隐私政策 URL