自动化测试(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 设备信息。  
  1. libimobiledevice 是一个跨平台的软件库 ; 不依赖任何已有的私有库,不需要越狱。应用软件可以通过这个开发包轻松访问设备的文件系统、获取设备信息,备份和恢复设备,管理 SpringBoard 图标,管理已安装应用,获取通讯录、日程、备注和书签等信息
终端命令:brew install ideviceinstaller  
  1. 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 81
    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 这个文件  
  • 配置webdriverAgent
  配置 WebDriverAgentLib ,选择开发者账号

  配置WebDriverAgentRunner,选择开发者账号

 
  • 连接并选择自己的ios设备,运行

 

运行成功后,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” 中选择你的开发团队 ;

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...