
正文
IOS自动化测试环境搭建(Python & Java)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
一、前言IOS的App自动化测试与Android的一样,也可以用appium来进行。但是IOS自动化依赖苹果的osx系统、Xcode构建等,且封闭的系统需要苹果开发者账号才可以驱动真机。Appium的环境配置有点麻烦,可能大部分时间都在处理各种稀奇古怪的报错,甚至于需要重装系统。本文旨在记录配置过程(MacOS系统的Python和Java环境配置也有记录),给同道中人提供参考,让大家少走弯路。二、环境依赖1、环境依赖项- Xcode
- Git
- homebrew
- npm、nodejs
- libimobiledevice
- idevicesinstaller
- ios-deploy
- Carthage
- appium
- appium-doctor
- Webdriveragent
- ios-webkit-debug-proxy
- Python和Java
- Android SDK
2、环境需求与支持需求 版本最低要求 我的环境版本 Mac OSX 10.11+ macOS 11.3.1 iOS 9.3+ 13.3、14.7 Xcode 7+ 12.5 Appium 1.6+ 1.20.2
驱动程序 对应iOS版本 XCUITest Driver ios9.3或以上 UIAutomation Driver ios9.3以下
三、环境配置1、xcode安装Xcode是运行在操作系统Mac OS X上的集成开发工具(IDE),iOS自动化测试使用Xcode主要用于将绑定了苹果开发者证书的WebDriverAgent打包至iOS手机。安装方式有两种,根据你的系统版本来选择。方式一:Mac平台的App Store安装通过App store安装的Xcode是最新版本,需要最新版macOS系统才能兼容。如果已经升级至最新系统,可以直接在App store下载安装。最好不要升级至最新系统,可能遇到其他兼容性问题。方式二:离线包安装你的macOS系统不是最高版本的时候,要保证最低版本需求:macOS在10.12以上,xcode在8.1以上。离线包下载地址:https://developer.apple.com/cn/support/xcode/ (可以选择版本)离线包的Xcode版本选择,最好是根据你的系统版本发布时间来定,选发布时间相近的版本。我的版本是:macOS 11.3.1 、Xcode12.52、Git安装安装的Xcode自带Git程序,一般Xcode安装好后不需要再单独安装Git,验证Git环境即可。如果后面的环境依赖安装出现关于Git的报错,需要更新Git,或者卸载重新安装。验证安装:git --version验证git连接:ping github.com能够连接成功时,终端显示:
安装命令:brew install git更新Git:brew upgrade git3、Homebrew安装(用brew来安装依赖)Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。类似apt-get、yum。安装途径有两种:国外源和国内园,推荐使用国内源,我使用国外源没成功过。
方式一(国外源):
官网:https://brew.sh/在官网首页复制下面的安装命令,在终端执行命令安装:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

验证安装:brew -v更新Homebrew命令:brew update && brew upgrade && brew clean方式二(国内源):
上面的官网安装方法失败率很高,可以采用国内源安装。homebrew国内源安装方法,终端执行下面的命令:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
终端运行时,根据提示操作:

安装结束后重启终端 或者 运行 source /Users/sinosun/.bash_profile 否则可能无法使用。终端执行:brew update 保持最新版最后验证安装:brew -v 得到版本号![]()
![]()
![]()

参考链接:https://blog.csdn.net/ljl6158999/article/details/118144440 (macOS升级后安装报错解决办法)4、npm和nodejs安装Appium是通过Node.js开发的http服务器,用来创建和控制WebDriver的session,因此需要安装Node.js。npm是Node.js的包管理工具,随同Node.js一起安装。4.1、(方式一:brew在线安装)【我的nodejs版本是:16.6.0】安装命令:brew install node 此方法安装的是最新版本验证安装:node -v 得到版本号 npm -v 得到版本号
其它在线安装方法:(指定版本安装)终端执行命令行找到自己合适的node版本 :brew search node
查询显示最高可以安装 node14 版本安装命令:brew install node@版本号 (会将npm和nodejs一起安装)绑定安装的node,命令:brew link --overwrite --force node@版本号验证安装:node -v 得到版本号 npm -v 得到版本号
卸载node:brew uninstall node@版本号 --force例如:安装的是12.18.1,卸载命令:brew uninstall node@12 --force4.2、(方式二:离线包安装)brew在线安装是从官网下载,速度慢且成功率低,可以通过下载离线包安装解决。nodejs官网下载地址:https://nodejs.org/en/ 点击“Current”区域稳定版。安装包下载并安装后,同样在终端中输入node -v 、 npm -v 验证4.3、cnpm国内源安装NPM安装插件是从NPM官网下载对应的插件包,该网站的服务器在国外,经常会出现下载缓慢或出现异常,这时便需要找到另外的方法提供稳定的下载,这个方法就是CNPM。阿里巴巴的淘宝团队把NPM官网的插件都同步到了在中国的服务器,提供给我们从这个服务器上稳定下载资源。CNPM同样是NPM的一个插件,要安装的话需要在终端执行以下命令:sudo npm install -g cnpm --registry=https://registry.npm.taobao.org验证安装:cnpm -v
4.4、npm安装插件常见报错在终端通过npm安装插件时,前面加上“sudo”可以减少报错几率。(加上sudo后,命令以系统管理者的身份执行)如果通过npm安装插件时,出现“npm ERR!”提示,表示安装失败。前缀加上sudo也报错,可以尝试国内源cnpm安装,只需要将命令中的npm换成cnpm。如果终端安装过程中出现“npm WARN”提示,可以忽略。 5、libimobiledevice安装libimobiledevice是一个使用原生协议与苹果IOS设备进行通信的库,相当于Android的adb。appium连接iOS设备必需要此依赖库,通过这个库Mac os可轻松获得iOS设备信息。支持iOS10以上系统安装命令:brew install --HEAD libimobiledevice卸载:brew uninstall --ignore-dependencies libimobiledevice常用命令:1、idevice_id -l 显示当前所连接的设备[udid],包括 usb、WiFi 连接2、ideviceinfo 获取设备信息3、idevicedate 获取设备时间4、idevicename 获取设备名称5、idevicescreenshot 截图6、ideviceinstaller -u [udid] -i [xxx.ipa] #xxx.ipa:安装文件路径7、ideviceinstaller -u [udid] -U [bundleId] #bundleId:应用的包名检查安装:
报错参考:https://www.cnblogs.com/zhiaijingming/p/11005330.html
6、idevicesinstaller安装ideviceinstaller是一个管理连接设备的工具,与ios-deploy、Android的adb功能类似。ideviceinstaller的功能与libimobiledevice差不多,都可以获取iOS设备的udid、安装App、卸载App、获取bundleid等,但ideviceinstaller仅支持iOS9以下系统环境,libimobiledevice支持iOS10以上系统环境。安装命令:brew install ideviceinstaller常用命令:1.ideviceinstaller -l 打印app列表![]()

7、ios-deploy安装ios-deploy是一个使用命令行安装ios app到连接设备的工具原理是根据os x命令行调用系统底层函数,获取连接的设备、查询/安装/卸载appiOS10以上系统使用appium,需要依赖ios-deploy安装:sudo npm install -g ios-deploy 或 sudo cnpm install -g ios-deploy安装指定版本的ios-deploy参考:https://www.jianshu.com/p/a100914ec784ios-deploy常用命令:1.ios-deploy -c 查看连接的设备(包括通过usb和wifi连接的)2.ios-deploy -c --no-wifi 查看通过usb连接的设备3.ios-deploy --id [udid] --bundle [xxx.app] 安装应用到指定设备(其中xxx.app是Xcode编译后的ipa的路径)4.ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] 卸载指定设备上的应用(根据包名,也就是bundleId)5.ios-deploy --id [udid] --list_bundle_id 查看指定设备上安装的所有应用(包括系统应用和第三方)例如: ios-deploy --id 770dfe115807e7d494b4721b1e4ebd6ecb9424d3 --list_bundle_id6.ios-deploy --id [udid] --exists --bundle_id [bundleId] 检查指定设备上是否安装了某个应用例如: ios-deploy --id 0420781d4e43f1f99935513c91e9b816f4dddc24 --exists --bundle_id com.facebook.taozhen
注意:Xcode是通过离线包安装的,安装ios-deploy时会报错:
这个是由于Xcode没有设置版本的原因导致的,设置方法:进入Xcode偏好设置-->点击locations-->Comand Line Tools栏选择版本号,然后重新执行安装命令。如下图:
检查安装:
安装错误解决参考:https://blog.csdn.net/weixin_44643020/article/details/88226097
8、Carthage安装Carthage是一款iOS项目依赖管理工具,与cocoapods功能相似,可以帮助管理第三方依赖,类似于Java的maven。它会把第三方依赖编译成framework,以framework形式将第三方依赖加入到项目中进行使用和管理。自动化测试用到的WebDriverAgent通过Carthage管理项目依赖。安装命令:brew install carthage检查命令:carthage version![]()
未完待续…… ![]()
IOS自动化测试环境搭建(Python & Java)的更多相关文章- Appium自动化—浅谈iOS自动化测试环境搭建
在日常的测试工作中,我们会发现有些测试工作重复率极高,测试人员需要花费大量的时间进行这些重复性的测试,浪费了大量的人力与时间.若能够将常用的测试场景进行自动化,那必定能节省许多的人力与时间.作为一个初 ...
- 自动化测试环境搭建--Python及selenium
安装pyhton 访问Python官网:http://www.python.org 下载页Windows下找到适合64位系统的版本 下载后双击安装 安装后查看计算机->属性->高级系统设置 ...
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
- mac上搭建appium+IOS自动化测试环境(一)
阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...
- mac上搭建appium+IOS自动化测试环境(二)
上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- 《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基 ...
- 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理
一.前言 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...
- Appium 简介与自动化测试环境搭建
1. Appium 简介 2. Appium 自动化测试环境搭建 1. Appium 简介 Appium 是一个开源测试自动化框架,可用于原生,混合和移动 Web 应用程序测试. 它使用 WebDri ...
随机推荐- SQL Server 2012大数据导入Oracle的解决方案
在实际工作中需要把SQL Server中的表导入Oracle.之前尝试过直接用SQL Server的DTS进行都没问题.但这次因为数据量在千万级所以报虚拟内存不足.最后通过SQL Server导出tx ...
- CS异步下载
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- redis2--redis安装
(1)安装Redis Redis目前只支持Linux系统,因为开发此软件的创始者认为,Redis是为后台数据服务的,所以认为该软件使用在纯净的服务环境下,而不是应用型操作系统下,而Linux作为服务器 ...
- 单元测试er——为什么真的真的要写单元测试
优点 为什么很多技术或者知识要说优点?因为有些道理看着很简单,大家表面上都觉得对,但是做的时候又不去做或者做不到.其中有一个很重要原因是骨子里或者潜意识并没有真实觉得这是对的,一旦想去做的时候同时会冒 ...
- 使用OAuth2的SSO分析
参考:https://github.com/spring-guides/tut-spring-security-and-angular-js/blob/master/oauth2-vanilla/RE ...
- 【HTML5】HTML5中video元素事件详解(实时监测当前播放时间)
html 代码..video后边几个元素,可处理ios 系统的兼容性 <video id="myVideo" controls="controls" po ...
- SQL的datetime类型数据转换为字符串格式大全
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE( ...
- UVA-863 Not so Mobile (简单二叉树)
题目大意:给一个树状天平,判断是否平衡.树状天平是按递归给出的. 题目分析:平衡的条件是子天平都平衡,并且w1*d1==w2*d2,其中w1和w2为子天平的总重量,d1和d2为力矩. 代码如下: # ...
- HDU1300 Pearls(可斜率优化)
+)*= +)*= .总共需要的花费是150+=++)*= .在两组数据看来.珍珠都买了高品质的了,而且花费也少了!问题是怎么样能花费最少买珍珠! Add:合并肯定是相邻的合并.比如啊a<b&l ...
- system表空间爆满解决方法
分类: Oracle 问题描述: 对数据库做检查,发现system表空间持续占满99%.使用如下语句查看: SQL> select b.tablespace_name "表空间&q ...
1、环境依赖项- Xcode
- Git
- homebrew
- npm、nodejs
- libimobiledevice
- idevicesinstaller
- ios-deploy
- Carthage
- appium
- appium-doctor
- Webdriveragent
- ios-webkit-debug-proxy
- Python和Java
- Android SDK
2、环境需求与支持需求 版本最低要求 我的环境版本 Mac OSX 10.11+ macOS 11.3.1 iOS 9.3+ 13.3、14.7 Xcode 7+ 12.5 Appium 1.6+ 1.20.2
驱动程序 对应iOS版本 XCUITest Driver ios9.3或以上 UIAutomation Driver ios9.3以下
三、环境配置1、xcode安装Xcode是运行在操作系统Mac OS X上的集成开发工具(IDE),iOS自动化测试使用Xcode主要用于将绑定了苹果开发者证书的WebDriverAgent打包至iOS手机。安装方式有两种,根据你的系统版本来选择。方式一:Mac平台的App Store安装通过App store安装的Xcode是最新版本,需要最新版macOS系统才能兼容。如果已经升级至最新系统,可以直接在App store下载安装。最好不要升级至最新系统,可能遇到其他兼容性问题。方式二:离线包安装你的macOS系统不是最高版本的时候,要保证最低版本需求:macOS在10.12以上,xcode在8.1以上。离线包下载地址:https://developer.apple.com/cn/support/xcode/ (可以选择版本)离线包的Xcode版本选择,最好是根据你的系统版本发布时间来定,选发布时间相近的版本。我的版本是:macOS 11.3.1 、Xcode12.52、Git安装安装的Xcode自带Git程序,一般Xcode安装好后不需要再单独安装Git,验证Git环境即可。如果后面的环境依赖安装出现关于Git的报错,需要更新Git,或者卸载重新安装。验证安装:git --version验证git连接:ping github.com能够连接成功时,终端显示:
安装命令:brew install git更新Git:brew upgrade git3、Homebrew安装(用brew来安装依赖)Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。类似apt-get、yum。安装途径有两种:国外源和国内园,推荐使用国内源,我使用国外源没成功过。
方式一(国外源):
官网:https://brew.sh/在官网首页复制下面的安装命令,在终端执行命令安装:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

验证安装:brew -v更新Homebrew命令:brew update && brew upgrade && brew clean方式二(国内源):
上面的官网安装方法失败率很高,可以采用国内源安装。homebrew国内源安装方法,终端执行下面的命令:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
终端运行时,根据提示操作:

安装结束后重启终端 或者 运行 source /Users/sinosun/.bash_profile 否则可能无法使用。终端执行:brew update 保持最新版最后验证安装:brew -v 得到版本号![]()
![]()
![]()

参考链接:https://blog.csdn.net/ljl6158999/article/details/118144440 (macOS升级后安装报错解决办法)4、npm和nodejs安装Appium是通过Node.js开发的http服务器,用来创建和控制WebDriver的session,因此需要安装Node.js。npm是Node.js的包管理工具,随同Node.js一起安装。4.1、(方式一:brew在线安装)【我的nodejs版本是:16.6.0】安装命令:brew install node 此方法安装的是最新版本验证安装:node -v 得到版本号 npm -v 得到版本号
其它在线安装方法:(指定版本安装)终端执行命令行找到自己合适的node版本 :brew search node
查询显示最高可以安装 node14 版本安装命令:brew install node@版本号 (会将npm和nodejs一起安装)绑定安装的node,命令:brew link --overwrite --force node@版本号验证安装:node -v 得到版本号 npm -v 得到版本号
卸载node:brew uninstall node@版本号 --force例如:安装的是12.18.1,卸载命令:brew uninstall node@12 --force4.2、(方式二:离线包安装)brew在线安装是从官网下载,速度慢且成功率低,可以通过下载离线包安装解决。nodejs官网下载地址:https://nodejs.org/en/ 点击“Current”区域稳定版。安装包下载并安装后,同样在终端中输入node -v 、 npm -v 验证4.3、cnpm国内源安装NPM安装插件是从NPM官网下载对应的插件包,该网站的服务器在国外,经常会出现下载缓慢或出现异常,这时便需要找到另外的方法提供稳定的下载,这个方法就是CNPM。阿里巴巴的淘宝团队把NPM官网的插件都同步到了在中国的服务器,提供给我们从这个服务器上稳定下载资源。CNPM同样是NPM的一个插件,要安装的话需要在终端执行以下命令:sudo npm install -g cnpm --registry=https://registry.npm.taobao.org验证安装:cnpm -v
4.4、npm安装插件常见报错在终端通过npm安装插件时,前面加上“sudo”可以减少报错几率。(加上sudo后,命令以系统管理者的身份执行)如果通过npm安装插件时,出现“npm ERR!”提示,表示安装失败。前缀加上sudo也报错,可以尝试国内源cnpm安装,只需要将命令中的npm换成cnpm。如果终端安装过程中出现“npm WARN”提示,可以忽略。 5、libimobiledevice安装libimobiledevice是一个使用原生协议与苹果IOS设备进行通信的库,相当于Android的adb。appium连接iOS设备必需要此依赖库,通过这个库Mac os可轻松获得iOS设备信息。支持iOS10以上系统安装命令:brew install --HEAD libimobiledevice卸载:brew uninstall --ignore-dependencies libimobiledevice常用命令:1、idevice_id -l 显示当前所连接的设备[udid],包括 usb、WiFi 连接2、ideviceinfo 获取设备信息3、idevicedate 获取设备时间4、idevicename 获取设备名称5、idevicescreenshot 截图6、ideviceinstaller -u [udid] -i [xxx.ipa] #xxx.ipa:安装文件路径7、ideviceinstaller -u [udid] -U [bundleId] #bundleId:应用的包名检查安装:
报错参考:https://www.cnblogs.com/zhiaijingming/p/11005330.html
6、idevicesinstaller安装ideviceinstaller是一个管理连接设备的工具,与ios-deploy、Android的adb功能类似。ideviceinstaller的功能与libimobiledevice差不多,都可以获取iOS设备的udid、安装App、卸载App、获取bundleid等,但ideviceinstaller仅支持iOS9以下系统环境,libimobiledevice支持iOS10以上系统环境。安装命令:brew install ideviceinstaller常用命令:1.ideviceinstaller -l 打印app列表![]()

7、ios-deploy安装ios-deploy是一个使用命令行安装ios app到连接设备的工具原理是根据os x命令行调用系统底层函数,获取连接的设备、查询/安装/卸载appiOS10以上系统使用appium,需要依赖ios-deploy安装:sudo npm install -g ios-deploy 或 sudo cnpm install -g ios-deploy安装指定版本的ios-deploy参考:https://www.jianshu.com/p/a100914ec784ios-deploy常用命令:1.ios-deploy -c 查看连接的设备(包括通过usb和wifi连接的)2.ios-deploy -c --no-wifi 查看通过usb连接的设备3.ios-deploy --id [udid] --bundle [xxx.app] 安装应用到指定设备(其中xxx.app是Xcode编译后的ipa的路径)4.ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] 卸载指定设备上的应用(根据包名,也就是bundleId)5.ios-deploy --id [udid] --list_bundle_id 查看指定设备上安装的所有应用(包括系统应用和第三方)例如: ios-deploy --id 770dfe115807e7d494b4721b1e4ebd6ecb9424d3 --list_bundle_id6.ios-deploy --id [udid] --exists --bundle_id [bundleId] 检查指定设备上是否安装了某个应用例如: ios-deploy --id 0420781d4e43f1f99935513c91e9b816f4dddc24 --exists --bundle_id com.facebook.taozhen
注意:Xcode是通过离线包安装的,安装ios-deploy时会报错:
这个是由于Xcode没有设置版本的原因导致的,设置方法:进入Xcode偏好设置-->点击locations-->Comand Line Tools栏选择版本号,然后重新执行安装命令。如下图:
检查安装:
安装错误解决参考:https://blog.csdn.net/weixin_44643020/article/details/88226097
8、Carthage安装Carthage是一款iOS项目依赖管理工具,与cocoapods功能相似,可以帮助管理第三方依赖,类似于Java的maven。它会把第三方依赖编译成framework,以framework形式将第三方依赖加入到项目中进行使用和管理。自动化测试用到的WebDriverAgent通过Carthage管理项目依赖。安装命令:brew install carthage检查命令:carthage version![]()
未完待续…… ![]()
IOS自动化测试环境搭建(Python & Java)的更多相关文章- Appium自动化—浅谈iOS自动化测试环境搭建
在日常的测试工作中,我们会发现有些测试工作重复率极高,测试人员需要花费大量的时间进行这些重复性的测试,浪费了大量的人力与时间.若能够将常用的测试场景进行自动化,那必定能节省许多的人力与时间.作为一个初 ...
- 自动化测试环境搭建--Python及selenium
安装pyhton 访问Python官网:http://www.python.org 下载页Windows下找到适合64位系统的版本 下载后双击安装 安装后查看计算机->属性->高级系统设置 ...
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
- mac上搭建appium+IOS自动化测试环境(一)
阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...
- mac上搭建appium+IOS自动化测试环境(二)
上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- 《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基 ...
- 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理
一.前言 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...
- Appium 简介与自动化测试环境搭建
1. Appium 简介 2. Appium 自动化测试环境搭建 1. Appium 简介 Appium 是一个开源测试自动化框架,可用于原生,混合和移动 Web 应用程序测试. 它使用 WebDri ...
随机推荐- SQL Server 2012大数据导入Oracle的解决方案
在实际工作中需要把SQL Server中的表导入Oracle.之前尝试过直接用SQL Server的DTS进行都没问题.但这次因为数据量在千万级所以报虚拟内存不足.最后通过SQL Server导出tx ...
- CS异步下载
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- redis2--redis安装
(1)安装Redis Redis目前只支持Linux系统,因为开发此软件的创始者认为,Redis是为后台数据服务的,所以认为该软件使用在纯净的服务环境下,而不是应用型操作系统下,而Linux作为服务器 ...
- 单元测试er——为什么真的真的要写单元测试
优点 为什么很多技术或者知识要说优点?因为有些道理看着很简单,大家表面上都觉得对,但是做的时候又不去做或者做不到.其中有一个很重要原因是骨子里或者潜意识并没有真实觉得这是对的,一旦想去做的时候同时会冒 ...
- 使用OAuth2的SSO分析
参考:https://github.com/spring-guides/tut-spring-security-and-angular-js/blob/master/oauth2-vanilla/RE ...
- 【HTML5】HTML5中video元素事件详解(实时监测当前播放时间)
html 代码..video后边几个元素,可处理ios 系统的兼容性 <video id="myVideo" controls="controls" po ...
- SQL的datetime类型数据转换为字符串格式大全
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE( ...
- UVA-863 Not so Mobile (简单二叉树)
题目大意:给一个树状天平,判断是否平衡.树状天平是按递归给出的. 题目分析:平衡的条件是子天平都平衡,并且w1*d1==w2*d2,其中w1和w2为子天平的总重量,d1和d2为力矩. 代码如下: # ...
- HDU1300 Pearls(可斜率优化)
+)*= +)*= .总共需要的花费是150+=++)*= .在两组数据看来.珍珠都买了高品质的了,而且花费也少了!问题是怎么样能花费最少买珍珠! Add:合并肯定是相邻的合并.比如啊a<b&l ...
- system表空间爆满解决方法
分类: Oracle 问题描述: 对数据库做检查,发现system表空间持续占满99%.使用如下语句查看: SQL> select b.tablespace_name "表空间&q ...
- Xcode
- Git
- homebrew
- npm、nodejs
- libimobiledevice
- idevicesinstaller
- ios-deploy
- Carthage
- appium
- appium-doctor
- Webdriveragent
- ios-webkit-debug-proxy
- Python和Java
- Android SDK
需求 | 版本最低要求 | 我的环境版本 |
Mac OSX | 10.11+ | macOS 11.3.1 |
iOS | 9.3+ | 13.3、14.7 |
Xcode | 7+ | 12.5 |
Appium | 1.6+ | 1.20.2 |
驱动程序 | 对应iOS版本 |
XCUITest Driver | ios9.3或以上 |
UIAutomation Driver | ios9.3以下 |
三、环境配置1、xcode安装Xcode是运行在操作系统Mac OS X上的集成开发工具(IDE),iOS自动化测试使用Xcode主要用于将绑定了苹果开发者证书的WebDriverAgent打包至iOS手机。安装方式有两种,根据你的系统版本来选择。方式一:Mac平台的App Store安装通过App store安装的Xcode是最新版本,需要最新版macOS系统才能兼容。如果已经升级至最新系统,可以直接在App store下载安装。最好不要升级至最新系统,可能遇到其他兼容性问题。方式二:离线包安装你的macOS系统不是最高版本的时候,要保证最低版本需求:macOS在10.12以上,xcode在8.1以上。离线包下载地址:https://developer.apple.com/cn/support/xcode/ (可以选择版本)离线包的Xcode版本选择,最好是根据你的系统版本发布时间来定,选发布时间相近的版本。我的版本是:macOS 11.3.1 、Xcode12.52、Git安装安装的Xcode自带Git程序,一般Xcode安装好后不需要再单独安装Git,验证Git环境即可。如果后面的环境依赖安装出现关于Git的报错,需要更新Git,或者卸载重新安装。验证安装:git --version验证git连接:ping github.com能够连接成功时,终端显示:
安装命令:brew install git更新Git:brew upgrade git3、Homebrew安装(用brew来安装依赖)Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。类似apt-get、yum。安装途径有两种:国外源和国内园,推荐使用国内源,我使用国外源没成功过。
方式一(国外源):
官网:https://brew.sh/在官网首页复制下面的安装命令,在终端执行命令安装:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

验证安装:brew -v更新Homebrew命令:brew update && brew upgrade && brew clean方式二(国内源):
上面的官网安装方法失败率很高,可以采用国内源安装。homebrew国内源安装方法,终端执行下面的命令:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
终端运行时,根据提示操作:

安装结束后重启终端 或者 运行 source /Users/sinosun/.bash_profile 否则可能无法使用。终端执行:brew update 保持最新版最后验证安装:brew -v 得到版本号![]()
![]()
![]()

参考链接:https://blog.csdn.net/ljl6158999/article/details/118144440 (macOS升级后安装报错解决办法)4、npm和nodejs安装Appium是通过Node.js开发的http服务器,用来创建和控制WebDriver的session,因此需要安装Node.js。npm是Node.js的包管理工具,随同Node.js一起安装。4.1、(方式一:brew在线安装)【我的nodejs版本是:16.6.0】安装命令:brew install node 此方法安装的是最新版本验证安装:node -v 得到版本号 npm -v 得到版本号
其它在线安装方法:(指定版本安装)终端执行命令行找到自己合适的node版本 :brew search node
查询显示最高可以安装 node14 版本安装命令:brew install node@版本号 (会将npm和nodejs一起安装)绑定安装的node,命令:brew link --overwrite --force node@版本号验证安装:node -v 得到版本号 npm -v 得到版本号
卸载node:brew uninstall node@版本号 --force例如:安装的是12.18.1,卸载命令:brew uninstall node@12 --force4.2、(方式二:离线包安装)brew在线安装是从官网下载,速度慢且成功率低,可以通过下载离线包安装解决。nodejs官网下载地址:https://nodejs.org/en/ 点击“Current”区域稳定版。安装包下载并安装后,同样在终端中输入node -v 、 npm -v 验证4.3、cnpm国内源安装NPM安装插件是从NPM官网下载对应的插件包,该网站的服务器在国外,经常会出现下载缓慢或出现异常,这时便需要找到另外的方法提供稳定的下载,这个方法就是CNPM。阿里巴巴的淘宝团队把NPM官网的插件都同步到了在中国的服务器,提供给我们从这个服务器上稳定下载资源。CNPM同样是NPM的一个插件,要安装的话需要在终端执行以下命令:sudo npm install -g cnpm --registry=https://registry.npm.taobao.org验证安装:cnpm -v
4.4、npm安装插件常见报错在终端通过npm安装插件时,前面加上“sudo”可以减少报错几率。(加上sudo后,命令以系统管理者的身份执行)如果通过npm安装插件时,出现“npm ERR!”提示,表示安装失败。前缀加上sudo也报错,可以尝试国内源cnpm安装,只需要将命令中的npm换成cnpm。如果终端安装过程中出现“npm WARN”提示,可以忽略。 5、libimobiledevice安装libimobiledevice是一个使用原生协议与苹果IOS设备进行通信的库,相当于Android的adb。appium连接iOS设备必需要此依赖库,通过这个库Mac os可轻松获得iOS设备信息。支持iOS10以上系统安装命令:brew install --HEAD libimobiledevice卸载:brew uninstall --ignore-dependencies libimobiledevice常用命令:1、idevice_id -l 显示当前所连接的设备[udid],包括 usb、WiFi 连接2、ideviceinfo 获取设备信息3、idevicedate 获取设备时间4、idevicename 获取设备名称5、idevicescreenshot 截图6、ideviceinstaller -u [udid] -i [xxx.ipa] #xxx.ipa:安装文件路径7、ideviceinstaller -u [udid] -U [bundleId] #bundleId:应用的包名检查安装:
报错参考:https://www.cnblogs.com/zhiaijingming/p/11005330.html
6、idevicesinstaller安装ideviceinstaller是一个管理连接设备的工具,与ios-deploy、Android的adb功能类似。ideviceinstaller的功能与libimobiledevice差不多,都可以获取iOS设备的udid、安装App、卸载App、获取bundleid等,但ideviceinstaller仅支持iOS9以下系统环境,libimobiledevice支持iOS10以上系统环境。安装命令:brew install ideviceinstaller常用命令:1.ideviceinstaller -l 打印app列表![]()

7、ios-deploy安装ios-deploy是一个使用命令行安装ios app到连接设备的工具原理是根据os x命令行调用系统底层函数,获取连接的设备、查询/安装/卸载appiOS10以上系统使用appium,需要依赖ios-deploy安装:sudo npm install -g ios-deploy 或 sudo cnpm install -g ios-deploy安装指定版本的ios-deploy参考:https://www.jianshu.com/p/a100914ec784ios-deploy常用命令:1.ios-deploy -c 查看连接的设备(包括通过usb和wifi连接的)2.ios-deploy -c --no-wifi 查看通过usb连接的设备3.ios-deploy --id [udid] --bundle [xxx.app] 安装应用到指定设备(其中xxx.app是Xcode编译后的ipa的路径)4.ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] 卸载指定设备上的应用(根据包名,也就是bundleId)5.ios-deploy --id [udid] --list_bundle_id 查看指定设备上安装的所有应用(包括系统应用和第三方)例如: ios-deploy --id 770dfe115807e7d494b4721b1e4ebd6ecb9424d3 --list_bundle_id6.ios-deploy --id [udid] --exists --bundle_id [bundleId] 检查指定设备上是否安装了某个应用例如: ios-deploy --id 0420781d4e43f1f99935513c91e9b816f4dddc24 --exists --bundle_id com.facebook.taozhen
注意:Xcode是通过离线包安装的,安装ios-deploy时会报错:
这个是由于Xcode没有设置版本的原因导致的,设置方法:进入Xcode偏好设置-->点击locations-->Comand Line Tools栏选择版本号,然后重新执行安装命令。如下图:
检查安装:
安装错误解决参考:https://blog.csdn.net/weixin_44643020/article/details/88226097
8、Carthage安装Carthage是一款iOS项目依赖管理工具,与cocoapods功能相似,可以帮助管理第三方依赖,类似于Java的maven。它会把第三方依赖编译成framework,以framework形式将第三方依赖加入到项目中进行使用和管理。自动化测试用到的WebDriverAgent通过Carthage管理项目依赖。安装命令:brew install carthage检查命令:carthage version![]()
未完待续…… ![]()
IOS自动化测试环境搭建(Python & Java)的更多相关文章- Appium自动化—浅谈iOS自动化测试环境搭建
在日常的测试工作中,我们会发现有些测试工作重复率极高,测试人员需要花费大量的时间进行这些重复性的测试,浪费了大量的人力与时间.若能够将常用的测试场景进行自动化,那必定能节省许多的人力与时间.作为一个初 ...
- 自动化测试环境搭建--Python及selenium
安装pyhton 访问Python官网:http://www.python.org 下载页Windows下找到适合64位系统的版本 下载后双击安装 安装后查看计算机->属性->高级系统设置 ...
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
- mac上搭建appium+IOS自动化测试环境(一)
阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...
- mac上搭建appium+IOS自动化测试环境(二)
上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- 《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基 ...
- 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理
一.前言 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...
- Appium 简介与自动化测试环境搭建
1. Appium 简介 2. Appium 自动化测试环境搭建 1. Appium 简介 Appium 是一个开源测试自动化框架,可用于原生,混合和移动 Web 应用程序测试. 它使用 WebDri ...
随机推荐- SQL Server 2012大数据导入Oracle的解决方案
在实际工作中需要把SQL Server中的表导入Oracle.之前尝试过直接用SQL Server的DTS进行都没问题.但这次因为数据量在千万级所以报虚拟内存不足.最后通过SQL Server导出tx ...
- CS异步下载
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- redis2--redis安装
(1)安装Redis Redis目前只支持Linux系统,因为开发此软件的创始者认为,Redis是为后台数据服务的,所以认为该软件使用在纯净的服务环境下,而不是应用型操作系统下,而Linux作为服务器 ...
- 单元测试er——为什么真的真的要写单元测试
优点 为什么很多技术或者知识要说优点?因为有些道理看着很简单,大家表面上都觉得对,但是做的时候又不去做或者做不到.其中有一个很重要原因是骨子里或者潜意识并没有真实觉得这是对的,一旦想去做的时候同时会冒 ...
- 使用OAuth2的SSO分析
参考:https://github.com/spring-guides/tut-spring-security-and-angular-js/blob/master/oauth2-vanilla/RE ...
- 【HTML5】HTML5中video元素事件详解(实时监测当前播放时间)
html 代码..video后边几个元素,可处理ios 系统的兼容性 <video id="myVideo" controls="controls" po ...
- SQL的datetime类型数据转换为字符串格式大全
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE( ...
- UVA-863 Not so Mobile (简单二叉树)
题目大意:给一个树状天平,判断是否平衡.树状天平是按递归给出的. 题目分析:平衡的条件是子天平都平衡,并且w1*d1==w2*d2,其中w1和w2为子天平的总重量,d1和d2为力矩. 代码如下: # ...
- HDU1300 Pearls(可斜率优化)
+)*= +)*= .总共需要的花费是150+=++)*= .在两组数据看来.珍珠都买了高品质的了,而且花费也少了!问题是怎么样能花费最少买珍珠! Add:合并肯定是相邻的合并.比如啊a<b&l ...
- system表空间爆满解决方法
分类: Oracle 问题描述: 对数据库做检查,发现system表空间持续占满99%.使用如下语句查看: SQL> select b.tablespace_name "表空间&q ...
Xcode是运行在操作系统Mac OS X上的集成开发工具(IDE),iOS自动化测试使用Xcode主要用于将绑定了苹果开发者证书的WebDriverAgent打包至iOS手机。
安装方式有两种,根据你的系统版本来选择。
方式一:Mac平台的App Store安装
通过App store安装的Xcode是最新版本,需要最新版macOS系统才能兼容。如果已经升级至最新系统,可以直接在App store下载安装。最好不要升级至最新系统,可能遇到其他兼容性问题。
方式二:离线包安装
你的macOS系统不是最高版本的时候,要保证最低版本需求:macOS在10.12以上,xcode在8.1以上。
离线包下载地址:https://developer.apple.com/cn/support/xcode/ (可以选择版本)
离线包的Xcode版本选择,最好是根据你的系统版本发布时间来定,选发布时间相近的版本。我的版本是:macOS 11.3.1 、Xcode12.5
2、Git安装安装的Xcode自带Git程序,一般Xcode安装好后不需要再单独安装Git,验证Git环境即可。如果后面的环境依赖安装出现关于Git的报错,需要更新Git,或者卸载重新安装。验证安装:git --version验证git连接:ping github.com能够连接成功时,终端显示:
安装命令:brew install git更新Git:brew upgrade git3、Homebrew安装(用brew来安装依赖)Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。类似apt-get、yum。安装途径有两种:国外源和国内园,推荐使用国内源,我使用国外源没成功过。

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。类似apt-get、yum。
安装途径有两种:国外源和国内园,推荐使用国内源,我使用国外源没成功过。
方式一(国外源):
官网:https://brew.sh/
在官网首页复制下面的安装命令,在终端执行命令安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

验证安装:brew -v
更新Homebrew命令:brew update && brew upgrade && brew clean
方式二(国内源):
上面的官网安装方法失败率很高,可以采用国内源安装。
homebrew国内源安装方法,终端执行下面的命令:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
终端运行时,根据提示操作:

安装结束后重启终端 或者 运行 source /Users/sinosun/.bash_profile 否则可能无法使用。
终端执行:brew update 保持最新版
最后验证安装:brew -v 得到版本号

参考链接:
https://blog.csdn.net/ljl6158999/article/details/118144440 (macOS升级后安装报错解决办法)
4、npm和nodejs安装Appium是通过Node.js开发的http服务器,用来创建和控制WebDriver的session,因此需要安装Node.js。npm是Node.js的包管理工具,随同Node.js一起安装。4.1、(方式一:brew在线安装)【我的nodejs版本是:16.6.0】安装命令:brew install node 此方法安装的是最新版本验证安装:node -v 得到版本号 npm -v 得到版本号
其它在线安装方法:(指定版本安装)终端执行命令行找到自己合适的node版本 :brew search node
查询显示最高可以安装 node14 版本安装命令:brew install node@版本号 (会将npm和nodejs一起安装)绑定安装的node,命令:brew link --overwrite --force node@版本号验证安装:node -v 得到版本号 npm -v 得到版本号
卸载node:brew uninstall node@版本号 --force例如:安装的是12.18.1,卸载命令:brew uninstall node@12 --force4.2、(方式二:离线包安装)brew在线安装是从官网下载,速度慢且成功率低,可以通过下载离线包安装解决。nodejs官网下载地址:https://nodejs.org/en/ 点击“Current”区域稳定版。安装包下载并安装后,同样在终端中输入node -v 、 npm -v 验证4.3、cnpm国内源安装NPM安装插件是从NPM官网下载对应的插件包,该网站的服务器在国外,经常会出现下载缓慢或出现异常,这时便需要找到另外的方法提供稳定的下载,这个方法就是CNPM。阿里巴巴的淘宝团队把NPM官网的插件都同步到了在中国的服务器,提供给我们从这个服务器上稳定下载资源。CNPM同样是NPM的一个插件,要安装的话需要在终端执行以下命令:sudo npm install -g cnpm --registry=https://registry.npm.taobao.org验证安装:cnpm -v
4.4、npm安装插件常见报错在终端通过npm安装插件时,前面加上“sudo”可以减少报错几率。(加上sudo后,命令以系统管理者的身份执行)如果通过npm安装插件时,出现“npm ERR!”提示,表示安装失败。前缀加上sudo也报错,可以尝试国内源cnpm安装,只需要将命令中的npm换成cnpm。如果终端安装过程中出现“npm WARN”提示,可以忽略。 5、libimobiledevice安装libimobiledevice是一个使用原生协议与苹果IOS设备进行通信的库,相当于Android的adb。appium连接iOS设备必需要此依赖库,通过这个库Mac os可轻松获得iOS设备信息。支持iOS10以上系统安装命令:brew install --HEAD libimobiledevice卸载:brew uninstall --ignore-dependencies libimobiledevice常用命令:1、idevice_id -l 显示当前所连接的设备[udid],包括 usb、WiFi 连接2、ideviceinfo 获取设备信息3、idevicedate 获取设备时间4、idevicename 获取设备名称5、idevicescreenshot 截图6、ideviceinstaller -u [udid] -i [xxx.ipa] #xxx.ipa:安装文件路径7、ideviceinstaller -u [udid] -U [bundleId] #bundleId:应用的包名检查安装:
报错参考:https://www.cnblogs.com/zhiaijingming/p/11005330.html
Appium是通过Node.js开发的http服务器,用来创建和控制WebDriver的session,因此需要安装Node.js。npm是Node.js的包管理工具,随同Node.js一起安装。
4.1、(方式一:brew在线安装)【我的nodejs版本是:16.6.0】
安装命令:brew install node 此方法安装的是最新版本
验证安装:node -v 得到版本号
npm -v 得到版本号

其它在线安装方法:(指定版本安装)
终端执行命令行找到自己合适的node版本 :brew search node

查询显示最高可以安装 node14 版本
安装命令:brew install node@版本号 (会将npm和nodejs一起安装)
绑定安装的node,命令:brew link --overwrite --force node@版本号
验证安装:node -v 得到版本号
npm -v 得到版本号

卸载node:
brew uninstall node@版本号 --force
例如:安装的是12.18.1,卸载命令:brew uninstall node@12 --force
4.2、(方式二:离线包安装)
brew在线安装是从官网下载,速度慢且成功率低,可以通过下载离线包安装解决。
nodejs官网下载地址:https://nodejs.org/en/ 点击“Current”区域稳定版。
安装包下载并安装后,同样在终端中输入node -v 、 npm -v 验证
4.3、cnpm国内源安装
NPM安装插件是从NPM官网下载对应的插件包,该网站的服务器在国外,经常会出现下载缓慢或出现异常,这时便需要找到另外的方法提供稳定的下载,这个方法就是CNPM。阿里巴巴的淘宝团队把NPM官网的插件都同步到了在中国的服务器,提供给我们从这个服务器上稳定下载资源。
CNPM同样是NPM的一个插件,要安装的话需要在终端执行以下命令:
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
验证安装:cnpm -v
4.4、npm安装插件常见报错
在终端通过npm安装插件时,前面加上“sudo”可以减少报错几率。(加上sudo后,命令以系统管理者的身份执行)
如果通过npm安装插件时,出现“npm ERR!”提示,表示安装失败。前缀加上sudo也报错,可以尝试国内源cnpm安装,只需要将命令中的npm换成cnpm。
如果终端安装过程中出现“npm WARN”提示,可以忽略。
5、libimobiledevice安装libimobiledevice是一个使用原生协议与苹果IOS设备进行通信的库,相当于Android的adb。appium连接iOS设备必需要此依赖库,通过这个库Mac os可轻松获得iOS设备信息。支持iOS10以上系统安装命令:brew install --HEAD libimobiledevice卸载:brew uninstall --ignore-dependencies libimobiledevice常用命令:1、idevice_id -l 显示当前所连接的设备[udid],包括 usb、WiFi 连接2、ideviceinfo 获取设备信息3、idevicedate 获取设备时间4、idevicename 获取设备名称5、idevicescreenshot 截图6、ideviceinstaller -u [udid] -i [xxx.ipa] #xxx.ipa:安装文件路径7、ideviceinstaller -u [udid] -U [bundleId] #bundleId:应用的包名检查安装:
报错参考:https://www.cnblogs.com/zhiaijingming/p/11005330.html

6、idevicesinstaller安装ideviceinstaller是一个管理连接设备的工具,与ios-deploy、Android的adb功能类似。ideviceinstaller的功能与libimobiledevice差不多,都可以获取iOS设备的udid、安装App、卸载App、获取bundleid等,但ideviceinstaller仅支持iOS9以下系统环境,libimobiledevice支持iOS10以上系统环境。安装命令:brew install ideviceinstaller常用命令:1.ideviceinstaller -l 打印app列表![]()

7、ios-deploy安装ios-deploy是一个使用命令行安装ios app到连接设备的工具原理是根据os x命令行调用系统底层函数,获取连接的设备、查询/安装/卸载appiOS10以上系统使用appium,需要依赖ios-deploy安装:sudo npm install -g ios-deploy 或 sudo cnpm install -g ios-deploy安装指定版本的ios-deploy参考:https://www.jianshu.com/p/a100914ec784ios-deploy常用命令:1.ios-deploy -c 查看连接的设备(包括通过usb和wifi连接的)2.ios-deploy -c --no-wifi 查看通过usb连接的设备3.ios-deploy --id [udid] --bundle [xxx.app] 安装应用到指定设备(其中xxx.app是Xcode编译后的ipa的路径)4.ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] 卸载指定设备上的应用(根据包名,也就是bundleId)5.ios-deploy --id [udid] --list_bundle_id 查看指定设备上安装的所有应用(包括系统应用和第三方)例如: ios-deploy --id 770dfe115807e7d494b4721b1e4ebd6ecb9424d3 --list_bundle_id6.ios-deploy --id [udid] --exists --bundle_id [bundleId] 检查指定设备上是否安装了某个应用例如: ios-deploy --id 0420781d4e43f1f99935513c91e9b816f4dddc24 --exists --bundle_id com.facebook.taozhen
注意:Xcode是通过离线包安装的,安装ios-deploy时会报错:
这个是由于Xcode没有设置版本的原因导致的,设置方法:进入Xcode偏好设置-->点击locations-->Comand Line Tools栏选择版本号,然后重新执行安装命令。如下图:
检查安装:
安装错误解决参考:https://blog.csdn.net/weixin_44643020/article/details/88226097

ios-deploy是一个使用命令行安装ios app到连接设备的工具
原理是根据os x命令行调用系统底层函数,获取连接的设备、查询/安装/卸载app
iOS10以上系统使用appium,需要依赖ios-deploy
安装:sudo npm install -g ios-deploy 或 sudo cnpm install -g ios-deploy
安装指定版本的ios-deploy参考:https://www.jianshu.com/p/a100914ec784
ios-deploy常用命令:
1.ios-deploy -c 查看连接的设备(包括通过usb和wifi连接的)
2.ios-deploy -c --no-wifi 查看通过usb连接的设备
3.ios-deploy --id [udid] --bundle [xxx.app] 安装应用到指定设备(其中xxx.app是Xcode编译后的ipa的路径)
4.ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] 卸载指定设备上的应用(根据包名,也就是bundleId)
5.ios-deploy --id [udid] --list_bundle_id 查看指定设备上安装的所有应用(包括系统应用和第三方)
例如: ios-deploy --id 770dfe115807e7d494b4721b1e4ebd6ecb9424d3 --list_bundle_id
6.ios-deploy --id [udid] --exists --bundle_id [bundleId] 检查指定设备上是否安装了某个应用
例如: ios-deploy --id 0420781d4e43f1f99935513c91e9b816f4dddc24 --exists --bundle_id com.facebook.taozhen
注意:Xcode是通过离线包安装的,安装ios-deploy时会报错:

这个是由于Xcode没有设置版本的原因导致的,设置方法:进入Xcode偏好设置-->点击locations-->Comand Line Tools栏选择版本号,
然后重新执行安装命令。如下图:

检查安装:

安装错误解决参考:https://blog.csdn.net/weixin_44643020/article/details/88226097
8、Carthage安装Carthage是一款iOS项目依赖管理工具,与cocoapods功能相似,可以帮助管理第三方依赖,类似于Java的maven。它会把第三方依赖编译成framework,以framework形式将第三方依赖加入到项目中进行使用和管理。自动化测试用到的WebDriverAgent通过Carthage管理项目依赖。安装命令:brew install carthage检查命令:carthage version![]()

未完待续…… ![]()
IOS自动化测试环境搭建(Python & Java)的更多相关文章- Appium自动化—浅谈iOS自动化测试环境搭建
在日常的测试工作中,我们会发现有些测试工作重复率极高,测试人员需要花费大量的时间进行这些重复性的测试,浪费了大量的人力与时间.若能够将常用的测试场景进行自动化,那必定能节省许多的人力与时间.作为一个初 ...
- 自动化测试环境搭建--Python及selenium
安装pyhton 访问Python官网:http://www.python.org 下载页Windows下找到适合64位系统的版本 下载后双击安装 安装后查看计算机->属性->高级系统设置 ...
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
- mac上搭建appium+IOS自动化测试环境(一)
阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...
- mac上搭建appium+IOS自动化测试环境(二)
上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- 《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基 ...
- 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理
一.前言 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...
- Appium 简介与自动化测试环境搭建
1. Appium 简介 2. Appium 自动化测试环境搭建 1. Appium 简介 Appium 是一个开源测试自动化框架,可用于原生,混合和移动 Web 应用程序测试. 它使用 WebDri ...
随机推荐- SQL Server 2012大数据导入Oracle的解决方案
在实际工作中需要把SQL Server中的表导入Oracle.之前尝试过直接用SQL Server的DTS进行都没问题.但这次因为数据量在千万级所以报虚拟内存不足.最后通过SQL Server导出tx ...
- CS异步下载
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- redis2--redis安装
(1)安装Redis Redis目前只支持Linux系统,因为开发此软件的创始者认为,Redis是为后台数据服务的,所以认为该软件使用在纯净的服务环境下,而不是应用型操作系统下,而Linux作为服务器 ...
- 单元测试er——为什么真的真的要写单元测试
优点 为什么很多技术或者知识要说优点?因为有些道理看着很简单,大家表面上都觉得对,但是做的时候又不去做或者做不到.其中有一个很重要原因是骨子里或者潜意识并没有真实觉得这是对的,一旦想去做的时候同时会冒 ...
- 使用OAuth2的SSO分析
参考:https://github.com/spring-guides/tut-spring-security-and-angular-js/blob/master/oauth2-vanilla/RE ...
- 【HTML5】HTML5中video元素事件详解(实时监测当前播放时间)
html 代码..video后边几个元素,可处理ios 系统的兼容性 <video id="myVideo" controls="controls" po ...
- SQL的datetime类型数据转换为字符串格式大全
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE( ...
- UVA-863 Not so Mobile (简单二叉树)
题目大意:给一个树状天平,判断是否平衡.树状天平是按递归给出的. 题目分析:平衡的条件是子天平都平衡,并且w1*d1==w2*d2,其中w1和w2为子天平的总重量,d1和d2为力矩. 代码如下: # ...
- HDU1300 Pearls(可斜率优化)
+)*= +)*= .总共需要的花费是150+=++)*= .在两组数据看来.珍珠都买了高品质的了,而且花费也少了!问题是怎么样能花费最少买珍珠! Add:合并肯定是相邻的合并.比如啊a<b&l ...
- system表空间爆满解决方法
分类: Oracle 问题描述: 对数据库做检查,发现system表空间持续占满99%.使用如下语句查看: SQL> select b.tablespace_name "表空间&q ...
在日常的测试工作中,我们会发现有些测试工作重复率极高,测试人员需要花费大量的时间进行这些重复性的测试,浪费了大量的人力与时间.若能够将常用的测试场景进行自动化,那必定能节省许多的人力与时间.作为一个初 ...
安装pyhton 访问Python官网:http://www.python.org 下载页Windows下找到适合64位系统的版本 下载后双击安装 安装后查看计算机->属性->高级系统设置 ...
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...
上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基 ...
一.前言 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...
1. Appium 简介 2. Appium 自动化测试环境搭建 1. Appium 简介 Appium 是一个开源测试自动化框架,可用于原生,混合和移动 Web 应用程序测试. 它使用 WebDri ...
- SQL Server 2012大数据导入Oracle的解决方案
在实际工作中需要把SQL Server中的表导入Oracle.之前尝试过直接用SQL Server的DTS进行都没问题.但这次因为数据量在千万级所以报虚拟内存不足.最后通过SQL Server导出tx ...
- CS异步下载
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- redis2--redis安装
(1)安装Redis Redis目前只支持Linux系统,因为开发此软件的创始者认为,Redis是为后台数据服务的,所以认为该软件使用在纯净的服务环境下,而不是应用型操作系统下,而Linux作为服务器 ...
- 单元测试er——为什么真的真的要写单元测试
优点 为什么很多技术或者知识要说优点?因为有些道理看着很简单,大家表面上都觉得对,但是做的时候又不去做或者做不到.其中有一个很重要原因是骨子里或者潜意识并没有真实觉得这是对的,一旦想去做的时候同时会冒 ...
- 使用OAuth2的SSO分析
参考:https://github.com/spring-guides/tut-spring-security-and-angular-js/blob/master/oauth2-vanilla/RE ...
- 【HTML5】HTML5中video元素事件详解(实时监测当前播放时间)
html 代码..video后边几个元素,可处理ios 系统的兼容性 <video id="myVideo" controls="controls" po ...
- SQL的datetime类型数据转换为字符串格式大全
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE( ...
- UVA-863 Not so Mobile (简单二叉树)
题目大意:给一个树状天平,判断是否平衡.树状天平是按递归给出的. 题目分析:平衡的条件是子天平都平衡,并且w1*d1==w2*d2,其中w1和w2为子天平的总重量,d1和d2为力矩. 代码如下: # ...
- HDU1300 Pearls(可斜率优化)
+)*= +)*= .总共需要的花费是150+=++)*= .在两组数据看来.珍珠都买了高品质的了,而且花费也少了!问题是怎么样能花费最少买珍珠! Add:合并肯定是相邻的合并.比如啊a<b&l ...
- system表空间爆满解决方法
分类: Oracle 问题描述: 对数据库做检查,发现system表空间持续占满99%.使用如下语句查看: SQL> select b.tablespace_name "表空间&q ...







