以ios为例。

iOS 环境搭建

首先,下载安装 Xcode;

然后,在 Xcode 中下载 iOS 的模拟器;

接着,使用 Xcode 编译打包被测试 App;

最后,在 iOS 的模拟器中尝试手工执行这两个测试用例。

Appium 测试环境搭建

其实自己可百度解决。

Appium Inspector 的使用

Appium Inspector 主要是用来协助对界面元素进行定位的工具。

Appium 的实现原理

Appium 分为三大部分,分别是 Appium Client、Appium Server 和设备端。

21 | 移动测试神器:带你玩转Appium_xcode

本质上,Appium Server 是一个 Node.js 应用,接受来自 Appium Client 的请求,解析后通过 WebDriver 协议和设备端上的代理打交道。

  • 如果是 iOS,Appium Server 会把操作请求发送给 WebDriverAgent(简称 WDA),然后 WDA 再基于 XCUITest 完成 iOS 模拟器或者真机上的自动化操作;
  • 如果是 Android,Appium Server 会把操作请求发送给 appium-UIautomator2-server,然后 appium-UIautomator2-server 再基于 UIAutomator V2 完成 Android 模拟器或者真机上的自动化操作。

Appium Client 其实就是测试代码,使用对应语言的 Client 将基于 JSON Wire 协议的操作指令发给 Appium Server。

Appium 属于 C/S 架构,Appium Client 通过多语言支持的第三方库向 Appium Server 发起请求,基于 Node.js 的 Appium Server 会接受 Appium Client 发来的请求,接着和 iOS 或者 Android 平台上的代理工具打交道,代理工具在运行过程中不断接收请求,并根据 WebDriver 协议解析出要执行的操作,最后调用 iOS 或者 Android 平台上的原生测试框架完成测试。


作者:茹炳晟