在执行工具测试期间切换Android设备网络

时间:2019-10-15 23:44:19

标签: android android-espresso android-instrumentation

有人在仪器测试过程中碰到运气好吗?我找到了一些不再支持的such as this one hacky过时的解决方案。

我似乎找不到这个问题的最新答案。我确信这是许多应用程序的常见测试方案。预先感谢!

1 个答案:

答案 0 :(得分:0)

好的,下面是我提出的一种解决方案,用于在仪器化测试期间启用/禁用网络。感谢您对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()
        }
    }
}