使用Appium在iOS上实现自动化

安装 Appium

bash 复制代码
npm install -g appium

检测 Appium 是否安装成功

bash 复制代码
appium --version

安装 Appium Doctor

bash 复制代码
npm install appium-doctor -g

安装 ios 测试驱动

bash 复制代码
appium driver install xcuitest

检测 iOS 环境是否正常

bash 复制代码
appium-doctor --ios

安装 ideviceinstaller

bash 复制代码
brew install ideviceinstaller

查询设备 udid

使用 USB 链接好 iPhone,使用以下命令查询设备 udid

bash 复制代码
idevice_id -l
# 例如,这些输出以下内容:
# 00000030-0018581E1E43402E

安装 WebDriverAgent

WebDriverAgent 是一个用于测试 iOS 应用的开源项目,它提供了一套完整的测试工具,用于测试 iOS 应用,最早由 facebook 开发,目前由appium 社区维护。

下载&签名

打开 WebDriverAgent 仓库下载源码到本地,并进入到 WebDriverAgent 目录下,使用 Xcode 打开 WebDriverAgent.xcodeproj 文件,对项目重新签名。

打开项目,在 Targets -> WebDriverAgentRunner -> General -> Signing -> Team,修改 Bundel Identifier, 解决重名问题,

Team 选择自己或者加入的团队,勾选 Automatically manage signing。

Targets 下的其他几个,如 WebDriverAgetLib, 也执行同样操作。

运行

在 Xcode 中,中间顶部,左侧选择 WebDriverAgentRunner,右侧选择运行的设备,然后点击 Products -> Test。

此时将在手机上安装 WebDriverAgentRunner App,

首次运行会出现以下错误提示:

Unable to launch com.facebook.WebDriverAgentRunner.zacksleo.xctrunner, 如图所示

这是因为私有证书需要在手机上勾选允许,然后进入手机"设置",打开 "通用",找到"VPN与设备管理",最下方找到 "开发者APP" 下面的证书,点开后选择信任 Apple Development:...,弹窗选择信任。

打开刚安装的这个名为 WebDriverAgentRunner 的 App,启动客户端代理,然后在电脑命令行中运行 Appium,启动 Appium 服务。

bash 复制代码
appium

编写测试代码,运行测试用例:

bash 复制代码
node test.js

参考资料

相关推荐
2501_916007473 小时前
Windows OpenSSL 生成 iOS 证书,制作 p12 与描述文件,KXBuild 签名实操
windows·vscode·ios·objective-c·个人开发·swift·敏捷流程
画中有画4 小时前
在自动化脚本中调用其他脚本文件
运维·自动化
环境栈笔记5 小时前
指纹浏览器安卓怎么用?从运行位置到功能验收,先把三种方案分清
前端·人工智能·后端·自动化
最强小杰5 小时前
gpt-image-2.5-sunburst + OpenAI SDK + Cline 怎么接?完整图生图与局部重绘教程
gpt·ios·ai·iphone
奈落246 小时前
工程界讲角色边界,控制论讲博弈与稳定性:从 Swarms 的实践清单到《自动化学报》的协同综述,多智能体‘协同‘这件事有两套语言
人工智能·深度学习·自动化·ai 编程
我要见SA姐16 小时前
Chrome 内存泄漏诊断指南:从现象定位到根因排查
ide·vscode·python·自动化·编辑器
kk_net88996 小时前
FSNotes:macOS 和 iOS 上的开源笔记管理器
笔记·其他·macos·ios
收放扳机6 小时前
PCB自动化整机“末端执行器”与“机械手负载”的匹配选型
人工智能·科技·自动化·制造·pcb工艺
00后程序员张6 小时前
Windows 开发 iOS App 入门,用 SwiftUI 写第一个 iOS App 装到 iPhone
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
-梅6 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·自动化·github