一、Appium环境搭建
1、xcode(需要OS X版本支持):
下载对应版本的xcode(支持对应手机系统),解压,拖入应用程序。
2、安装appium:
安装node、brew、nmp、carthage等:http://www.jianshu.com/p/efa9ac4900a6
1)如果有旧版本的appium,需要先卸载旧版本的appium:npm uninstall -g appium
2)下载appium1.6.5正式版:https://github.com/appium/appium/releases/tag/v1.6.5,终端进入文件目录,命令行安装:npm install。
      验证安装成功:终端输入“appium -v”,出现版本号表示安装成功。
  此处有坑:appium-desktop 1.6.4及以下不支持xcode9.0.1,(请注意自己的xcode版本和appium版本,要不然会报错)
3)与系统进行关联:npm link
4)安装appium桌面程序:https://github.com/appium/appium-desktop/releases/tag/v1.2.0,下载zip包,解压,拖入应用程序。
5)Appium自带的WebDriverAgent存在bug,改使用FaceBook的WebDriverAgent(WebDriverAgent下载:https://github.com/facebook/WebDriverAgent/):
从git上下载WebDriverAgent,进入/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 目录,命令行运行:./Scripts/bootstrap.sh,下载依赖,然后将该文件替换appium应用中的WebDriverAgent(目录:/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent )
使用xcode打开WebDriverAgent程序,在真机上安装WebDriverAgent程序,手机上出现WebDriverAgent应用表示安装成功。(在通用-> 描述文件文件中信任xcode使用的开发者证书)
3、检测appium环境:
终端输入:appium-doctor
4、启动appium桌面程序:
启动Appium。在运行自动化测试脚本前一定要先运行Appium,启动测试应用。
1)通过下面的两种方式启动appium服务器。(appium启动会先启动webdriveragent,启动之后不要将webdriverAgent关闭,否则再次启动appium会报错)
方式1、通过命令行安装的appium可以通过终端启动,终端输入:appium,看到终端打印出下面日志,表示服务器启动成功。
 
方式2、已经安装了appium桌面程序可以通过启动桌面程序来启动appium服务器。打开程序看到如下页面:
 
 
直接点击Start Server即可启动appium服务器,跟终端命令行启动打印出的日志一样,如下所示:
 
 
上图三个红色框分别表示:①查看应用元素(inspector)②保存日志文件③停止appium服务器。
启动了appium服务器之后。可以直接运行自动化。
)配置一些Desired Capabilities信息:
 
 
默认会以127.0.0.1ip和4723端口启动一个session,如果要启动多个session,可以通过修改端口号的方式:点击Custom Server,服务器ip输入127.0.0.1,端口输入一个目前未在使用的端口号就可以了。
一般需要填写的参数有platformName(平台)、platformVersion(平台版本)、udid(设备的udid,填错不能启动应用)、deviceName(设备名称)、bundleid(应用的bundleid)、automationName(必须填写XCUITest,不写默认是UIAutomation的方式,该方式不支持IOS10)。
要连接iOS真机,必须打开真机的开发者模式。
然后选中要启动的已经配置好的信息,点击Start Session。看到下面的画面表示启动成功,可以查看元素的accessibility_id、xpath、value等和坐标。支持录制脚本。
 
二、安装及运行过程中遇到的坑
坑1、
A new session could not be created. Details: Appium's IosDriver does not support xcode version 8.3.3.
Apple has deprecated UIAutomation. Use the "XCUITest" automationName capability instead.
解决方案:
在--capability添加automationName=XCUITest参数
 
坑2、
AssertionError: Message: An unknown server-side error occurred while processing the command.
Original error: Unknown device or simulator UDID: '***'
解决方案:
Appium使用idevice_id(libimobiledevice的一部分)来确定设备的可用性
brew install libimobiledevice --HEAD
 
坑3、
AssertionError: Message: An unknown server-side error occurred while processing the command. Original error: 
Could not initialize ios-deploy make sure it is installed (npm install -g ios-deploy) and works on your system
解决方案:
安装ios-deploy
npm install -g ios-deploy
 
坑5:
appium-desktop 1.6.4及以下不支持xcode9.0.1,需要升级appium
 
坑6:
webdriverAgent安装失败
解决方案:
重新编译webdriverAgent,参考地址
 
cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=3825bba08e5c10c499ddaf0276bac01983ab7119' test
 
 
 

mac下Appium环境配置的更多相关文章

  1. RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

    消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...

  2. MAC下 JDK环境配置、版本切换以及ADB环境配置

    网上方法,自己总结:亲测可行! 一.JDK环境配置.版本切换: 通过命令’jdk6′, ‘jdk7′,’jdk8’轻松切换到对应的Java版本: 1.首先安装所有的JDk:* Mac自带了的JDK6, ...

  3. Mac下Nginx环境配置

    环境信息: Mac OS X 10.11.1 Homebrew  0.9.5 正文 一.安装 Nginx 终端执行: brew search nginx brew install nginx 当前版本 ...

  4. Mac 下 Gradle 环境配置

    1. gradle路径的查找 然后gradle 右键 显示简介 复制下蓝色的 2. 环境变量的配置 在.bash_profile文件中,添加如下图选中内容的配置信息: 执行source .bash_p ...

  5. Mac下安装及配置Appium环境

    candiceli   Mac下安装及配置Appium环境 我是小白,自己研究appium好几周了. 一开始按照同事这篇文章设置Mac下的环境,http://www.cnblogs.com/tangd ...

  6. (干货分享)mac python+appium环境搭建

    因为mac本自带python2.x(不建议卸载,因为本本本身有很多依赖与此),所以装python3的过程极其坎坷,勉强装好后也总是各种报错.这次装appium环境,直接把原来的python3卸了,用h ...

  7. Mac下的Maven配置

    1.确保电脑已经安装java,并配置JAVA_HOME环境变量 2.从官网下载Maven压缩包并解压,zip或者其他格式的都行 3.进入终端,编辑环境变量配置文件 vi .bash_profile 可 ...

  8. (转) mac 下的eclipse 配置 python 2.7

    原地址: http://marsfreewill.blogspot.it/2012/08/mac-ospythonpydeveclipse.html   在MAC OS上配置Python开发环境(Py ...

  9. Mac上Node环境配置

    公司配备Mac笔记本,以前没用过mac开发项目,一开始依然是从node官网下载安装包,后来领导说最好是用brew安装软件,这样比较方便,安装和卸载,只要在命令行输入相应的 install 和 unin ...

随机推荐

  1. 【转】VC++计算当前时间点间隔N天的时间(不使用CTimeSpan类)

    转自:http://blog.csdn.net/fzuim/article/details/61199351 涉及到有效期的设置,需要计算N天时间间隔的时间.  C++ Code  123456789 ...

  2. iOS开发之--制作属于自己的frameWork

    开发的时候,有时候,我们会遇到协同开发,在协同开发的时候,每个开发者都会创建自己的工具类,还有就是当一个项目需要嵌套到另一个项目里面,这些时候,如果能把所需的部分打包成framework,会方便很多, ...

  3. 最近5年133个Java面试问题列表

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...

  4. 导出Excel功能的3种实现

    项目中总会用到Excel的导出功能,接触过好几个项目,发现有个项目的导出实现特别值得学习.这里学习顺带总结一下. 一.三种方法 我遇到的导出目前有3种处理: 每个功能一个导出方法: 写一个通用的Exp ...

  5. 第二课作业——redis常用命令

    第二课时作业 静哥 by 2016.2.23~2016.2.22   [作业描述] 1.key string list hash结构中,每个至少完成5个命令,包含插入 修改 删除 查询,list 和h ...

  6. Centos7 下安装mysql数据库

    centos7系统,安装mysql发现已经默认的是mariadb. 只能安装mariadb,mariadb是mysql一个分支,对mysql完全支持 1 安装 yum -y install maria ...

  7. 接口测试工具 — jmeter(关联)

    1.正则表达式 1)添加正则表达式提取器 2)提取关联词 3)填写正则表达式 4)使用关联,其他请求使用${sign2}代替变量值 2. 1)添加提取器 2)填写变量值 3)使用关联,其他请求使用${ ...

  8. STL中使用reverse_iterator时,如何正确使用erase函数

    假设有一个list容器,顺序存储了0-9一个10个整数.现在要使用reverse_iterator迭代器来查找值为8和5的元素,并且将这两个数删除.先来看以下的解决方法: #include <i ...

  9. Java Synchronized 与 ThreadLocal 异同

    同:都是为了线程安全 异:synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问.而ThreadLocal为每一个线程都提供了变量的副本, 使得每个线程在某一时间访问到的并 ...

  10. MYSQL SET ENUM字段类型

    show create table stu;//显示建表语句 create table t1(t enum('a','b','c')); insert into t1 values('a'); cre ...