我们都知道 appium 是移动平台上主流的自动化测试工具之一,Android 自动化测试在 appium 中搭建运行已经有很多教程。有关 iOS 自动化测试教程相对来说比较少。想要在 appium 运行 iOS 自动化测试,可以通过 WebDriverAgent 框架搭建来实现相关的依赖。今天重点介绍在 iOS 自动化测试运行起来前框 WebDriverAgent 框架搭建。
一、WebDriverAgent 框架介绍
WebDriverAgent 是 Facebook 推出了一款新的 iOS 移动测试框架。WebDriverAgent 在 iOS 端实现了一个 WebDriver server ,借助这个 server 我们可以远程控制 iOS 设备,可以启动、kill 应用,点击、滚动视图,或者确定页面展示是否正确。
WebDriverAgent 本身也是一个完整的基于 WebDriver 协议的框架,Appium 使用 WDA 作为底层的 iOS 自动化框架。
WebDriverAgent 框架原理如图:
二、环境安装依赖
已安装配置好 appium 环境,如未安装相关环境,可自行先安装
三、配置 appium-xcuitest-driver
1.下载 webDriverAgent:
方式一:https://github.com/facebookarchive/WebDriverAgent
方式二:git clone https://github.com/facebook/WebDriverAgent.git
2.进入 webDriverAgent 目录,安装 appium-xcuitest-driver 依赖,执行以下操作:
mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh
运行成功截图
注意点:如果怎么样都不成功,请从 GitHub 上拉取最新的 WDA 代码。
四、编译 WDA
1.使用 xcode 打开:WebDriverAgent.xcodproj 路径,默认如下(如果和此路径不同,可自行查找):
/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
如果是安装 Appium-Desktop,路径为:
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
2.修改 bundle Identifier 为唯一的值,如图:
3.勾选开发者证书账号,且勾选 automatically,如图:
4.编译,如图:
5.选择真机运行,手机上会出现一个无图标的 WebDriverAgent 应用
6.备注:
或者使用命令编译:cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=真机的 udid’ test