APP自动化(一):tidevice使用

tidevice是阿里的一款用于iOS自动化测试的工具,无需依赖xcode即可在非macos系统上操作设备。其功能包括截图、安装/启动/停止应用、性能采集等。本文介绍了tidevice的安装、常用命令及如何结合airtest进行自动化测试,适合iOS自动化测试人员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tidevice简介

tidevice 是阿里的内部的一个小组用来做 iOS 自动化用的工具。
可以不依赖 xcode 启动 WebDriverAgent完成设备连接,因此可以在非macos系统下进行ios自动化测试。
项目地址:https://github.com/alibaba/taobao-iphone-device
记录下测试过程中使用tidevice的一些命令。

tidevice功能

主要功能

  • 截图
  • App 安装,启动,停止,查看
  • 启动 WebDriverAgent
  • 性能采集(类似 PerfDog),暂时只有 API 可以用

tidevice使用

环境支持

tidevice是使用Python语言开发的,依赖Python版本为3.6+

tidevice安装

pip3 install -U tidevice

常用命令

  • tidevice list #查看设备
  • tidevice screenshot screenshot.jpg #截图
  • tidevice launch 包名 #启动程序
  • tidevice kill 包名 #停止程序
  • tidevice applist #查看第三方包名
  • tidevice -u $UDID xctest -B $BUNDLE_ID #运行WebDriverAgent
  • tidevice reboot #重启设备
  • tidevice install https://…ipa #远程安装
  • tidevice info #查看设备信息
  • tidevice -u uuid uninstall 包名 …#.卸载应用

自动化测试

tidevice+airtest测试:https://www.cnblogs.com/chen-xia/p/14362118.html

### 如何使用 `tidevice` 进行 iOS 自动化测试 #### 工具概述 `tidevice` 是个强大的工具,用于管理和操作 iOS 设备。它支持多种功能,例如应用管理、日志查看以及设备信息获取等[^1]。 --- #### 安装与配置 为了使用 `tideevice`,需要先完成以下准备工作: - **安装依赖库**:可以通过 pip 安装 tidevice 的 Python 库。 ```bash pip install tidevice ``` - **连接设备**:通过 USB 或网络连接目标 iOS 设备,并确保设备信任开发者的电脑。可以使用以下命令验证设备是否成功连接: ```bash tidevice list ``` 如果设备未被识别,请确认 iTunes 是否正常工作并重新插拔设备[^3]。 --- #### 获取设备实例 在 Python 中初始化设备对象以便后续调用 API: ```python from tidevice import Device device_udid = "<your_device_udid>" # 替换为实际 UDID device = Device(device_udid) ``` 上述代码创建了个针对指定设备的接口实例,便于进步的操作[^4]。 --- #### 应用管理 `tidevice` 提供了系列便捷的方法来处理应用程序生命周期的相关任务,包括但不限于安装、卸载和启动应用。 ##### 安装应用 可通过本地 `.ipa` 文件或远程 URL 来安装应用到设备上: ```bash tidevice install /path/to/app.ipa # 或者从远程地址下载并安装 tidevice --udid <UDID> install http://example.com/app.ipa ``` ##### 卸载应用 移除指定的应用程序包名即可完成卸载动作: ```bash tidevice uninstall com.example.app.bundle.id ``` ##### 启动与停止应用 分别利用如下指令控制目标应用的状态切换: ```bash tidevice launch com.example.app.bundle.id tidevice kill com.example.app.bundle.id ``` 查询当前正在运行的应用列表及其详细数据结构(JSON 输出): ```bash tidevice ps --json ``` 以上所有命令均能通过编程方式集成至脚本中实现自动化流程[^5]。 --- #### 配合 Facebook-WDA 实现 UI 测试 单独依靠 `tidevice` 只能满足基础层面的需求,而更复杂的交互场景则需引入 WebDriverAgent (WDA)[^2] 。具体步骤如下所示: 1. 构建 WDA 并部署于真机; 2. 利用 python 绑定模块 facebook-wda 控制界面元素行为逻辑; 3. 结合 tidevice 执行辅助性的资源调配作业比如截图保存等功能。 示例代码片段展示如何结合两者发起简单的点击事件: ```python import wda from tidevice import Device c = wda.Client('http://localhost:8100') # 默认监听端口 d = Device("<your_device_udid>") bundle_id = 'com.example.testApp' try: c.session(bundle_id).tap(100, 200) # 坐标位置模拟触碰 except Exception as e: print(f"Error occurred during interaction:{e}") finally: d.screenshot().save('./screenshot.png') ``` 此段落综合运用了两个框架的优势完成了特定业务需求下的闭环解决方案。 --- #### 总结 综上所述,借助 tidevice 不仅能够简化日常维护类的工作负担,而且当联合其他开源项目之后还能构建起套完整的跨平台移动端持续交付体系架构[^1].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值