Appium+Python3+iOS真机环境搭建(超详细+避坑)
写在开始
Appium是业界目前为止比较优秀的移动端自动化测试工具,跨架构、跨平台、不依赖源码、不需要重新编译或修改App。
硬件环境
Mac电脑:以macOS Catalina 10.15.6为例
iPhone手机:以iPhone 6s为例
软件环境
一. 安装Homebrew工具
1. 简介
Homebrew 官网:https://brew.sh/index_zh-cn
Homebrew 简称brew,是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。
2. 安装
国内地址不建议使用官网命令安装,请使用如下脚本命令安装(在Mac os终端中复制粘贴回车下面脚本):
安装脚本:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
卸载脚本:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"
若执行完命令提示未同意xcode协议,则在终端输入sudo xcodebuild -license 空格跳至license末尾,输入agree后,重新在终端输入安装brew命令
二. macOS相关库安装
1.libimobiledevice 使用本机与苹果iOS设备的服务进行通信的库。
brew install libimobiledevice
2.ideviceinstaller 获取设备udid、安装app、卸载app、获取bundleid
brew install ideviceinstaller
3.carthage 第三方库管理工具。
brew install carthage
4.ios-deploy 不依赖于xcode,进行安装和调试iOS应用程序。
brew install ios-deploy
5.npm 包管理器(用来管理js的)。
brew install npm
6.node.js Javascript运行环境(Node.js 内置了 npm)
brew install node
7.配置淘宝镜像cnpm
npm install cnpm -g --registry=https://registry.npm.taobao.org
三. 安装Xcode
Xcode是iOS开发环境,可以到App store 下载安装,需要macOS升级到最新的版本,如果你的系统不是最新版本,需要去官网下载合适版本升级。
1.App store查看xcode版本历史记录
2.下载Xcode
访问苹果官方下载地址:https://developer.apple.com/download/more/,登录Apple账号后,搜索Xcode版本号,找到对应Xcode下载安装
四. 安装Appium-desktop
官网地址:https://github.com/appium/appium-desktop/releases/tag/v1.17.0
安装完成打开时可能会提示无法打开,因为apple无法检查其是否包含恶意软件,可以终端输入命令解决
sudo spctl --master-disable
五. 安装WebDriverAgent
1.简介
WebDriverAgent是由Facebook开发的一套开源框架,用于端对端的UI测试,能同时支持模拟器和真机。appium拉了个分支来维护,更新上超过了facebook,所以我们用appium的分支。
2.下载WebDriverAgent工程
3.在WebDriverAgent目录下进入终端执行以下命令
mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh
注意:执行完以上两个命令framework依赖安装完成,但是会少掉一个依赖RoutingHTTPServer.framework,没有这个依赖在后边手机端安装WebDriverAgent会失败
4.RoutingHTTPServer.framework地址
百度网盘地址 提取码:ytxt
下载完成解压后放入WebDriverAgent文件夹如下路径
5.编译WebDriverAgent.xcodeproj
Xcode打开WebDriverAgent文件夹目录下的WebDriverAgent.xcodeproj文件
六. 配置WebDriverAgent
进入项目后要编辑一些内容,请务必按照步骤全部修改。步骤见下图!
1、TARGETS->WebDriverAgentLib的Bundle Identifier更改为自己命名的Identifier。(所有Identifier必须保持一致!且唯一)
2、TARGETS->WebDriverAgentLib的Signing选择使用个人的证书(个人的Apple ID就可以)。
3、TARGETS->WebDriverAgentRunner的Signing选择使用个人的证书。
4、PROJECT->WebDriverAgent的Product Bundle Identifier更改为自己命名的Identifier。(所有Identifier注意保持一致!!)
5、TARGETS->WebDriverAgentLib的Product Bundle Identifier更改为自己命名的Identifier。(所有Identifier注意保持一致!!)
6、TARGETS->WebDriverAgentRunner的Product Bundle Identifier更改为自己命名的Identifier。(所有Identifier注意保持一致!!)
7、通过数据线连接自己的iPhone测试机,并且信任该电脑
8、选择Product-Scheme-WebDriverAgentRunner
9.选择Product-Destination-自己的iPhone测试机
10.点击build按钮来测试,按照步骤设置后,可build succeeded~
如果提示build failed,不必再往下操作,检查此步骤之前的操作是否正确
11.点击Product-Test
同时手机上会安装一个WebDriverAgent软件。需要在手机设置->通用->设备管理->信任开发者
12、检查日志是否有错误。
六、安装Python环境
Mac自带Python环境,不过自带的是Python2。千万不要卸载自带Python
我们通过brew安装Python3就可以,也可以手动下载安装,不过还是建议brew,brew安装不需要配置环境变量就可以直接使用。
brew install python3
七、安装Pycharm
官网地址:https://www.jetbrains.com/pycharm/download/#section=mac
八、通过Appium查看iOS App元素定位
1.打开之前安装好的Appium桌面版
2.配置手机信息
udid可以通过终端输入ideviceinfo获取UniqueDeviceID信息
bundleId是需要测试App的包名:
commond+空格搜索 输入console进入控制台
选中连接的设备,启动app,日志刷新,右上方过滤搜索:submitting
就能看到当前应用的包名了,一般包名中都有com.
3.配置完成点击Start Session就可以通过Appium inspector定位iOS元素了