Appium - WebView测试(Android)
2015-07-23 13:04
288 查看
Appium - WebView测试
作者: Max.Bai
时间: 2015/07
NATIVE_APP就是我的被测应用原生界面
WEBVIEW_com.test.android 是我的被测应用打开的WebView
另外两个一个是ES, 一个其他的应用(混合型的)
我们可以通过context方法切换到指定的应用
切换完成后就可以像测试web应用一样测试了,所有的定位和web相同。
我们可以通过context方法切换到原生应用
这样之后的操作就都是原生应用的操作了
作者: Max.Bai
时间: 2015/07
Appium - WebView测试(Android)
现在App都是混合型的,有原生的也包含WebView的,appium测试的时候就需要在原生和WebView之间切换才能完成测试。1. 查看所有context
查看当前所有的窗口Set<String> contextNames = driver.getContextHandles(); System.print(contextNames);结果包含目前所有打开的app, 例如我打开了ES,我的被测应用,还有另外一个应用,
[NATIVE_APP, WEBVIEW_com.test.android, WEBVIEW_com.estrongs.android.pop, WEBVIEW_com.xxxxx.sjj]
NATIVE_APP就是我的被测应用原生界面
WEBVIEW_com.test.android 是我的被测应用打开的WebView
另外两个一个是ES, 一个其他的应用(混合型的)
2.切换到WebView
通过上面方法获得当前的所有context我们可以通过context方法切换到指定的应用
<pre name="code" class="java">driver.context("WEBVIEW_com.test.android"); driver.findElementByID("wd");
切换完成后就可以像测试web应用一样测试了,所有的定位和web相同。
3. 切换到NativeApp
测试完web应用,需要操作原生应用的时候就需要切换回NATIVE_APP我们可以通过context方法切换到原生应用
<pre name="code" class="java">driver.context("NATIVE_APP");
这样之后的操作就都是原生应用的操作了
4. Demo
/** * Switch to NATIVE_APP or WEBVIEW * @param sWindow window name */ private void switchToWindow(String sWindow) { LogManager.getLogger(this.getClass()).info("Swith to window: " + sWindow); Set<String> contextNames = driver.getContextHandles(); LogManager.getLogger(this.getClass()).info("Exists windows: " + contextNames.toString()); for (String contextName : contextNames) { if (contextName.contains(sWindow)) { driver.context(contextName); break; } } } switchToWindow("WEBVIEW_com.test.android"); driver.findElementByID("wd").sendKeys("test"); driver.findElementByID("sub").click(); switchToWindow("NATIVE_APP");
相关文章推荐
- 【swift】swift的md5
- android 关于webview离线观看
- 27个提升效率的iOS开源库推荐
- AES加密解密在JAVA和ANDROID下互通
- iOS数据存储
- Cocos2dx-Android混编实现头像切换(JNI使用)
- Android 高斯算法在"在路上"APP 的实现
- Android中icon和logo的区别
- ios北京总部感想
- Android中icon和logo的区别
- iOS 各种动画效果集合
- android“设置”里的版本号
- Android调用系统日历插入日程
- 【iOS开发系列】简单动画效果
- Cocos2dx-Android屏幕适配方案
- 【原创】Android studio入门详细教程,首次启动配置,不翻墙搞定
- Android LruCache用于Bitmap
- iOS开发,运行时错误:thread 1: signal sigabrt
- Cocos2dx-Mac下的环境配置
- Cocos2dx-C++和Lua数据通讯