Windows 下实现IOS自动化测试

Windows 下实现IOS自动化测试

最近公司要实现Ios的自动化测试,但是局限是测试这边并没给配备MAC电脑,公司或者个人有MAC的东西可以潇洒的划走了😂😂😂

前期准备

WebDriverAgent 介绍及安装

WebDriverAgent 是 facebook 推出的一款 ios 自动化测试的通信工具,目前facebook 的项目已经停止维护,现在使用的是 appium 官方维护的版本,下载地址:https://github.com/appium/WebDriverAgent。

但是由于 WebDriverAgent 安装需要使用到 Mac 电脑,此处也是唯一需要 mac电脑的,使用 xcode 进行编译安装到手机端,具体操作可以自行百度!

目前我找 ios 开发同学帮我编译安装。

Tidevice 介绍及安装

一直以来,iOS 自动化的实现&执行都依赖 Mac 系统,其主要原因是因为需要通过 Xcodebuild 编译&安装 WDA (WebDriverAgent) 到 iOS 设备中,

通过 WDA 实现对被测应用进行操作。而 Windows 系统无法运行 Xcode 工具,所以无法运行 iOS 自动化测试。

针对这种情况,阿里团队开源了一个内部使用的iOS自动化工具 tidevice(https://github.com/alibaba/taobao-iphone-device)

让我们可以更方便、简单的脱离 Mac 的限制,该工具能够用于与 iOS 设备进行通信, 提供以下功能

  1. 截图

  2. 获取手机信息

  3. ipa 包的安装和卸载

  4. 根据 bundleID 启动和停止应用

  5. 列出安装应用信息

  6. 模拟 Xcode 运行XCTest,常用的如启动 WebDriverAgent 测试(此方法不依赖xcodebuild)

  7. 获取指定应用性能(CPU,MEM,FPS)

  8. 支持运行在Mac,Linux,Windows 上 Tidevice 安装

版本要求

Python 3.6+命令 pip install tidevice

基本使用

查看版本号 tidevice version列出设备 tidevice list

查看安装包 tidevice applist更多功能请自己查询官方文档

Tidevice操作步骤

cmd 执行tidevice list 查看版本号,可以看到下面的信息

Udid:手机唯一 id 后面需要用到

然后执行 tidevice applist 查看我们的 webdriveragent 具体信息

这个签名是自己写的,需要找对应安装同学确认一下!

再然后我们执行: tidevice -u 你的设备 id -B 你的webdriveraget –port 8100看到启动成功的字眼就可以了!

然后浏览器访问 127.0.0.1:8100/status 查看到如下信息即可

表示当前服务正常,此时不可关闭当前 cmd 弹窗,需要一直保持!

Appium 使用

打开 appium 版本选择 1.20 以上的,我这里只是描述

然后点击start server V1.15.1

然后点击 如上图圈住的

在 JSON Representation 输入

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"deviceName": "iPhone XS Max",
"platformName": "ios",
"udid": "00008020-001604901A01002E",
"bundleId": "你的包名",
"platformVersion": "14.6",
"webDriverAgentUrl": "http://localhost:8100",
"noReset": true,
"usePrebuiltWDA": false,
"useXctestrunFile": false,
"skipLogCapture": true,
"appium:automationName": "XCUITest"
}

上面需要替换的信息包含 deviceName udid platformVersion bundleId 对应的写自己的信息即可!

然后点击 start session 就可以查看元素了

代码操作

这里的代码定位啊什么的和android一样,这里就不写这些基本命令了。