一、安装环境介绍
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中的文件,重新配置证书即可

appium ios端自动化测试配置的更多相关文章

  1. appium 移动端自动化测试工具

    appium 移动端自动化测试工具 appium 移动端自动化测试工具 appium 是哟个自动化测试开源工具 支持ios和安卓平台的应用 以及web应用和混合应用 appium 是一个跨平台的工具: ...

  2. Windows&Appium&Java&Python自动化测试-配置开发环境

    摘要 本篇博文,主要介绍借助Appium做移动端自动化测试的开发环境搭建,包括Java和Python Java环境:Appium+Maven+Idea+TestNG+Reportng Python环境 ...

  3. appium移动端自动化测试环境搭建windows-appium-android

    第一步:安装jdk 安装jdk(1.7版本以上) 安装完成设置jdk环境变量(百度查询) cmd命令下键入 java -version命令检查jdk是否安装成功且设置环境变量成功,如下图所示: 第二步 ...

  4. appium+ios+macaca自动化测试环境部署

    环境准备(供参考) mac v10.14.4 xcode v10.2 python v3.6 确保上述环境已满足,即可开始搭建appium+ios测试环境 1 jdk安装 下载mac版本的jdk并安装 ...

  5. appium 移动端自动化测试一

    最近公司决定使用appium为主体框架做一个移动端得自动化测试系统,我会陆续记录项目得进展. 1.首先是appium环境得搭建, 需要安装appium-server ,appium-desktop, ...

  6. Appium移动端自动化测试-安卓真机+模拟器启动

    一.环境准备 appium-pythin-client版本(0.17),selenium版本(2.53.6)(版本需对应,否则执行脚本可能出错,我用的是这两个版本) macOs版本10.14.1(ap ...

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

    详细介绍安装Android Studio及Android SDK.安装Appium Server. 文章目录如下 目录 文章目录如下 模拟器--安装Android Studio及Android SDK ...

  8. Appium移动端自动化测试--使用IDE编辑并强化脚本

    目录 Appium客户端安装 安装Python IDE-Pycharm Java IDE 安装 使用隐式等待让用例更稳定 隐式等待 启动Appium非GUI模式:Appium Server 安装Pyt ...

  9. appium移动端自动化测试的一些感想

    花了一个多月的时间来复习,学习appium+python+android的UI层的自动化测试. 从最开始的环境搭建,都后面运行脚本报错各类错,到优化脚本结构,基本上问题不断. 相比,selenium做 ...

随机推荐

  1. IntelliJ Idea使用代码折叠

    VS风格: //region    xxxxxxxxxxxxxx ............. //endregion 快捷键: Ctrl+Shift+”+/-”,全部展开.折叠

  2. hdu 1080 dp(最长公共子序列变形)

    题意: 输入俩个字符串,怎样变换使其所有字符对和最大.(字符只有'A','C','G','T','-') 其中每对字符对应的值如下: 怎样配使和最大呢. 比如: A G T G A T G -  G ...

  3. Day 01 计算机编程基础

    1.编程语言是什么? 编程语言是人与计算机交流的介质 2.什么是编程? 用编程语言写出一个个文件,这堆文件会达到一个目的 3.编程有什么用? 让计算机帮助我们干活,从而解放人类劳动力 4.计算机组成原 ...

  4. multiple definition of

    总结了解决multiple definition of的方法: 问题原因:    当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译#ifndef TEST_H#define TEST_H ...

  5. 小学生都能学会的python(运算符 和 while循环)

    ---恢复内容开始--- 小学生都能学会的python(运算符和编码) 一.格式化输出 #占位:"%s"占位,占得是字符串,"%d"占位,占的是数字. # 让用 ...

  6. NOIP2018提高组金牌训练营——数论专题

    地址 https://www.51nod.com/live/liveDescription.html#!liveId=23 1187 寻找分数 给出 a,b,c,d, 找一个分数p/q,使得a/b & ...

  7. Win10和子系统Ubuntu简单共享

    Win10和子系统Ubuntu简单共享 C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp ...

  8. js jquery 判断匹配元素是否存在

    jQuery 判断页面元素是否存在的代码 在传统的Javascript里,当我们对某个页面元素进行某种操作前,最好先判断这个元素是否存在.原因是对一个不存在的元素进行操作是不允许的. 例如: 复制代码 ...

  9. C# .net IDE Rider入门

    话说史上最强IDE Visual Studio 所向披靡数十载尚无敌手,现在Intellij带着统一IDE界的目标来挑战VS的霸主地位.了解Rider后发现,哎哟亮点多多,还不错哦! Rider是一款 ...

  10. WINSERVER-IIS-无法启动

    报错信息:无法启动计算机上的服务W3SVC 开始百度,多数教程是这样写的 修复错误 运行命令提示符 fsutil resource setautoreset true c:\ 打开运行输入 servi ...