• Appium 1.6.5安装环境配置 iOS篇


    一、安装环境介绍

    • 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 参数

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

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

    (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】重新配置工程,保证可以全部编绎通过。

     

    四、缺陷

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

    2. 因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中的文件,重新配置证书即可

  • 相关阅读:
    浅尝《Windows核心编程》之 等待函数
    linux 下 解压rar的过程
    一些多线程编程的例子(转)
    js数组操作《转》
    缩略图片处理<收藏>
    .net 框架
    详解NeatUpload上传控件的使用
    NHibernate工具
    xml xpath语法《转》
    C#事务技术
  • 原文地址:https://www.cnblogs.com/panmo/p/7505659.html
Copyright © 2020-2023  润新知