Appium - WebView測试

作者: 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");

转载于:https://www.cnblogs.com/lxjshuju/p/6754189.html

Appium - WebView測试(Android)相关推荐

  1. 【金阳光測试】大话Android自己主动化測试--Android自己主动化系列(1)--金阳光于2013年4月份...

    Android自己主动化測试框架和工具在四年多的发展日趋成熟. 从五年前的第一代自己主动化架构演进到眼下第四代(本系列讲座第7篇后将具体剖析第三代和第四代自己主动化框架)从曾经最早谷歌推崇的monke ...

  2. Android单元測试之JUnit

    随着近期几年測试方面的工作慢慢火热起来.常常看见有招聘測试project师的招聘信息.在Java中有单元測试这么一个JUnit 方式,Android眼下主要编写的语言是Java,所以在Android开 ...

  3. (4.5.4)Android測试TestCase单元(Unit test)測试和instrumentationCase单元測试

    Android单元和instrumentation单元測试 Developing Android unit and instrumentation tests Android的单元測试是基于JUnit ...

  4. 太白---落燕纷飞第一重 Android单元測试Instrumentation和irobotium

    PS:叫太白---落燕纷飞纯粹好玩(天涯明月游戏画面感,打击感,碰撞尽管做的不尽人意,可是太白这个职业还是不错,用作开头,,做个旁白而已). 这里的单元測试不管是instrumentation还是ir ...

  5. 香蕉派路由功Openwrt、Android功耗对照測试

    路由这个东西是要长期通电使用的,所以功耗也是须要关注的.如今香蕉派路由已经有了openwrt和android两个 系统,这两个系统的功耗是否一样呢? 測试工具:QUIGG的德国产功耗測试仪一个.手机充 ...

  6. Android測试APP工具(一)

    近期面试APP开发者的时候,遇到了技术总监问 APP測试的概念性问题.后面感觉主要的项目流程.项目逻辑.屏幕适配. 測试是全然没有问题的.可是对于APP的性能測试.压力測试等高端的測试.还是存在着美中 ...

  7. Android自己主动化測试之Monkeyrunner用法及实例

    眼下android SDK里自带的现成的測试工具有monkey 和 monkeyrunner两个.大家别看这俩兄弟名字相像,但事实上是完全然全不同的两个工具,应用在不同的測试领域.总的来说,monke ...

  8. 【Android进阶】Junit单元測试环境搭建以及简单有用

    单元測试的目的 首先.Junit单元測试要实现的功能,就是用来測试写好的方法是否可以正确的运行,一般多用于对业务方法的測试. 单元測试的环境配置 1.在AndroidManifest清单文件的Appl ...

  9. Android 进行单元測试难在哪-part3

    原文链接 : HOW TO MAKE OUR ANDROID APPS UNIT TESTABLE (PT. 1) 原文作者 : Matthew Dupree 译文出自 : 开发技术前线 www.de ...

最新文章

  1. pytorch学习——torch.cat和torch.stack的区别
  2. 线性表的应用之多项式的表示与相加
  3. 常使用的webserver地址
  4. NEFU704(AC自动机+状态压缩)
  5. 利用数据的商业智能分析工具
  6. Android之混淆代码总结
  7. 基于JAVA springboot+mybatis 电商书城平台系统设计和实现
  8. ehcache springboot_阿里内部进阶学习SpringBoot+Vue全栈开发实战文档
  9. 类 kotlin(13)
  10. 自动化Ansible常见命令
  11. 名片识别信息分类python_名片识别API接口_免费数据接口 - 极速数据
  12. iptables 端口转发--内网实现上网
  13. mysql字符集编码解析_MySQL字符集编码的理解
  14. 一文看懂人工智能行业
  15. 一套数据中心弱电系统安全运维服务方案,完整版素材!
  16. 怎样把计算机里的W0rd放到电脑桌面,当电脑桌面没有WORD文档时怎么打开WORD文档...
  17. c语言qq自动回复,QQ自动回复
  18. centos7.6 安装docker
  19. 备赛全国阳光健身健美大赛训练记录(粗略)
  20. Xneomai 简介

热门文章

  1. c语言累积乘,C语言编程累积2
  2. MySQL5.5编译工具configure向cmake过渡指南
  3. 【转帖】Eclipse快捷键指南
  4. 思杰VDI外篇XDDC安装
  5. Sainkho Namtchylak-Old Melody那浓郁的忧伤
  6. exec 直接赋值_了解 JavaScript 解构赋值
  7. 2020-02-06 asm内联汇编
  8. “重疾险”和“重大疾病医疗保险”的区别
  9. oracle buffercache,Oracle DBA开发之:使用sql来查看buffer cache的使用情况
  10. linux自动更新漏洞,Linux爆本地提权漏洞 请立即更新udev程序