mac上搭建appium+IOS自动化测试环境(一)
阅读须知
由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释。可能也有一些地方说的不严谨或有错的,还望大家指点一二。
实验环境
操作系统: OS X 10.12.4
appium版本: 1.6.3
ios版本: 10.0.2
Xcode版本: 8.3.3
几个要点:
- 1.最好拥有开发者帐号(貌似也可以不需要,但是为了本例成功最好需要有,找公司的ios开发要就行)
- 2.一台mac系统电脑(不建议黑苹果,因为可能会影响开发者帐号的使用)
- 3.一台ios设备
- 4.免费VPN,App Store可以搜索到,推荐一款吧,叫做FreeVpn Plus
- 5.Xcode,可从App Store安装
- 6.最好是比较稳定的无线/有线网络
环境搭建
本次环境搭建全部参考testerhome这篇文章,感谢大兄弟的无私奉献!!
环境搭建
声明: 以下环境都必须完全安装
- 1.安装brew
brew据我个人理解是ruby的一个包管理的工具,类似于Python的pip和node.js的npm
在终端输入如下命令并回车:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果遇到xcode相关的报错,记得打开一下xcode,再执行这行命令,因为我是刚下载的xcode。
- 2.安装libimobiledevice
这个库官方的说明文档也有指示需要安装,具体我也没看到怎么用。
同样在终端输入命令并回车:
brew install libimobiledevice --HEAD
- 3.安装carthage
同上,也不知道是干啥的。
brew install carthage
- 4.安装node.js
下载mac下的pkg文件一键安装就行。
- 5.安装cnpm
cnpm可以讲讲,这工具是马云爸爸为了国内局域网用户做的一款替代npm的工具(关键字:墙),安装好了以后可以用cnpm代替npm
安装好node后,在终端输入命令
npm install -g cnpm --registry=https://registry.npm.taobao.org
- 6.安装ios-deploy
ios-deploy可以用来安装卸载ios应用
cnpm有个问题,就是安装的node_module会全部放在当前路径下。
所以我们使用cnpm的时候,需要切换到/usr/local/lib(node模块默认安装路径)
在终端输入:
```
cd /usr/local/lib
cnpm install -g ios-deploy
```
- 7.安装xcpretty
gem install xcpretty
安装xcpretty,经常安装失败,没反应,但是大家耐心等待吧,如果时间较长的话,建议大家切换个目录重新安装。
- 8.安装appium
其实可以下desktop的版本,但是我也试过,会有一些问题呢。个人建议使用命令行操作appium。
输入命令:
cnpm install -g @appium1.6.3
==注意== :下载途中很有可能遇到卡住的情况,是因为墙的缘故,所以我们可以连上vpn进行安装,我印象中1.6.3版本比较难以安装,但是稳定性算比较高,笔者安装过1.6.5和1.6.6版本。所以大家一定要耐心安装,记得随时切换vpn。
2个关键点: 一个是安装appium-automator2相关的apk,一个是selendorid相关jar的时候会比较卡,这时候可以疯狂切换vpn
注意事项: 以上内容都不要在root用户下安装,默认不是root用户。终端命令的每一行的最左侧会显示用户,不是root就行。若出现权限问题,进入root用户将文件权限更改下。然后退出root用户继续安装即可
chmod -R 777 pathForFile 使用此命令修改文件夹的权限。
下一篇: mac上搭建appium+IOS自动化测试环境(二)
mac上搭建appium+IOS自动化测试环境(一)的更多相关文章
- mac上搭建appium+IOS自动化测试环境(二)
上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...
- 1、在MAC上搭建React Native开发环境
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 在Mac上搭建React Native开发环境
概述 前面我们介绍过在window环境下开发React Native项目,今天说说怎么在mac上搭建一个RN的开发环境. 配置mac开发环境 基本环境安装 1.先安装Homebrew:用于安装Node ...
- [转] 在Mac上搭建React Native开发环境
原文链接: http://blog.csdn.net/xiangzhihong8/article/details/53914336 概述 前面我们介绍过在window环境下开发React Native ...
- MAC下搭建appium UI自动化环境
参考资料: http://qa.blog.163.com/blog/static/190147002201510161119832/ http://blog.csdn.net/liuchunming0 ...
- mac上搭建appium环境过程以及遇到的问题
Mac环境安装appium 一.Java环境 下载java sdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...
- 在MAC上搭建python数据分析开发环境
最近工作转型到数据开发领域,想在本地搭建一个数据开发环境.自己有三年python开发经验,马上想到使用numpy.scipy.sklearn.pandas搭建一套数据开发环境. ubuntu的环境,百 ...
- 在Mac OSX上配置Appium+Android自动化测试环境
前提准备 开始正文之前,你需要准备好一些基本条件: 1.安装好Mac OSX 操作系统的设备 2.能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 3.已经安装好 homebrew 4.已经安装 ...
- 在Mac OSX 上配置Appium+Android自动化测试环境
前提准备 开始正文之前,你需要准备好一些基本条件: 安装好Mac OSX 操作系统的设备 能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 已经安装好 homebrew 已经安装好 Python ...
随机推荐
- junit4X系列--Runner解析
前面我整理了junit38系列的源码,那junit4X核心代码也基本类似.这里我先转载一些关于junit4X源码解析的好文章.感谢原作者的分享.原文地址:http://www.blogjava.net ...
- 一、Html简介
html什么东西呢? hypertext markup language(超文本标记语言).超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准, 它通过标记符号来标记要显示的网页中 ...
- selenium+python自动化测试系列(二):AutoIt工具实现本地文件上传
AutoIt使用简单说明 AutoIt的安装这里就不在啰嗦,可以参考AutoIt安装或者自行搜索解决. 第一步:定位上传文件路径的文本框 这里举例说明,如何定位?如图 这里我们看到上传文件的类型是bu ...
- TCP/IP详解 卷1 第二十章 TCP的成块数据流
先补充一个知识: 1.停止等待协议:是tcp保证传输可靠的重要途径,"停止等待"就是指发送完一个分组就停止发送,等待对方确认之后,才能继续发送下一个分组 停止等待协议的优点是简单, ...
- (纯代码)快速创建wcf rest 服务
因为有一个小工具需要和其它的业务对接数据,所以就试一下看能不能弄一个无需配置快速对接的方法出来,百(以)度(讹)过(传)后(讹),最后还是对照wcf配置对象调试出来了: 1.创建WebHttpBind ...
- JAVA中科学计数法转换普通计数法
今天发现数据库里汇总的数据有点大,一输出就被自动转化成科学计数法了.后来发现是转换字符串的方法有问题.如下: String a = "11234567.89"; BigDecima ...
- css3 box-shadow让我们实现图层阴影效果
box-shadow box-shadow: h-shadow v-shadow blur spread color inset;box-shadow:2px 2px 3px rgba(50,50,5 ...
- CString(转)
CString::Compare int Compare( LPCTSTR lpsz ) const; 返回值 字符串一样 返回0 小于lpsz 返回-1 大于lpsz 返回1 区分大小字符 ...
- H3c交换机配置端口镜像详情
端口镜像 需要将G0/0/1口的全部流量镜像到G0/0/2口,即G0/0/1为源端口,G0/0/2为目的端口. 配置步骤 1.进入配置模式:system-view: 2.创建本地镜像组:mirrori ...
- scanf后面跟一个getchar
scanf(“%d",&a): if(getchar() != '\n') printf();else printf(); 这种情况下,我有点迷惑,就做了个实验,结论是: 1.当输完 ...