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 通信

更新到项目后,在play store中替换apk文件

Apple Store 和 Google Play 商店隐私政策 URL

加固后,上传play store, 在 google play store 下载应用安装后,打开签名校验失败

增加 App Store 徽章的边距以匹配 Google Play 商店徽章的大小