gpt4 book ai didi

android - 如何将我的应用程序设置为 Espresso 测试中的默认应用程序?

转载 作者:行者123 更新时间:2023-11-29 02:17:39 26 4
gpt4 key购买 nike

我想编写一些 UI 测试,其中我的应用需要成为 Android 默认应用设置中的默认应用。应用程序中有一个首选项将启动默认应用程序屏幕,让我选择默认值然后返回,我将设置首选项。另一种方法是重置所有应用默认设置,启动带有链接的 Intent,然后从应用选择器中选择我的应用作为默认设置。

有没有办法使用 kotlin 和 espresso 以编程方式执行此操作?我已经阅读并尝试过 espresso-intents,但这只会让我启动默认应用程序屏幕,而不是选择我需要的内容。 Espresso 无法与外部 Activity 交互。

我没有任何代码示例可以分享,没有什么可以正常工作的。

最佳答案

该应用程序有一个将其设置为默认值的开关,它会触发默认应用程序屏幕(在标准的 Android 操作系统上,而不是自定义的),因此该方法如下所示:'''

private fun setDefaultBrowserToggle() = onView(withId(R.id.switch_widget))
private fun defaultBrowserAppList() = mDevice.findObject((UiSelector().text("Browser app")))
private fun myAppOption() = mDevice.findObject(UiSelector().text("<App Name>"))

fun selectDefaultBrowser(){
setDefaultBrowserToggle().click()
mDevice.waitNotNull(
Until.findObject(By.text("Browser app")),
TestAssetHelper.waitingTime
)
defaultBrowserAppList().click()
myAppOption().click()
mDevice.pressBack()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mDevice.pressBack() //needs an extra back press on Android O or higher, to return to the app
}
}

'''

关于android - 如何将我的应用程序设置为 Espresso 测试中的默认应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59319934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com