首页 > 解决方案 > 在执行检测测试期间切换 Android 设备网络

问题描述

有没有人在仪器测试过程中切换设备网络运气好?我发现了一些不再受支持的过时的解决方案,例如这个

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

标签: androidandroid-espressoandroid-instrumentation

解决方案


好的,下面是我想出的在仪器测试期间启用/禁用网络的解决方案。感谢您对 UiAutomator Sandi 的参考!

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()
        }
    }
}

推荐阅读