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 ...
随机推荐
- JAVA中JPA的主键自增长注解设置
JPA的注解来定义实体的时候,使用@Id来注解主键属性即可.如果数据库主键是自增长的,需要在增加一个注解@GeneratedValue,即: @GeneratedValue(strategy=Gene ...
- mysql数据库安装注意事项:
mysql数据库安装注意事项: https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html(安装教程) 注意语言设置为gbk可以解决 ...
- 【转】Matlab作图语句小结
之前用Matlab作图,从网上找了些别人的例子,然后慢慢调参数.其实对很多命令,特别是对句柄不是很了解,今天简单总结了一下.下面用几个例子来说明: ]); 首先,gcf是当前figure对象 ...
- redis动态配置
Config get CONFIG GET parameter CONFIG GET 命令用于取得运行中的 Redis 服务器的配置参数(configuration parameters),在 Red ...
- 面试中的DNS
DNS 当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称.客户机发送的每条查询信息包括三条信息:指定的DNS域名,指定的查询类型,DNS域名的指定类别. DNS基于UDP服务,端 ...
- nongsanli
之后的内容只能追加,不可以修改,删除. 1. mysql可以对字段进行MD5加密, 加密插入:INSERT INTO t_user(id,username,PASSWORD) VALUES('5 ...
- python的logging模块
python提供了一个日志处理的模块,那就是logging 导入logging模块使用以下命令: import logging logging模块的用法: 1.简单的将日志打印到屏幕上 import ...
- Java数据库设计14个技巧
Java数据库设计14个技巧 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对 ...
- 生成模型(generative model)与判别模型(discriminative model)的区别
监督学习可以分为生成方法与判别方法,所学到的模型可以分为生成模型与判别模型. 生成模型 生成模型由数据学习联合概率分布\(P(X,Y)\),然后求出条件概率分布\(P(Y|X)\)作为预测的模型,即生 ...
- Quartz 任务调度(转)
原文链接:http://lavasoft.blog.51cto.com/62575/93938 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Qu ...