现在多数App都是混合型的,有原生的也包含WebView的,appium测试的时候就需要在原生和WebView之间切换才能完成测试。
查看所有context
1 | Set<String> contextNames = driver.getContextHandles(); |
结果包含目前所有打开的app
1 | [NATIVE_APP, WEBVIEW_com.test.android, WEBVIEW_com.estrongs.android.pop, WEBVIEW_com.xxxxx.sjj] |
NATIVE_APP就是我的被测应用原生界面
WEBVIEW_com.test.android 是我的被测应用打开的WebView
另外两个一个是ES, 一个其他的应用(混合型的)
切换到WebView
我们可以通过context方法切换到指定的应用
1 | <pre name="code" class="java">driver.context("WEBVIEW_com.test.android"); |
切换完成后就可以像测试web应用一样测试了,所有的定位和web相同。
切换到NativeApp
测试完web应用,需要操作原生应用的时候就需要切换回NATIVE_APP
我们可以通过context方法切换到原生应用
1 | <pre name="code" class="java">driver.context("NATIVE_APP"); |
这样之后的操作就都是原生应用的操作了
DEMO
1 | /** |