android - 在仪器测试执行期间切换 Android 设备网络

标签 android android-espresso android-instrumentation

有没有人有幸在仪器测试过程中切换设备网络?我发现了一些不再受支持的陈旧的过时解决方案 such as this one .

我似乎找不到这个问题的任何最新答案。我确信这是许多应用程序的常见测试场景。提前致谢!

最佳答案

好的,下面是我想出的一个解决方案,用于在仪器测试期间启用/禁用网络。感谢您对 UiAutomator 三迪的引用!

fun clickAirplaneMode(instrumentation: Instrumentation, targetContext: Context) {
    UiDevice.getInstance(instrumentation).run {
        targetContext.packageManager.getLaunchIntentForPackage("com.android.settings")?.let {intent ->
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
            targetContext.startActivity(intent)
            findObject(UiSelector().textContains("Network")).clickAndWaitForNewWindow()
            findObject(UiSelector().textContains("Airplane")).click()
        }
    }
}

关于android - 在仪器测试执行期间切换 Android 设备网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58403920/

相关文章:

android - 当我安装相同的应用程序时删除共享首选项数据意味着覆盖应用程序

android - 单击android中的后退按钮关闭进度条并停止后台任务(线程)

Android Espresso 断言问题

android - 多次调用 startLeScan 方法不能正确扫描 BLE 设备

Android 6 异常(谷歌地图?)

java - Espresso 2.2.1 - 检查是否显示 fragment 布局

android - 在 Espresso 中断言 EditText 值

Android Instrumentation 主页按钮

java - 如何在 Android Studio 中从 ApplicationTest.java 编辑 MainActivity 的 EditText 字段?

android - 等到 IdleResource View 变得可见