阅读须知

由于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. discuz数据库相关表

    discuz 数据表对照cdb_access               用户权限表      cdb_adminactions         管理动作表cdb_admingroups        ...

  2. Servlet--取得session,application内置对象

    在前面的博客里面,使用Servlet取得了request,response,config对象,实际上通过Servlet程序也可以取得session,application等内置对象. 1,通过Http ...

  3. org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor

    这几天来公司,公司的SVN坏掉了,然后项目还比较大,是一个分布式的,然后同事就把项目发我了.我在myeclipse里面导入项目了,把相应的jar包也建了个人的library导入了项目,现在项目不报错了 ...

  4. Java与C/C++的区别

        首先应该清楚,Java是由C++发展而来的,它保留了c++的大部分内容,类似于c++,但句法更清晰,规模更小,更易学.它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之 ...

  5. 安卓和IOS兼容问题

    点击穿透 click延迟 scroll元素临界的bug android screen.w/h 不准 rem不准 scroll时动画失效 animate回调 最小字号限制 不同机型全屏自适应 andro ...

  6. TCP连接之未连接队列的理解[转]

    tcp服务器在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认 ...

  7. zookeeper 实现分布式锁

    主要是依赖临时节点的特性.数据存储到内存中效率高:例如有web1 web2 两台应用服务器 db1 db2两台db服务器  db互为主备,web1 web2 分别去修改db1 .有限db2库里张三的年 ...

  8. PowerMockito使用详解

    一.PowerMock概述 现如今比较流行的Mock工具如jMock,EasyMock,Mockito等都有一个共同的缺点:不能mock静态.final.私有方法等.而PowerMock能够完美的弥补 ...

  9. [eslint-plugin-vue] [vue/no-unused-vars] 'scope' is defined but never used.

    前言 今天在做项目的时候Visual Studio Code报了一个错 这个错的意思是声明了scope却没有使用它,这是vue的eslink插件检测的. 我想这个scope的属性不是自己的吗,咋是我声 ...

  10. git stash暂存文件

    git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码,但又不想提交代码.先git stash暂存,pull之后,用git stash pop或者git stash apply取 ...