一、安装环境介绍
macOS 10.12.4

Xcode 8.3.2

适用机型:iOS9 及以上机型

二、Appium源码安装
Xcode升级8.2之后不再支持UIAutomation,转而使用XCUITest;故当Xcode版本为8.2及以上版本时,只能安装Appium 1.5.3之后版本。Appium 1.5.3是基于UIAutomation底层驱动,即使安装成功也无法正常使用。

在实际安装过程中出现过Appium 1.6.3版本安装一直失败的情况,故以下以1.6.5版本为例,建议优先选择正式版本安装。

此处使用源码安装。

1、安装brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2、安装libimobiledevice
brew install libimobiledevice --HEAD

3、安装carthage
brew install carthage

4、安装node.js
进入 https://nodejs.org/en/download/ 下载.pkg并安装

5、安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org

6、安装ios-deploy
cnpm install -g ios-deploy

7、安装xcpretty
gem install xcpretty

8、卸载原有Appium
$ npm uninstall appium -g
$ npm cache clean

9、安装Appium
$ npm i -g appium@1.6.5

10、查看安装情况
$ appium -v(出现版本号即安装成功)

11、安装appium-doctor
$ npm i -g appium-doctor

12、检查Appium环境
$ appium-doctor

当全为√时,Appium安装后后环境一切正常,若出现问题请参考下面的问题汇总

13、安装RoutingHttpServer库
背景:安装Appium后会有一个WebDriverAgent的iOS App工程,但未安装RoutingHttpServer库时无法编绎通过

$ cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
$ mkdir -p Resources/WebDriverAgent.bundle
$ sh ./Scripts/bootstrap.sh -d

14、WebDriverAgent工程配置
(a)Xcode打开 WebDriverAgent.xcodeproj 工程
目录:/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent)

(b)修改iOS Deployment Target 为iOS 9.0
若不修改仅支持9.3以上版本

需修改project、所有targets中相应参数

(c)修改BundlID(必须修改,不能使用默认值)

修改5个targets中的 Product Bundle Identifier 参数

个人账户(不付费账户):可以按自己的需求修改

企业账户(付费账户):若使用公司的账户,需修改为特定的值(请联系我)

(d)编绎工程

编绎WebDriverAgentLib、WebDriverAgentRunner、WebDriverAgentRunner-nodebug、IntegrationApp;全部编绎通过,即工程配置完成;

(e)启动Appium 服务
$ appium -a 127.0.0.1 -p 4723

(f)校验Appium服务是否可用
$ xcodebuild -project /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination id=设备UDID test

出现如下内容,表示服务可以正常使用:

Test Case '-[UITestingUITests testRunner]' started.
t = 0.00s Start Test at 2017-05-09 21:49:32.939
t = 0.01s Set Up
2017-05-09 21:49:32.968 XCTRunner[663:156885] Built at May 9 2017 21:49:21
2017-05-09 21:49:33.006 XCTRunner[663:156885] ServerURLHere->http://10.1.17.177:8100<-ServerURLHere
  

三、问题汇总
1、appium-doctor:Xcode Command Line Tools 未安装
xcode-select --install

2、appium-doctor:adb、android未找到
(a)建议安装android ADT(http://tools.android-studio.org/index.php/adt-bundle-plugin)下载后直接解压就可以使用
(b)配置环境变量
  1. 打开 .bash_profile文件

    $ cd ~
    $ open -e .bash_profile

  2. 添加如下内容:

    其中/Users/XXX/Documents/1--XXX/Automation/adt-bundle-mac-x86_64-20131030为ADT解压后的目录

    export PATH=${PATH}:/Users/XXX/Documents/1--XXX/Automation/adt-bundle-mac-x86_64-20131030/sdk/platform-tools
    export PATH=${PATH}:/Users/XXX/Documents/1--XXX/Automation/adt-bundle-mac-x86_64-20131030/sdk/tools
    export ANDROID_HOME="/Users/XXX/Documents/1--XXX/Automation/adt-bundle-mac-x86_64-20131030/sdk"
    export PATH=${PATH}:/Users/XXX/Documents/1--XXX/Automation/adt-bundle-mac-x86_64-20131030/sdk/tools:/Users/XXX/Documents/1--XXX/Automation/adt-bundle-mac-x86_64-20131030/sdk/platform-tools:/$JAVA_HOME/bin

  3. 保存并关闭 .bash_profile文件

  4. 更新配置的环境变量

    source .bash_profile

(c)appium-doctor:JavaHome 环境
  1. mac 一般内置安装了JAVA,可以先尝试配置环境变量

  2. 在.bash_profile文件中添加如下内容

    export JAVA_HOME=/usr

  3. 若仍有问题,尝试重新安装

(d)code: 65, signal: null;code: null, signal: SIGKILL
  一般在【二、步骤16】 检验时报错误:

  >> xctest-client.js:202:14 [master] pid:17430 xctest client exit with code: 65, signal: null
  >> xctest-client.js:230:14 [master] pid:17430 iproxy exit with code: null, signal: SIGKILL
  >> xctest-client.js:157:16 [master] pid:17430 deviceconsole exit with code: null, signal: SIGKIL

  出现此问题的原因基本都是WebDriverAgent工程配置时配置不正确,基本为证书问题,按照【二、步骤14】重新配置工程,保证可以全部编绎通过。

四、缺陷
此版本的Appium,无法使用inspecter获取控件信息(后续会提供app-inspecter进行控件获取的方法)

因WebDriverAgent工程编绎的ipa程序只能安装在iOS9以上,故无法在iOS7、iOS8上做自动化

五、升级
  Xcode 9.0 之后需升级到最新版本,若安装1.6.5仍有问题可以到此链接(https://github.com/facebook/WebDriverAgent)下载webdriveragent工程文件替换/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent中的文件,重新配置证书即可

转载于:https://www.cnblogs.com/niansi/p/8325168.html

appium ios端自动化测试配置相关推荐

  1. Appium移动端自动化测试--搭建模拟器和真机环境一

    目录 模拟器--安装Android Studio及Android SDK 模拟器--更改VDM默认存储路径 真机(Android)环境设置 真机--开启开发者模式 真机-- 打开USB调试 真机连接- ...

  2. appium 移动端自动化测试工具(4)

    一 简介 原生应用和web应用 (1)原生应用是特别为某种操作系统开发的. (2)Web应用本质上是为移动浏览器设计的基于Web的应用. (3)混合应用大家都知道是原生应用和Web应用的结合体,採用了 ...

  3. Python+Appium移动端自动化测试框架实现

    一.Appium 概述 1.Appium 简介 Appium是一个开源的自动化测试框架,可以用来测试基于iOS.Android和Firefox OS 平台的原生与混合的应用. 该框架使用Seleniu ...

  4. Appium移动端自动化测试(二):uiautomator2.0使用

    uiautomator2.0 其中appium1.5版本及以上.Android 5.0版本以上才支持 环境准备: 1. npm安装 npm install appium(安装后的版本一般都是最新的) ...

  5. python手机端编程环境_移动端自动化测试解决方案(Appium + Python) - (1) 环境搭建...

    最近对iOS自动化测试做了一番探究,希望通过自动化测试更好的去提高公司项目的测试效率 .在网上找了很多的文章和相关资料,都因为时间比较久导致无法实现基本环境的搭建,我在这儿分享给大家分享我的实现过程. ...

  6. 移动端自动化测试工具 Appium 快速入门

    文章目录 一.前言 二.Appium 概述 1.架构图 2.UI 自动化收益 三.环境安装 1.桌面版本安装 2.DOS命令安装 3.安装SDK 四.常用操作方法 五.常见定位方式 1.ID 定位 2 ...

  7. Windows上实现iOS APP自动化测试:tidevice + WDA + facebook-wda / appium

    本文介绍如何在Windows下构建iOS APP自动化测试环境,采用的主要工具为tidevice,WebDriverAgent,facebook-wda或者appium. 目录 测试架构介绍 WebD ...

  8. 移动端自动化测试(一)appium环境搭建

    自动化测试有主要有两个分类,接口自动化和ui自动化,ui自动化呢又分移动端的和web端的,当然还有c/s架构的,这种桌面程序应用的自动化,使用QTP,只不过现在没人做了. web自动化呢,现在基本上都 ...

  9. Appium搭建MacOS环境下的iOS App自动化测试环境(Windows搭个MacOS虚拟机就行,亦无须iPhone)

    前言 经过上篇文章<Windows上Appium自动化测试Android应用>的介绍,我们已经学习App自动化测试的基本知识,接下来我们来学习如何对iOS进行基于Appium的自动化测试. ...

  10. 自动化测试---移动端自动化测试项目搭建(Appium+IDEA)

    自动化测试---移动端自动化测试项目搭建(Appium+IDEA) 模拟器+Appium操作 IDEA项目搭建 模拟器+Appium操作 首先打开黑窗口 输入命令 注:具体命令可看上一篇博客 第一步从 ...

最新文章

  1. 怎样从0开始搭建一个测试框架_0
  2. j2ee可以用于前端开发吗_用于J2EE开发的Cloud IDE
  3. Confirm的用法!
  4. oracle课程小结,Oracle 数据库优化实战心得总结
  5. 要不要买保险,看这篇就够了
  6. 支付宝超硬硬件发布: 将颠覆现有支付方式!
  7. SpringCloud学习之SpringCloudStream集成kafka
  8. 计算机视觉(CV)中HOG算法的主要步骤
  9. 闭包函数 use 改变外部变量
  10. 产品经理项目流程(四)——需求文档
  11. 可展开和收起的LinearLayout
  12. 设置linux服务器时间自动同步
  13. 骨传导耳机和普通耳机危害哪个小?骨传导耳机
  14. 有n个人围成一圈编号1~n,顺序排好,从第一个人开始1到3报数,凡是报到3的人退出圈子,C语言编程出圈顺序
  15. 怎样优雅劝退他人做自媒体?
  16. 模型训练之决策树、随机森林、提升树
  17. 工业软件发展峰会-雪山论剑 -
  18. 操盘手如何在牛市中基于MACD进行选股
  19. zeek系列之:流量分析流量数据采集流量探针利器zeek
  20. RobotStudio 机器人工作环境设计与离线编程

热门文章

  1. chm文件打开空白或显示不全
  2. .chm文件如何打开
  3. 全新版大学英语综合教程第一册学习笔记(原文及全文翻译)——4 - Tony Trivisonno‘s American Dream(托尼·特里韦索诺的美国梦)
  4. 我国南北居民收入差距 正在扩大。
  5. 各种绩效考核方法的区别
  6. Excel如何查找两列数据不同项
  7. 新版标准日本语高级_第13课
  8. 树莓派环境处理_树莓派安装raspbian并配置开发环境
  9. 马化腾:灰度法则的七个维度
  10. 那些简历造假拿 Offer 的程序员,后来都怎样了?