1.3 在iOS设备上进行测试

本文约1100字,阅读全文可能将花费4分钟

1. 概要

当我们第一次使用AirtestIDE进行iOS测试的时候,会觉得有些无所适从,该从那里开始进行测试呢?

本文为大家介绍一下,如何从不了解AirtestIDE,到入门使用AirtestIDE进行iOS测试,本文讲分以下几个方面进行介绍:

  • 关于iOS自动化测试
  • 部署iOS-Tagent
  • 连接iOS设备
  • 使用Airtest图像识别方式进行录制和运行脚本
  • 使用Poco方式对进行录制和运行脚本
  • 一些其他的问题

2. 关于iOS自动化测试

针对iOS的自动化测试方案有几个常见的方案,最常见也是苹果官方推荐的一种是直接在xcode项目中编写测试代码,用xcode进行测试,随之而来的问题是测试代码和项目的代码的耦合度比较高,比较复杂。

Airtest Project提供了一种新的思路,使用python作为脚本语言,基于可视化的方式进行自动化脚本编写。并使用了优化后的WebdriverAgent(iOS-Tagent)作为运行时设备控制的底层框架,其极大的优化了执行效率,使得iOS自动化测试达到了前所未有的简单和便捷。

3. 部署iOS-Tagent

在执行iOS测试的第一步是要部署iOS-Tagent,具体的部署教程可以参见github链接或者AirtestIDE官方文档

遵循部署教程的步骤,当你看到这样的日志的时候代表项目已经启动成功了:

Test Suite 'All tests' started at 2017-01-23 15:49:12.585
Test Suite 'WebDriverAgentRunner.xctest' started at 2017-01-23 15:49:12.586
Test Suite 'UITestingUITests' started at 2017-01-23 15:49:12.587
Test Case '-[UITestingUITests testRunner]' started.
t =     0.00s     Start Test at 2017-01-23 15:49:12.588
t =     0.00s     Set Up

一般情况下,需要通过设置usb代理的方式访问手机上的Agent,直接通过wifi对手机进行访问可能会出现问题,具体的原因可以参考 Issuesdetail

可以使用 iproxy

$ brew install libimobiledevice
$ iproxy 8100 8100

| 启动成功后,可以试着访问http://127.0.0.1:8100/status
| 如果访问成功并且可以看到一些json格式的手机信息,即表示启动成功。

4. 连接iOS设备

在完成以上的步骤之后就可以开始使用AirtestIDE进行设备的连接了,简单来说,连接iOS设备只需要二个步骤:

  • 打开AirtestIDE
  • 输入url,点击连接

在部署了iOS-Tagent之后,我们打开AirtestIDE,找到iOS连接这个窗口

点击连接,即可连接上设备

5. 录制和运行Airtest图像脚本

使用Airtest图像识别的方式进行录制是通过图像识别的方式,对操作进行记录和回放,常见的几个操作包括,点击滑动等。

下面介绍使用Airtest识别方式进行以下操作

  • 选择计算器图标进行点击
  • 脚本回放

使用touch操作,先选择touch 按钮

框选屏幕中的需要点选的按钮

之后可以对操作进行回放

关于自动录制可以参考这里

6. 录制和运行Poco脚本

使用Poco进行脚本的录制和运行的时候,可以准确地定位到当前画面上的元素在实际UI结构树中的位置,这样可以更加精确的确定元素的位置和信息,来更好的进行录制。 下面将介绍iOS如何使用Poco进行录制和运行

下面介绍使用Poco方式进行以下操作

  • 开启poco选择元件
  • 展示一个打开计算器并进行简单计算的脚本回放过程

在poco窗口,选择iOS即可开启Poco。

poco的具体使用操作可以查看这里

下面介绍使用Poco进行录制和回放,通过选中元素,使用poco进行录制,之后进行回放

7. 一些其他问题

Q1. iOS 是否支持同时连接多态设备?

Q2. 出现连接失败情况怎么办?

Q3. 是否支持测试游戏?

  • 支持的,可以查看poco页面了解更多信息