哈喽,大家好~

今天给大家介绍如何在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-coregit 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%免费】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。