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");

Appium - WebView測试(Android)的更多相关文章

  1. 星云測试- Android应用深度体检专业平台

    星云測试-给你的Android应用做个深度体检   星云測试- Android应用深度体检专业平台 星云在线云測试(简称星云測试www.teststars.cc)是全球第一个公布并商用的数字化精准软件 ...

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

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

  3. Android单元測试之JUnit

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

  4. Android Gradle Plugin指南(四)——測试

    原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing 5.Testing(測试) 构建一个測试 ...

  5. 执行Android项目时指定特定的AVD进行測试

    一个Androidproject空间能够创建一个或多个AVD来对指定的Android项目进行測试,假设仅仅创建了一个AVD则执行Android项目时自然启动该AVD,但是假设创建了多个AVD那么我们该 ...

  6. android 性能測试CTS篇

    CTS介绍 一.CTS简单介绍 CTS 全称Compatibility Test Suite兼容性測试工具. 当电子产品开发出来.并定制了自己的Android系统后,必需要通过最新的CTS检測.以保证 ...

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

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

  8. Android性能測试 一些适用于Android Studio的代码审查和性能測试工具

    导言: Android应用在CPU占用,内存消耗方面的性能指标是影响产品质量的重要因素,因为QQ管家,360手机助手等应用都提供直观的内存消耗,流量监控功能,致使用户比以往更加关注软件的性能,并以此进 ...

  9. MAC中在eclipse luna上搭建移动平台自己主动化測试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录

    这几天由于原来在用的hp laptop的电池坏掉了,机器一不小心就断电.所以仅仅能花时间在自己的mackbook pro上又一次搭建整套环境.大家都知道搭建好开发环境是个非常琐碎须要耐心的事情,特别是 ...

随机推荐

  1. 每日英语:China's New Anti-Graft Website: A Tale of Tigers, Flies and Bath Tubs

    With considerable fanfare, China's anti-graft squad has rolled out a brand new website in the ongoin ...

  2. ny710 外星人的供给站

    外星人的供给站 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 外星人指的是地球以外的智慧生命.外星人长的是不是与地球上的人一样并不重要,但起码应该符合我们目前对生命基本 ...

  3. ny8 一种排序 sort

    一种排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数:现 ...

  4. 对JAVASCRIPT匿名函数的理解

    网上很多解释,我无法理解,我想知道原理...这篇文章应该可以透彻一点 Query片段: (function(){ //这里忽略jQuery所有实现 })(); 要说匿名函数,我们首先要由函数本身说起. ...

  5. div设置contentEditable="true"作为文本编辑器,定位光标解决办法

    function set_focus(el) {    el = el[0]; // jquery 对象转dom对象    el.focus();    if ($.browser.msie) {   ...

  6. RSS Feeds with Spring Boot

    http://nixmash.com/post/rss-feeds-with-spring-boot **************************************** We added ...

  7. IWDG—独立看门狗

    本章参考资料:<STM32F4XX 中文参考手册> IWDG 章节.学习本章时,配合<STM32F4XX 中文参考手册> IWDG 章节一起阅读,效果会更佳,特别是涉及到寄存器 ...

  8. localtime、localtime_s、localtime_r的使用

    (1).localtime用来获取系统时间,精度为秒 #include <stdio.h>#include <time.h>int main(){    time_t time ...

  9. 各种hash函数

    public class HashAlgorithms { /** * 加法hash * @param key 字符串 * @param prime 一个质数 * @return hash结果 */ ...

  10. java资料——线性表(转)

    线性表 线性表(亦作顺序表)是最基本.最简单.也是最常用的一种数据结构.线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的.线性表的逻辑结构简单, ...