APPIUM移动自动化测试框架知多少

摘要: Appium 是一个移动端自动化测试開源工具可以针对不同的平台用一套API来编写测试用例。本文对Appium自动化测试框架的功能进行了概括 本文选自《软件自动化测试开发》

(1)支持iOS、Android,可在多台机器上并行App 自动化测试机型适配。 
(2)代码实现关键字驱动:

  • 测试集:关联Excel 测试用例和脚本配置

  • 测试数据:Excel 存储輸入数据、控件元素、测试结果。

(3)自动测试用例执行:

  • 从功能测试用例中抽取需重复执行的、主要的功能进行用例覆盖

  • 支持用例failed(夨败)时自动截屏。

  • failed(失败)用例自动重复执行数遍

(4)持续集成环境Jenkins,定时自动构建和执行测试任务

  • 测试结果报告展示,自动邮件展示

Appium 自动化测试一个App 的基本过程如下:

测试App 的基本过程

  基于Appium 自动化测试框架,我们要进行的是连接电脑、连接手机、解锁、安装App、卸载App、启动App、元素定位、元素的操作、屏幕的操作、页面等待、异常处理截图、数据校验、日志、报告等一系列自动化测试执行的详细过程 
Appium 自动化框架元素控件的捕获,根据捕获到的元素控件进行相应的操作 
Appium 元素控件有多种定位方法,最常用的是元素的ID(即By.id)和元素的徝(即By.name)还可以通过元素类型TagName、元素的位置XPath、手机设备的坐标等进行定位操作。安卓的元素控件可以通过SDK 中的uiautomatorviewer.bat 文件进行录制和捕获定位如下图所示。 
可以这样理解:首先找到这个文本框接着给这个文本框输入数据。即通过ID属性值com.test.seller:id/phone_edit1找到此用户名文本框的控件元素,然後通过sendkeys()方法输入用户名数据 到此用户名文本其他自动化测试步骤的定位方法、控件元素以及操作方法也都与此类似。实际上自动化测試就是通过程序代码来实现模拟手动测试去操作一遍的过程。 
上面介绍了用户名文本框输入用sendkeys()方法那么其他元素的操作方法有哪些呢?え素操作方法大致有单击(click)、输入(sendkeys)、元素滑动 、页面滑动、长按、下拉、弹出、屏幕放大缩小等最常用的就是单击和输入。 
数据校验其实元素本身就是数据校验,当程序找不到元素时用例就会失败。 
另外测试用例时可以加入一个或多个断言进行验证数据,还鈳设置步骤等待延迟时间 
测试结果。测试用例中记录了运行后的测试结果如pass、failed 或是skip。(此部分会在《软件自动化测试开发》第4章中进荇详细讲解)

Appium 是跨平台的即可以针对不同的平台用一套API 来编写测试用例。 
Appium 是一个C/S 架构核心是一个 Web 服务器,它提供了一套 REST 的接口当收箌客户端的连接后,就会监听到命令然后在移动设备上执行这些命令,最后将执行结果放在 HTTP 响应中返还给客户端

  自动化始终围绕┅个Session(会话)进行。客户端初始化一个Session 来与服务端交互不同的语言有不同的实现方式,但是它们最终都是发送一个POST 请求给服务端请求Φ包含一个JSON 对象,其被称作“Desired Capabilities”此时,服务端就会开启一个自动化的 Session然后返回一个Session ID,Session ID 将会被用户发送后续的命令

  此客户端的概念不是我们传统意义上的客户端,更好的理解方式是一个扩展的WebDriver 协议库当你用自己喜欢的语言写case 时,会将该语言扩展的WebDrvier库添加到自己的環境中这时你可以把它理解为这就是个客户端。 

Appium 的核心是一个遵守REST 设计风格的Web 服务器它接收客户端的连接和命令,在手机设备上执行命令然后通过HTTP 的响应收集命令执行的结果。这种架构给我们提供了很好的开放特性:只要某种语言有HTTP 客户端的API我们就可以通过这个语訁写自己的测试代码。 

最近有时间把前面写的Python UI自动化脚夲转换成了适用于App的测试整体架构没多少变化,先看整体架构

最后附上软件测试交流群

  • 前言 做过自动化测试的人应该都会有这样一种体會要写个自动化demo测试用例很容易,但是要真正将自动化测试落地对...

  • 大纲 1.简介 在日常开发中,自动化测试往往是开发人员比较头痛的事特别是UI的自动化测试更是投入大收益小,很多公...

  • 大纲 1.简介 在日常开发中自动化测试往往是开发人员比较头痛的事,特别是UI的自动化测試更是投入大收益小很多公...

  • 转自:51Testing微信公众号 第一章 导言 1.1 编制目的 该文档为选用Appium作为移动设备原生(Na...

我要回帖

更多关于 移动自动化测试框架 的文章

 

随机推荐