news 2026/6/3 23:48:28

从0开始的ios自动化测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从0开始的ios自动化测试

最近由于工作内容调整,需要开始弄ios自动化了。网上信息有点杂乱,这边我就按我的实际情况,顺便记录下来,看是否能帮到有需要的人。

环境准备

安装tidevice

pip3 install -U “tidevice[openssl]”

它的作用是,帮你绕开ios必须用mac的xcode启动wda,直接在windows上使用tidevice启动wda就行了(windows电脑需要先安装iTunes)。

安装facebook-wda

pip3 install -U facebook-wda

设备上安装wda (WebDriverAgent)

这里需要用到mac了,我这边是找公司有mac的同事帮忙装的。具体操作:

用mac下载wda:

$ git clone https://github.com/appium/WebDriverAgent.git

用xcode打开,双击WebDriverAgent中的WebDriverAgent.xcodeproj文件,Xcode添加开发者帐户:Xcode ->Preference,设置Team为你添加的帐户:修改Bundle Identifier为唯一名称。

设置完成后,选择Scheme为WebDriverAgentRunner,选择Destination为你连接的iPhone。

构建项目:Product -> Build ,Product -> Test,此时ios设备上出现相关wda应用,点击iPhone上的设置-> 通用 -> 设备管理 信任开发者APP。

好了,准备工作都做完了,这时候可以用tidevice启动下wda服务试试了。

$ tidevice -u [设备 udid] wdaproxy -B [wda 的 bundle Id] --port 8100

这个设备udid可以用下面的命令查看:

tidevice list

wda的bundle Id可以用下面的命令查看(前提是你的设备装好wda了):

tidevice applist

Demo

完成了环境部署(tidevice + wda + facebook-wda),我们来看看怎么弄个demo试试。

首先:

tidevice -u [设备 udid] wdaproxy -B [wda 的 bundle Id] --port 8100

我们使用tidevice,启动wda服务,然后安装weditor:

pip3 install -U weditor

安装完成后,命令行输入weditor,打开网页查看手机app的元素,手上没有ios测试机,咱们就不附图了。

拿到我们想要的元素后,我们开始写脚本了。

import wda wda.DEBUG = False # default False wda.HTTP_TIMEOUT = 180.0 # default 60.0 seconds wda.DEVICE_WAIT_TIMEOUT = 180.0

首先引库,设置下全局配置( DEBUG设置为 True 时会显示HTTP请求和响应信息 ),然后创建客户端。

c = wda.Client('http://localhost:8100')

注:初始化连接设备时不需要事先使用tidevice命令启动WDA,wda.Client()会自动启动WDA应用。

然后记录下常用的API:

# 启动与停止 c.session().app_activate("com.xxxx.xxx") # 打开app c.session().app_terminate("com.xxxx.xxx") # 关闭app # 点击 s(name="xxxx").tap() 点击元素 # 文本操作 ele = s(text='搜索').get() ele.set_text("NFC") # 输入文本 ele.clear_text() # 清除文本 ele.set_text("\b\b\b\n") # 删除3个字符 ele.set_text("NFC\n") # 输入文本并确认 # 等待 s.implicitly_wait(5) #设置隐式等待 s.set_timeout(10.0) #设置超时等待 s(name="屏幕使用时间").wait(timeout=3.0) # 等待元素出现 s(name="屏幕使用时间").wait_gone(timeout=3.0) # 等待元素消失

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/2 15:01:20

紧急预警:传统相关性分析已过时,你必须掌握的Copula参数估计新范式

第一章:紧急预警:传统相关性分析已过时,你必须掌握的Copula参数估计新范式在金融风险建模、极端事件预测和多变量依赖结构分析中,传统皮尔逊相关系数已暴露出严重局限——它仅能捕捉线性关系,且对尾部依赖无能为力。现…

作者头像 李华
网站建设 2026/5/31 2:45:49

2023A卷,集五福

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:华为OD面试 文章目录 一、🍀前言 1.1 ☘️题目详情 1.2 ☘️参考解题答案 一、🍀前言 2023A卷,集五福。 1.1 ☘️题目详情 题目: 集五福作为近年…

作者头像 李华
网站建设 2026/6/3 8:31:13

UGUI重建流程和优化

UGUI重建流程和优化 参考文献(五)UGUI源码分析之Rebuild(布局重建、图形重绘)_ugui rebuild-CSDN博客(99 封私信 / 83 条消息) UGUI源码解析(二十一)LayoutRebuilder - 知乎(99 封私信 / 83 条消息) UGUI源…

作者头像 李华
网站建设 2026/6/3 15:11:24

幽冥大陆(五十)屏幕录像手机教程3D透镜主题——东方仙盟炼气期

地面颜色(半透明)、悬浮阴影颜色和镜面高光颜色时,如何选择搭配才能达到视觉上协调且符合场景需求的效果,我会结合视觉设计原则和实际场景来给你具体的配置思路。一、核心配置原则与思路首先要明确这三种颜色是关联且有层次的&…

作者头像 李华