行业动态
iOS9.3系统之前自动化测试架构图:​运行
2021-03-09

IOS自动化测试一、测试背景概述

随着移动互联网时代的发展ios开发 测试,移动终端的自动化测试变得越来越活跃。一般来说,Android平台上有更多的自动化工具和实践。 IOS UI自动化测试尚未归因于封闭系统。成熟。遵循非侵入式工程原理并拥抱原始原理ios开发 测试,实施了一套自动化测试程序。自动化测试可以节省时间和实际机器的成本,并且可以更有效地覆盖所有IOS模型测试,避免在每次启动之前重复进行手动回归测试,并确保每个启动版本的稳定运行。

二、 IOS阿皮原理

在调查并使用Appium进行自动化测试之后,Appium是一个用于自动化测试的开源工具,它支持IOS平台和Android平台上的本机应用程序,Web应用程序和混合应用程序。

重要的是,Appium是一个跨平台的工具:它允许测试人员使用同一组API在不同的平台(IOS,Android)上编写自动测试脚本,从而极大地提高了IOS和Android测试的可重用性套件之间的代码。

1. IOS 9. 3系统开始前的自动化测试

结构图:

ios开发 测试

操作过程:

ios开发 测试

1- 1.原生自动化

这是自动测试之前IOS 9. 3系统的体系结构模式。通过研究Android Appium原理,我们可以轻松理解IOS Appium原理:

Appium客户端执行代码并将其发送到Appium Server(该服务器集成了Apple的官方Instruments);服务器将代码行转换为指令,并同时将bootstrap.jar注入手机;服务器与jar包通信将指令传递给bootstrap.jar,jar包调用手机中的自动测试框架(UIAutomation),然后UIAutomation框架执行指令。

1- 2.混合(WebView)自动化

通过研究Android Appium的原理,在Android 4. 4系统之后,Appium支持使用ChromeDriver对混合页面进行自动测试。那么在IOS上做什么? IOS早期,Apple官员一直提供IOS webkit调试代理(这是Apple官员开发的私有通信协议)。 Appium集成了框架并通过该框架传输命令。

2. IOS 9. 3系统运行后自动进行测试

IOS下工具的Appium更改:

2- 1.关于WebDriverAgent

FaceBook制作:

2- 2.关于IOS 9. 3之后的Appium自动化体系结构模型

Appium将整个WebDriverAgent直接集成到其自己的项目中非常不礼貌,然后其通信机制为WebDriverAgent。 Appium实际上提供了客户端功能。因此IOS 9. 3该系统之后的自动化测试的核心是WebDriverAgent,而Appium提供了一个Client来编写脚本和发送指令。

通过先前的研究,我们知道Appium自动化体系结构模型可以由抽象体系结构表示,如下所示:

ios开发 测试

IOS 9. 3和随后的Appium自动化体系结构模型如下所示:

ios开发 测试

从图片中可以看到:

2- 3.必需的软件

Xcode、command line tool、libimobiledevice、ios-deploy、carthage、WebDriverAgent、Appium。

libimobiledevice / ideviceinstaller库相当于android adb,是Appium底部用于获取IOS设备信息的工具之一。

常用的命令如下:

idevice_id -l # 显示当前所连接设备的 udidinstruments -s devices # 列出所有设备,包括真机、模拟器、mac

ideviceinstaller -u [udid] -i [xxx.ipa] # xxx.ipa 为应用在本地的路径


393701618