自动化测试(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 设备信息。
sudo authroze-ios 三、IOS环境 1、XCode 2、 Command Line Tools 默认是不会安装Command Line Tools的,Command Line Tools是在Xcode中的一款工具,可以在命令行中运行C程序。为了配置appium环境,我们需要安装Xcode Command Line Tools。 官网下载
mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh 该脚本会使用Carthage下载所有的依赖,使用npm打包响应的js文件。执行完成后,直接双击打开
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 图标,管理已安装应用,获取通讯录、日程、备注和书签等信息
ideviceinstaller
是一个与iOS设备的installation_proxy交互的工具,允许安装、升级、卸载、存档、还原和列举已安装或存档的app。此工具用于在真机上运行测试,默认是都安装的。
- 查看当前所连接的设备
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
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 是否安装成功
mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh 该脚本会使用Carthage下载所有的依赖,使用npm打包响应的js文件。执行完成后,直接双击打开
WebDriverAgent.xcodeproj
这个文件
- 配置webdriverAgent
WebDriverAgentLib
,选择开发者账号
配置WebDriverAgentRunner,选择开发者账号
- 连接并选择自己的ios设备,运行
- 在网址上输入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” 中选择你的开发团队 ;
标签:appium,python,ios,udid,allure,install,安装,WebDriverAgent 来源: https://blog.csdn.net/jingzhongjie/article/details/117909359