博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UII自动化之Appium
阅读量:2243 次
发布时间:2019-05-09

本文共 1532 字,大约阅读时间需要 5 分钟。

1、Appium是什么

    Appium是一个开源、跨平台的测试框架,基于webdriver(又名Selenium 2,集成了 Selenium 1.0 以及以前的WebDriver,既支持 Selenium API 也支持 WebDriver API)测试框架添加对移动设备自动化api扩展而成,可以用来测试原生APP以及混合的移动端应用,支持iOS、Android及Firefox OS等终端平台。

    对APP进行黑盒的自动化测试,提供了模拟各种手势操作(点击、滑动、长按等)、查找和断言机制的API,能够对各种UI控件进行操作。

    UI层的自动化测试的本质都是让工具帮人实现点击、输入或等长按操作,怎么让工具做到这些操作了,当然就是依靠页面元素的定位,无论Web端还是APP端都是这样的。在Android平台上通常都是使用由Android SDK自带的工具uiautomatorviewer.bat帮助识别UI控件的布局和属性。

2、Appium自动化测试原理

     Appium是以c/s模式的,Appium就是服务器端,移动设备就是客户端。

     Appium启动后会在PC端默认开启并监听4723端口;启动测试后会先调用adb完成一些基本的系统操作,比如检查当前可连接设备,然后会把Bootstrap.jar注入到移动设备中,这样Appium服务器就与移动设备之间建立起一个Socket通信管道;服务器端通过这个管道把测试脚本以json数据的形式向客户端POST指令,bootstrap接受到指令就会驱动uiautomator库或者uiautomation框架(是基于uiautomator框架实现查找注入事件,iOS是基于uiautomation框架实现查找注入事件)执行这些命令,此时在移动设备上就可以看见被测APP自动化的操作了;某个测试用例完成之后,客户端同样会通过管道返回一段json数据给服务器端,用以判断该case是否通过。

3、Appium程序实例

3.1、环境搭建

第一步、Android测试开发环境。使用的是集成式的ADT,步骤见《Android测试开发.docx》。

第二步、安装node.js。因为服务器端是依靠nodes.js,因为appium是依赖node来解释的,

安装后一般会自动添加到环境变量PATH中,可以按如下方式验证:

第三步、安装Appium。下载地址是http://appium.io/,安装完成之后把{安装目录}\node_modules\.bin\配置到PATH中,可以按如下方式验证:

3.2、创建自动测试工程

第一步、准备一个设备,可以是真机也可以是模拟器,本次演示Android原生的模拟器。创建一个AVD,版本是4.4.2,启动且解除锁定。

第二步、准备jar包。Java测试工程中需要的API都定义在这些包中,有三个:selenium-java-*.jar、selenium-server-standalone-*.jar和java-client-*.jar。

第三步、启动Eclipse,创建Java工程中,具体见截图。

第四步、启动Appium。有两个启动文件,一是{安装}\Appium.exe,会启动一个Appium专用的控制台;而是{安装}\node_modules\.bin\appium.cmd,会占用DOS窗口作为自己的控制台。这两种方式其实是一样的,本次演示就使用第一种方式。

第五步、以JUnit Test方式run这个工程。

运行过程中,Appium的日志

运行过程中以及运行结束后,可在JUnit中查看过程和结果

4、具体讲解3.2中的第三步

4.1、创建Java工程

4.2、解释用例脚本

你可能感兴趣的文章
Could not initialize class net.sf.json.JsonConfig错误解决
查看>>
Java编程思想重点笔记(Java开发必看)
查看>>
eclipse 创建maven 项目 动态web工程完整示例
查看>>
前端JSP与Spring MVC交互实用例子
查看>>
使用maven一步一步构建spring mvc项目
查看>>
hadoop map reduce 阶段笔记
查看>>
java jackcess 操作 access
查看>>
Git问题Everything up-to-date解决
查看>>
Hadoop HDFS文件操作的Java代码
查看>>
Hadoop学习笔记—3.Hadoop RPC机制的使用
查看>>
Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
查看>>
JTS Geometry关系判断和分析
查看>>
GIS基本概念
查看>>
Java文件操作①——XML文件的读取
查看>>
java学习总结之文件操作--ByteArrayOutputStream的用法
查看>>
Java生成和操作Excel文件
查看>>
Java的三种代理模式
查看>>
java静态代理与动态代理简单分析
查看>>
JTS Geometry关系判断和分析
查看>>
阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
查看>>