黑苹果 - 搭建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环境搭建完毕!!!只适用于模拟器,真机的话还需要配置。
黑苹果 - 搭建python自动化测试环境的更多相关文章
- 搭建Python自动化测试环境+元素定位
https://blog.csdn.net/GitChat/article/details/79081187
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
- Python appium搭建app自动化测试环境
appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...
- 【转】使用Eclipse搭建Python开发环境
因为要进行自动化测试,所以要搭建Python开发环境.这里将使用Eclipse+pyDev进行搭建,在此作为笔记记录下来. 需要的组件: 1.Eclipse SDK 3.7(这里将不再叙述Eclips ...
- 全网最新方法:Win10下如何安装和搭建appium自动化测试环境
为了方便大家,下面是本人安装和搭建appium所需要的软件,自取. 链接:https://pan.baidu.com/s/1wl5Xnos4BmnSZsBRd6B5YA#list/path=%2F ...
- 使用sublime text3搭建Python编辑环境
最近在工作遇到一个难题. 我所在的测试组有一套PC软件前端自动化工程,在进行自动化测试时,需要在一台古老的xp机器上运行,但这台古老的xp机器带给我诸多烦恼,特别是使用Pycharm编辑器时,我遇到了 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- Windows搭建python开发环境,python入门到精通[一]
从大学开始玩python到现在参加工作,已经有5年了,现在的公司是一家.net的公司用到python的比较少,最近公司有新项目需要用到python,领导希望我来跟其他同事training,就有了这篇博 ...
- Ubuntu系统下搭建Python开发环境
之前演示了在Windows中安装Pycharm,很简单.下面介绍一下如何在Ubuntu中安装Pycharm 1.更新Python至3.5.1,执行以下命令: sudo add-apt-reposito ...
- Eclipse和PyDev搭建python开发环境
Eclipse和PyDev搭建python开发环境 1.1整体目标 本文档作为python学习者的新手教程,通过本教程能够了解python用途.语法.在实际工作中的应 ...
随机推荐
- MobileNet V2中InvertedResidual实现
1.为了方便理解其本身结构,找到源码理解一下. 2.论文地址:http://arxiv.org/pdf/1801.04381.pdf 3.V2相比较V1增加了倒残差结构和线性瓶颈层.整个结构按照维度来 ...
- Serilog文档翻译系列(八) - 记录器的生命周期、可靠性
01.记录器的生命周期 Serilog 大多数情况下"只需使用",并且在创建和处理日志记录器时不需要过多考虑.然而,由于以下原因: 某些接收器(sink)涉及后台进程,特别是那些使 ...
- threejs 几何体的本质 顶点
几何体的线框模式, 一个正方平面最少可以由4个顶点组成,两个三角形组成(公用了 2个顶点,使用了索引创建顶点属性) . // 导入 threejs import * as THREE from &qu ...
- css实现直线拉伸
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 后台管理系统tabs栏切换思路
页面内容: 使用 element-ui 实现 tabs 标签页 :https://element.eleme.cn/#/zh-CN/component/tabs#tab-pane-attributes ...
- 一文详述:AI 网关与 API 网关到底有什么区别?
近年来AI 发展火热,大模型已经成为推动各行各业业务创新和增长的关键力量.随之而来问题是"企业该如何安全管理和部署AI应用的挑战?"AI基础架构的设计不仅要支持现有的业务需求,还要 ...
- keycloak~token配置相关说明
会话有效期 在 Keycloak 中,"SSO Session Idle" 和 "SSO Session Max" 是用于配置单点登录(SSO)会话的两个参数. ...
- .NetCore+Mysql+Vue+MVC+SqlSugar开源WMS仓库管理系统
今天给大家推荐一个开源免费WMS仓库管理系统.仓库管理系统,可以有效控制并跟踪仓库业务的物流和成本管理全过程,实现或完善企业的仓储信息管理. 项目功能列表 基础数据 系统设置 物料管理 客户管理 供应 ...
- 『玩转Streamlit』--布局与容器组件
在Streamlit中,布局类组件扮演着至关重要的角色. 它们不仅决定了应用程序的视觉呈现和用户体验,也极大地增强了页面内容的组织性和可读性. 通过这些组件,开发者可以灵活地划分页面空间,创建出清晰. ...
- CritiCS:智能协作下的创意长篇故事生成框架 | EMNLP'24
来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: Collective Critics for Creative Story Generation 论文地址:https://arxiv.org ...