使用Appium测试Hybrid App的方法
来源:互联网 发布:windos系统优化设置 编辑:程序博客网 时间:2024/03/29 08:11
使用Appium测试Hybrid App的方法
一、Hybrid app是移动混合应用程序,即在移动应用程序中嵌入了Webview,通过Webview访问网页移动应用和Webview分别属于两个不同的上下文,移动应用默认的Context为“NATIVE APP",Webview默认的Context为“WEBVIEW_+被测进程名称”。测试Webview中的网页内容时,需要切换到Webvicw的Context下,代码如下:
Set<String> contextNames = driver.getContextHandles(); for (String contextName : contextNames) { // 用于返回被测app是NATIVE_APP还是WEBVIEW,如果两者都有就是混合型App System.out.println(contextName); if(contextName.contains("WEBVIEW")){ // 让appium切换到webview模式以便查找web元素 driver.context(contextName); System.out.println("切换到webview:"+contextName); } }
二、定位webview中的元素
当使用uiautumator viewer查找元素属性时,有时识别不到webview中的元素,如下图:
可以使用Chrome的Devtools(需翻墙)来定位webview中的元素:
1、先将测试手机USB调试开关打开,再将手机与电脑连接上。
2、在手机自带的浏览器中打开百度。
3、打开电脑上的Chrome浏览器,在地址栏输入“chrome://inspect/#devices",确定。如下图:
说明:
进入改地址后可以看到手机的信息,如:Redmi Note 3
4.点击上图中的“inspect”,打开如下窗口,注意:必须要翻墙,不然打开的是空白页
5、这时就可以定位元素,操作方法见下图:
6、根据xpath定位到元素就可以写测试用例了
7、操作完webview了记得切回到NATIVE APP:
driver.context(NATIVE APP);
三、使用 driver.getContextHandles() 只获取到NATIVE APP的情况。
出现这种情况的原因可能有以下两种:
第一种情况:测试手机不是android4.4以上的版本。而4.4以下版本的Webview没有使用Chrome内核,只有在Selendroid模式中才支持4.4以下的内核。所以需要在Desired Capabilities中添加这句代码:
SetCapability("automationName") = "Selendroid";
第二种情况:程序中使用的Webview不是Chrome内核。而Appian只支持Chrome内核。所以Appium就不能获取该Webview的Context。例如腾讯的X5内核。
0 0
- 使用Appium测试Hybrid App的方法
- 使用Appium测试hybrid程序
- 使用appium进行iOS App测试
- 使用Appium测试你的iOS APP ,然后执行第一个自带的测试实例
- Appium 测试 app 滑屏
- Appium测试混血App
- Appium 中 iOS 下的 Hybrid
- appium+python测试app使用相对坐标定位元素
- Appium 使用 Python 运行 Appium 测试的示例
- app自动化测试3---appium
- appium对于混合app的webview页面的测试
- Android自动化测试之appium的使用
- 使用testsuit执行测试用例,选择特定用例执行多次的方法(appium+python)
- 当Xcode大于等于8时,如何使用Appium Desktop 获取iOS APP控件的id进行自动化测试
- appium启动app启动的activity的方法总结
- [Android测试] AS+Appium+Java+Win 自动化测试之七: 写脚本测试自己的app
- hybrid app
- Hybrid App
- git第六讲_git的分支命令详解
- 【Java每日一题】20161209
- 广度优先搜索_suuccess
- spring mvc 下载文件 IE浏览器文件名是乱码
- 考试1
- 使用Appium测试Hybrid App的方法
- linux 文档的压缩和打包
- 考试2
- SVN和GIT的比较(一)
- Spring ,Springmvc,mybatis三大框架整合的配置文件支持
- Matlab 球坐标-直角坐标转换sph2cart
- 自定义滚动条插件
- oracle 索引
- http状态码