阅读须知

由于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

node下载地址

下载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自动化测试环境(一)的更多相关文章

  1. mac上搭建appium+IOS自动化测试环境(二)

    上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...

  2. 1、在MAC上搭建React Native开发环境

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  3. 在Mac上搭建React Native开发环境

    概述 前面我们介绍过在window环境下开发React Native项目,今天说说怎么在mac上搭建一个RN的开发环境. 配置mac开发环境 基本环境安装 1.先安装Homebrew:用于安装Node ...

  4. [转] 在Mac上搭建React Native开发环境

    原文链接: http://blog.csdn.net/xiangzhihong8/article/details/53914336 概述 前面我们介绍过在window环境下开发React Native ...

  5. MAC下搭建appium UI自动化环境

    参考资料: http://qa.blog.163.com/blog/static/190147002201510161119832/ http://blog.csdn.net/liuchunming0 ...

  6. mac上搭建appium环境过程以及遇到的问题

    Mac环境安装appium 一.Java环境 下载java sdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...

  7. 在MAC上搭建python数据分析开发环境

    最近工作转型到数据开发领域,想在本地搭建一个数据开发环境.自己有三年python开发经验,马上想到使用numpy.scipy.sklearn.pandas搭建一套数据开发环境. ubuntu的环境,百 ...

  8. 在Mac OSX上配置Appium+Android自动化测试环境

    前提准备 开始正文之前,你需要准备好一些基本条件: 1.安装好Mac OSX 操作系统的设备 2.能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 3.已经安装好 homebrew 4.已经安装 ...

  9. 在Mac OSX 上配置Appium+Android自动化测试环境

    前提准备 开始正文之前,你需要准备好一些基本条件: 安装好Mac OSX 操作系统的设备 能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 已经安装好 homebrew 已经安装好 Python ...

随机推荐

  1. JAVA中JPA的主键自增长注解设置

    JPA的注解来定义实体的时候,使用@Id来注解主键属性即可.如果数据库主键是自增长的,需要在增加一个注解@GeneratedValue,即: @GeneratedValue(strategy=Gene ...

  2. mysql数据库安装注意事项:

    mysql数据库安装注意事项: https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html(安装教程) 注意语言设置为gbk可以解决 ...

  3. 【转】Matlab作图语句小结

    之前用Matlab作图,从网上找了些别人的例子,然后慢慢调参数.其实对很多命令,特别是对句柄不是很了解,今天简单总结了一下.下面用几个例子来说明:     ]);  首先,gcf是当前figure对象 ...

  4. redis动态配置

    Config get CONFIG GET parameter CONFIG GET 命令用于取得运行中的 Redis 服务器的配置参数(configuration parameters),在 Red ...

  5. 面试中的DNS

    DNS 当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称.客户机发送的每条查询信息包括三条信息:指定的DNS域名,指定的查询类型,DNS域名的指定类别. DNS基于UDP服务,端 ...

  6. nongsanli

    之后的内容只能追加,不可以修改,删除. 1.    mysql可以对字段进行MD5加密, 加密插入:INSERT INTO t_user(id,username,PASSWORD) VALUES('5 ...

  7. python的logging模块

    python提供了一个日志处理的模块,那就是logging 导入logging模块使用以下命令: import logging logging模块的用法: 1.简单的将日志打印到屏幕上 import ...

  8. Java数据库设计14个技巧

    Java数据库设计14个技巧   1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对 ...

  9. 生成模型(generative model)与判别模型(discriminative model)的区别

    监督学习可以分为生成方法与判别方法,所学到的模型可以分为生成模型与判别模型. 生成模型 生成模型由数据学习联合概率分布\(P(X,Y)\),然后求出条件概率分布\(P(Y|X)\)作为预测的模型,即生 ...

  10. Quartz 任务调度(转)

    原文链接:http://lavasoft.blog.51cto.com/62575/93938 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Qu ...