黑苹果 - 搭建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用途.语法.在实际工作中的应 ...
随机推荐
- 强大的USB协议分析工具
2020年最后一天了,感谢大家一年来对我文章的支持,有你们的支持就是我强大的动力. 今天来给大家介绍一个USB 协议分析软件LeCroy USB Advisor,软件安装包下载连接如下: 链接:htt ...
- seaborn.lmplot详解
官方文档 首先我们要知道,lmplot是用来绘制回归图的. 让我们来看看他的API: seaborn.lmplot(x, y, data, hue=None, col=None, row=None, ...
- ChatGPT “眼”中的开源数据库
开源作为数据库发展的未来趋势之一,被冠以"数据库弯道超车的法宝"的称号.中国开源数据库产品正处于蓬勃发展的趋势,根据 墨天轮中国数据库流行度 ,截止2023年2月底已有46款开源数 ...
- url 统一资源定位符的组成
协议 protocol :http 或者 https = http + ssl 或者 file 文件(本地): 域名 host 或 ip 地址: 端口 port 省略默认 80 : 路径 path ...
- Kubernetes 集群中 Ingress 故障的根因诊断
作者:scwang18,主要负责技术架构,在容器云方向颇有研究. 前言 KubeSphere 是青云开源的基于 Kubernetes 的云原生分布式操作系统,提供了比较炫酷的 Kubernetes 集 ...
- PHP将整形数字转为Excel下标
1.背景 这两天在接到一个需求,需要导出一个班级所有学员的所有成绩,在最后excel表处理的时候发现导出的列超过了26列,后面会出现AA之类的下标,所以写了一个函数把数字整型转为Excel对应的下标. ...
- python多线程完成模拟支付请求
import asyncioimport sysfrom queue import Queuesys.path.append("../")from tool.__init__ im ...
- 数据运算中关于字符串""的拼接问题
例子中准备了3种类型数据,分别针对是否在运算存在空字符串参与运算进行了演示,结果如下: 1 int x = 10; 2 double y = 20.2; 3 long z = 10L; 4 Syste ...
- Visual Studio使用DotFuscator Community在Release时自动混淆并自动打包
DotFuscator Community并不支持通过项目文件定义自动混淆文件,PRO当然可以. 为了简单使用DotFuscator Community自动混淆文件,并自动打包,通过四处打听,总结了一 ...
- SLAM中的各种地图
1.地图的不同分类方式 地图有多种不同的分类方式,网上有不少帖子介绍各种各样的地图,但并没有非常完整的总结地图应该怎么分类.论文[1]中将地图分成以下几种:拓扑地图.度量地图.度量-语义地图和混合地图 ...