Appium移动自动化框架

  • 时间:
  • 浏览:1

Session

  自动化始终围绕另4个 Session(会话)进行。客户端初始化另4个 Session 来与服务端交互,不同的语言有不同的实现法律妙招 ,否则 它们最终完整篇 都是发送另4个 POST 请求给服务端,请求含有有另4个 JSON 对象,其被称作“Desired Capabilities”。此时,服务端就会开启另4个 自动化的 Session,否则 返回另4个 Session ID,Session ID 机会被用户发送后续的命令。

Appium 框架的功能

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

(1)支持iOS、Android,可在多台机器上并行App 自动化,测试机型适配。

(2)代码实现关键字驱动:

上图中,Node Detail 下面的resource-id com.test.seller:id/phone_edit1 对应Excel 和代码中的定位法律妙招 By.id,控件元素数据text 137983595100 对应Excel 和代码中的操作法律妙招 sendkeys(),控件元素赋值数据为137983595100。

还不还还能不能所以 理解:首先找到你这个 文本框,接着给你这个 文本框输入数据。即通过ID属性值com.test.seller:id/phone_edit1,找到此用户名文本框的控件元素,否则 通过sendkeys()法律妙招 输入用户名数据137983595100 到此用户名文本。否则 自动化测试步骤的定位法律妙招 、控件元素以及操作法律妙招 也都与此例如。实际上,自动化测试所以 通过线程池池运行代码来实现模拟手动测试去操作一遍的过程。

中间介绍了用户名文本框输入用sendkeys()法律妙招 ,不里还还能不能则 元素的操作法律妙招 哪些呢?元素操作法律妙招 大致有单击(click)、输入(sendkeys)、元素滑动 、页面滑动、长按、下拉、弹出、屏幕放大缩小等,最常用的所以 单击和输入。

数据校验。我我随便说说元素有某种所以 数据校验,当线程池池运行找不还还能不能元素时,用例就会失败。

另外,测试用例时还不还还能不能加入另4个 或多个断言进行验证数据,还可设置步骤等候延迟时间。

测试结果。测试用例中记录了运行后的测试结果,如pass、failed 或是skip。(此每种会在《软件自动化测试开发》第4章中进行完整篇 讲解)

Appium Clients 客户端

  此客户端的概念完整篇 都是亲们 传统意义上的客户端,更好的理解法律妙招 是另4个 扩展的WebDriver 协议库,当你用另一方喜欢的语言写case 时,会将该语言扩展的WebDrvier库去掉 到另一方的环境中,这时让你把它理解为这所以 个客户端。

Appium Clients 客户端的安装包如下

Mac 机器上直接运行Appium.dmg;Windows 机器上运行Appium.exe。

Appium 介绍(参考Appium 官方资料)

  Appium 是另4个 移动端自动化测试开源工具,支持iOS 和Android 平台,支持Python、Java 等语言,即同一套Java 或Python 脚本还不还还能不能同去运行在iOS 和Android平台。

Appium 是跨平台的,即还不还还能不能针对不同的平台用一套API 来编写测试用例。

Appium 是另4个 C/S 架构,核心是另4个 Web 服务器,它提供了一套 REST 的接口。当收到客户端的连接后,就会监听到命令,否则 在移动设备上执行哪些命令,最后将执行结果插进 HTTP 响应中返还给客户端。

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

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

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

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

Appium 的核心是另4个 遵守REST 设计风格的Web 服务器,它接收客户端的连接和命令,在手机设备上执行命令,否则 通过HTTP 的响应采集命令执行的结果。你这个 架构给亲们 提供了很好的开放形态:若果有某种语言有HTTP 客户端的API,亲们 就还不还还能不能通过你这个 语言写另一方的测试代码。

[选自《软件自动化测试开发》,点此链接可在博文视点官网查看。

](http://www.broadview.com.cn/book/98?spm=5176.100239.blogcont68377.8.3af1054a4xMPTw)

测试App 的基本过程

  基于Appium 自动化测试框架,亲们 要进行的是连接电脑、连接手机、解锁、安装App、卸载App、启动App、元素定位、元素的操作、屏幕的操作、页面等候、异常正确处理截图、数据校验、日志、报告等一系列自动化测试执行的完整篇 过程。

Appium 自动化框架元素控件的捕获,根据捕获到的元素控件进行相应的操作。

Appium 元素控件有多种定位法律妙招 ,最常用的是元素的ID(即By.id)和元素的值(即By.name)。还还不还还能不能通过元素类型TagName、元素的位置XPath、手机设备的坐标等进行定位操作。安卓的元素控件还不还还能不能通过SDK 中的uiautomatorviewer.bat 文件进行录制和捕获定位,如下图所示。

Desired Capabilities

  Desired Capabilities 算不算则 键值对的集合(比如另4个 map 机会 hash)。客户端将哪些键值对发送给服务端,告诉服务端亲们 让你何如测试。比如,亲们 还不还还能不能把platformName capability 设置为 iOS,告诉Appium 服务端,亲们 让你另4个 iOS 的session,而完整篇 都是另4个 Android 的session。

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

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

测试脚本:由Java 和TestNG 编写,分层形态有case、log、config、report 以及data 等。

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

Appium Android/iOS 工作原理

  API 接口调用Selenium 的接口,Appium Server 接收WebDriver 标准请求,解析请求内容,调用对应的框架响应操作。代码将DesiredCapability 中的键值对组合成另4个 JSON,否则 通过HTTP 协议发送到Appium服务器创建另4个 session。代码与Appium的所有交互完整篇 都是围绕着你这个 session 进行的。session 创建成功后,Appium 再通过USB接口与手机之间创建TCP 连接,先安装否则 服务端App,比如Android API 4.2+是uiautomator,Android 2.3+是Instrumentation;机会是iOS,则是UiAutomation。手机的操作完整篇 都是由Appium 发送指令到uiautomator,否则 再由uiautomator 进行控制的。

Appium 原理图如下。

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

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

Appium Server 服务端

  Appium Server 是用 Node.js 写的,亲们 既还不还还能不能用源码编译,也还不还还能不能从 NPM 直接安装。

Appium 服务端有所以语言库,如 Java、Ruby、Python、PHP、JavaScript 以及C#等,哪些库都实现了 Appium 对 WebDriver 协议的扩展。当使用 Appium 的前一天,你只需使用哪些库代替常规的 WebDriver 库就还不不还还能不能。