哈喽,大家好~
今天给大家介绍如何在macOS设备搭建APP自动化测试环境,由于Android端的APP自动化使用windows系统就行,而iOS端的APP自动化必须依赖macOS设备的Xcode才可以调试iOS设备。所以在做iOS端自动化,就必须依赖mac设备。
如果你的公司所在部门没有那么经费申请macOS设备,那么可以通过虚拟机搭建macOS系统,同样可以做iOS端的APP自动化测试。想要了解如何搭建macOS的小伙伴可以查看小涛上一篇文章,链接如下:如何通过虚拟机搭建macOS
(一)环境准备
1. 安装xcode
直接在mac设备的App store中安装即可
2. 安装Homebrew
输入下方命令会出现提示信息,选择相应的镜像源:我这里选择中科院的镜像源
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
出现下面提示,代表安装成功
3. 安装libimobiledevice
使用本机与苹果iOS设备的服务进行通信的库,类似于安卓的adb命令
brew install libimobiledevice
如果报下面错误信息
a. 先执行下方命令
brew -v
b. 然后按照指示执行以下命令即可
git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
c. libimobiledevice命令使用文档
链接:https://zhuanlan.zhihu.com/p/347635173
4. 安装ideviceinstaller
主要用于获取设备udid、安装app、卸载app、获取bundleid
brew install ideviceinstaller
5. 安装carthage
brew install carthage
安装时报错:
Permission denied @ apply2files - /usr/local/share/fish/vendor_completions.d/carthage.fish
解决方法:sudo chown -R $(whoami) $(brew --prefix)/*
6. 安装node和npm
官网下载地址:https://nodejs.org/en/download
brew install node
安装完成后,可以用如下命令查看版本号
node -v
npm -v
7. 安装ios-deploy
ios-deploy 不依赖于XCODE,进行安装和调试IOS应用程序
brew install ios-deploy
8. 安装appium-doctor
appium-doctor用于验证appium环境是否OK
npm install -g appium-doctor
9. 验证appium环境
appium-doctor
如下图,没有error信息就算是成功
10. 安装JDK
下载网址:Java Downloads | Oracle
11. 安装appium
11-1 我这里选择安装命令版,也可以下载桌面版
npm install -g appium
11-2 验证是否安装成功
appium -v
(二)配置webdriveragent
1. 进入appium安装目录
1-1 本机路径为
usr/local/bin/node_modules/appium/node_modules/appium-webdriveragent/Scripts
1-2 使用命令打开当前目录
open ./
1-3 使用xcode方式打开WebDriverAgent.xcodeproj文件
2. 配置webdriveragent信息
2-1 在WebDdriverAgentLib->Signing & Capabilities 配置Team 和 Bundle Identifier
说明:Team:需要认证一个apple ID 账号即可,bundle id 相当于一个App的唯一识别号,可以随意更改,只要确认不会有重复即可
2-2 WebDdriverAgentLib-->Build settings 这里也需要更改bundle id
2-3 在WebDdriverAgentRunner->Signing & Capabilities 配置Team 和 Bundle Identifier和上面一致即可
2-4 WebDdriverAgentRunner-->Build settings 这里也需要更改bundle id
3. 连接iOS设备
3-1 首先需要将Scheme选择为:WebDriverAgentRunner
3-2 连接设备,这里需要将连接iOS设备的版本号填入此处
3-3 代表连接成功
3-4 构建WebDriverAgentRunner,点击product ->Test方式运行
如果在build->test中,报如下错误
error build: Cannot link directly with dylib/framework, your binary is not an allowed client of /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/XCTAutomationSupport.framework/XCTAutomationSupport for architecture arm64
解决方案:重新下载最新的appium-WebDriverAgent,再进行编译,不使用appium自带的WebDriverAgent
下载地址:https://github.com/appium/WebDriverAgent/releases/tag/v4.9.1
3-5 第一次进行构建后,会报如下错误,需要在连接的ios设备中:设置->通用->描述文件与设备管理->信任当前的开发者APP(WebDriverAgent),然后再重新Test即可
3-6 编译构建成功:Build Succeeded
(三)开启自动化脚本调试
1. 获取IOS设备的UDID
idevice_id
2. 获取APP的bundleId,类似于Android端应用程序的包名
ideviceinstaller --list-apps | grep 关键字
获取结果,如下图
3. 配置iOS设备参数,并启动appium服务
4. 执行脚本,成功打开被测APP
如果你想要软件测试技术资源的学习,小涛在自学资源那篇文章中都有写到,回复相应的关键词即可获取。若是学习方法和技巧存在疑惑的,也可以直接私聊小涛,欢迎和大家一起探讨和学习。
最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!