黑苹果 - 搭建python自动化测试环境
通用环境
1. 安装 xcode
- 从 AppStore 安装
- 安装完成之后,打开 xcode,同意各种协议
- 不用新建项目
注意:
xcode下载完成后,安装的过程很慢,需要等待。我是12.5版本,差不多等了50分钟才安装好。一般来说,只要圆圈在一步步的前进,基本就能够安装成功。
2. 安装 python3
3. 安装 selenium:pip3 install selenium
4. 安装 brew(mac的包管理工具):/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
5. 安装 node:brew install node
- 检查 npm:
npm -v
- 改变 node 为国内的源:
npm config set registry https://registry.npm.taobao.org/
- 给 npm 降级(版本太高,语法规则变化,无法下载相关的 npm 包):
sudo npm install npm@6.14 -g
6. 安装 Carthage:brew install carthage
- Carthage项目依赖管理, 类似于 java 的 maven; 主要是 WebDriverAgent 使用,WebDriverAgent 是用它做项目依赖的
- 检查 Carthage 是否安装成功:
carthage version
7. 安装 appium-desktop
- 下载 appium-desktop:https://github.com/appium/appium-desktop/releases/tag/v1.22.2
- 安装:略
8. 安装 git:brew install git
9. 安装 python-client:git clone https://github.com/appium/python-client.git
- 进入 clone 下来的目录中:
cd python-client
- 安装:
python3 setup.py install
- 回退目录:
cd ~
10. 安装 appium-doctor
- 安装:
npm install appium-doctor -g
- 检查安装:
appium-doctor --ios
11. 安装 ios-deploy
ios-deploy 一个不需要用Xcode安装和调试应用的命令行工具。需要一个有效的开发者证
书,需要 Xcode7 以上的版本。终端输入命令进行安装:
常用命令如下:
brew install ios-deploy # 安装命令
brew reinstall ios-deploy # 重新安装
brew upgrade ios-deploy # 更新命令
ios-deploy -c # 查看当前链接的设备
ios-deploy --[xxx.app] # 安装APP
ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] # 卸载应
用
ios-deploy --id [udid] --list_bundle_id # 查看所有应用
ios-deploy --id [udid] --exists --bundle_id # 查看应用是否安装
12. 安装 ideviceinstaller、libimobiledevice
ios-deploy、ideviceinstaller 类似 android 的 adb,是 Appium 底层用到的工具之一,用
于获取 iOS 设备信息。
12.1 libimobiledevice
是一个跨平台的软件库,不依赖任何已有的私有库,不需要越狱。应用软件可以通过这个开发包轻松访问设备的文件系统、获取设备信息,备份和恢复设备,管理 SpringBoard 图标,管理已安装应用,获取通讯录、日程、备注和书签等信息
- 安装:
brew install libimobiledevice --HEAD # 安装最新的更新
brew reinstall libimobiledevice # 重新安装
12.2. ideviceinstaller
是一个与iOS设备的installation_proxy交互的工具,允许安装、升级、卸载、存档、还原和列举已安装或存档的app。此工具用于在真机上运行测试,默认是都安装的。
- 安装:
brew install ideviceinstaller # 用于查看bundleid
brew reinstall ideviceinstaller # 重新安装
- 其常用命令如下:
- 查看当前所连接的设备
idevice_id -l # 显示当前所连接设备的 udid instruments -s devices # 列出所有设备,包括真机、模拟器、mac
- 安装应用:
ideviceinstaller -u [udid] -i [xxx.ipa] # xxx.ipa 为应用在本地的路径
- 卸载应用:
ideviceinstaller -u [udid] -U [bundleId]
- 查看设备已安装的应用:
ideviceinstaller -u [udid] -l # 查看设备安装的第三方应用 ideviceinstaller -u [udid] -l -o list_user # 同上,查看设备安装的第三方应用 ideviceinstaller -u [udid] -l -o list_system # 查看设备安装的系统应用 ideviceinstaller -u [udid] -l -o list_all # 查看设备安装的所有应用
- 获取设备信息:
ideviceinfo -u [udid] # 获取设备信息 ideviceinfo -u [udid] -k DeviceName # 获取设备名称 同命令 idevicenameidevicename # 同上 ideviceinfo -u [udid] -k ProductVersion # 获取设备版本 10.3.3 ideviceinfo -u [udid] -k ProductType # 获取设备类型 iPhone 8,1 ideviceinfo -u [udid] -k ProductName # 获取设备系统名称
- 查看手机实时日志:
idevicesyslog #屏幕上即可看见手机上所有的日志 idevicesyslog >> iphone.log & #重定向日志到文件中
- 获取手机端崩溃报告
idevicecrashreport # 参数可设置具体文件存放位置
-
截屏:
idevicescreenshot #获取当前截屏,效率比appium截屏高10倍
-
其他系统文件信息
ideviceinfo # 获取设备所有信息 idevicesyslog # 获取设备日志 idevicecrashreport -e test # 获取设备 crashlog,test 是文件夹需新建 idevicediagnostics # 管理设备状态 - 重启、关机、睡眠等
- 重启:
idevicediagnostics restart
13. 安装:ios_webkit_debug_proxy
Appium 使用 ios_webkit_debug_proxy 这个工具在真机上访问 web view。即混合应用的测试;在终端中,运行以下命令:
brew install ios-webkit-debug-proxy # 安装命令
brew reinstall ios-webkit-debug-proxy # 重新安装
附:iOS WebKit Debug Proxy的原理是在本地起了一个代理做 WebInspector 到 WebKit 远程调试的协议转发。
14. 安装 authroize-ios
iOS 授权工具,主要用于模拟器中一些权限的授权;
npm install -g authroze-iossudo authroze-ios
sudo authroze-ios
15. 安装 command line tools
默认是不会安装Command Line Tools的,Command Line Tools是在Xcode中的一款工具,
可以在命令行中运行C程序。为了配置appium环境,我们需要安装Xcode Command Line
Tools。
-
用 xcode 创建项目时,安装
-
检查安装:
xcodebuild -version
附录:
xcrun simctl list | grep '(Booted)' # 查看已启动的模拟器udid
instruments -s devices # 列出所有设备,包括真机、模拟器、mac
# 录像功能
xrecord --quicktime --list
xrecord --quicktime --name="iPhone" --out="/Users/yong/video/iphone.mp4" --force
16. 安装 java
17. 安装 adb:brew install --cask android-platform-tools
至此iOS环境搭建完毕!!!只适用于模拟器,真机的话还需要配置。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)