本文主要是介绍自动化测试(python+appium+pytest+allure) - 环境搭建,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、前提环境
1、python
此处使用python3,官方下载地址:
https://www.python.org/
2、selenium
终端输入: pip install Selenium 安装最新版本的selenium
3、setuptools、pip
下载setuptools
https://pypi.python.org/pypi/setuptools 、https://pypi.
python.org/pypi/pip
打开cmd 进入setuptools解压目录,输入:python
setup.py install
进入pip解压目录,输入:python
setup.py install
安装好后,打开终端,输入pip,如提示不是内部命令,则将python安装目录下Scripts目录添加到环境变量Path中。
二、通用环境
1、Homebrew
Homebrew是一个包管理软件,它可以使我们更容易地安装其他一些软件
终端命令:/usr/bin/ruby -e "$(curl –fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)”
2、Node和NPM
Node是一个javascript运行时环境,npm是节点包管理器。我们需要这些,因为Appium是一个节点应用程序。
终端命令:brew install node
3、Appium
Appium是一个用于本地、混合和移动web应用程序的开源测试自动化框架。它使用WebDriver协议驱动iOS、Android和Windows mobile应用程序。
安装桌面版
appium-server(推荐) 桌面版包含了appium-server,同时也包含一个元素定位器,建议安装桌面版。
官网地址:
http://appium.io/
下载dmg文件,点击安装即可。
4、Appium-Doctor
检查appium安装是否成功的工具集指令
终端命令:npm install appium-doctor -g
检测IOS环境是否安装成功:终端命令:appium-doctor —ios
necessary dependcies 必须全部是对勾状态 ,可选部分依赖可以不用全部安装
5、ios-deploy
一个不需要用Xcode安装和调试应用的命令行工具。需要一个有效的开发者证书,需要 Xcode 7以上的版本。
终端命令:brew install ios-deploy
或 cnpm install -g 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
# 查看应用是否安装
6、
ideviceinstaller & libimobiledevice
ios-deploy、ideviceinstaller 类似 android 的 adb; 是 Appium 底层用到的工具之一,用于获取 iOS 设备信息。
libimobiledevice
是一个跨平台的软件库 ; 不依赖任何已有的私有库,不需要越狱。应用软件可以通过这个开发包轻松访问设备的文件系统、获取设备信息,备份和恢复设备,管理 SpringBoard 图标,管理已安装应用,获取通讯录、日程、备注和书签等信息
终端命令:brew install ideviceinstaller
ideviceinstaller
是一个与iOS设备的installation_proxy交互的工具,允许安装、升级、卸载、存档、还原和列举已安装或存档的app。此工具用于在真机上运行测试,默认是都安装的。
终端命令:brew install libimobiledevice --HEAD
# 安装最新的更新
常用命令如下:
- 查看当前所连接的设备
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
7、carthage 依赖库
WebDriverAgent需要使用的依赖库
终端命令:brew install carthage
87、
ios_webkit_debug_proxy
Appium使用ios_webkit_debug_proxy这个工具在真机上访问web view。即混合应用的测试。
终端命令:brew install ios-webkit-debug-proxy
9、
authroize-ios
iOS 授权工具,主要用于模拟器中一些权限的授权
终端命令:npm install -g authroze-iossudo authroze-ios
sudo authroze-ios
三、IOS环境
1、XCode
2、
Command Line Tools
默认是不会安装Command Line Tools的,Command Line Tools是在Xcode中的一款工具,可以在命令行中运行C程序。为了配置appium环境,我们需要安装Xcode Command Line Tools。
官网下载
- 下载完成后,双击已下载的 .dmg 进行安装
- 检验 Command Line Tools 是否安装成功
终端命令:xcode-select —install
四、真机调试环境配置
1、
WebDriverAgent
WebDriverAgent是集成Appium测试ios应用的桥梁 (表现形式上:是安装在ios设备上的一个应用),WebDriverAgent 先前是一个独立的项目需要自己从github下载进行编译执行 ,在后来appium已经强行将其绑定在其组件中也就是说当你安装好appium时,WebDriverAgent也自动帮忙将其安装好,只需要手动修改部分内容,重新编译打包即可运行。
下载地址:git clone
https://github.com/facebook/WebDriverAgent
cd /Users/yourname/WebDriverAgent
mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh
该脚本会使用Carthage下载所有的依赖,使用npm打包响应的js文件。执行完成后,直接双击打开
WebDriverAgent.xcodeproj
这个文件
配置
WebDriverAgentLib
,选择开发者账号
配置WebDriverAgentRunner,选择开发者账号
运行成功后,iphone手机上会新建一个无图标的WebDriverAgent的应用,自动打开后马上又返回桌面
而在xcode控制台会打印如下日志:里面有IP地址与端口号
- 在网址上输入http://(ip地址):(端口号)/status,如果网页上返回一些json格式的数据,说明运行成功http://10.0.223.58:8100/status,有些iphone手机通过手机的IP和端口号还不能访问,此时需要将手机的端口转发到mac上
方式二:WebDriverAgent通过集成appium进行安装
命令行安装: 命令行安装的appium一般安装在/usr/local/bin/appium
下,
WebDriverAgent将会在路径:/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/
下
桌面版安装: WebDriverAgent的路径是:ls /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
以上两种方式都可以在对应目录看到 WebDriverAgent.xcodeproj 工程,右键选择用xcode打开 ; 在 “Signing&Capabilities” 下将 WebDriverAgentLib
和 WebDriverAgentRunner
设置成 “Automatically manage signing” 并在 “Team” 中选择你的开发团队 ;
这篇关于自动化测试(python+appium+pytest+allure) - 环境搭建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!