Appium自动化测试框架研究(2)——搭建IOS环境

 

  今天的文章讲iOS的Appium环境搭建。

  对于iOS而言,只能在Mac笔记本上安装Appium,以及所需要的各种组件。

  也许有人会问,能否在Windows系统上使用Appium测试iOS手机,这不就不用花钱买Mac了吗?答案是不可以,因为Appium的本质是把我们编写的自动化测试脚本,翻译成MacUIAutomator的脚本,所以只能Mac来做,Windows系统搞不定。但是,你可以装黑苹果来解决这个问题。

  我们这篇文章不提黑苹果,而是介绍怎么在mac笔记本上安装能运行iOS自动化测试的appium

  以下的6个步骤,在上一篇文章我们已经介绍过,请参考上一篇文章。。

     1)安装Node

     2)使用Node下载Appium Server

     3)下载并安装Appium Desktop.

     4)下载并安装Python 3

     5)使用pip下载Appium Client

     6)安装Appium Doctor

 

  为什么说iOS支持Appium麻烦呢,因为还要执行下列的步骤:

     1)安装最新版的XCode,去App Store下载并安装最新版即可

  要确保XCode的版本和IPhone的版本是兼容的,否则就升级系统。

 

      2)安装Xcode Command Line Tools

      到官网下载Command Line Tools,这哥们之前是和XCode捆在一起安装的,后来分家单过了,所以要去Developer Apple官网单独下载并安装,下载地址是:

       https://developer.apple.com/download/more/

 Appium自动化测试框架研究(2)——搭建IOS环境

 

  不要尝试使用xcode-select ––install,会失败的。

 

     3)安装homebrew,用于mac系统的软件包下载。执行以下脚本:

/usr/bin/ruby -e "$(curl –fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 

     4)安装carthage,用于依赖管理,执行以下命令:

brew install carthage

 

    5)安装 libimobiledevice,用于Appium连接iOS的设备

brew install libimobiledevice –HEAD –g

 

    6)安装ideviceinstaller,用于管理安装在手机上的App

brew install ideviceinstaller –g

 

    如果执行这个命令报错,如下所示:

    Could not connect to lockdownd. Exiting.

 解决办法就是,增加lockdown的权限,执行下面的命令即可:

    sudo chmod –R 777 /var/db/lockdown

 

    7)安装ios-deployiOS10以上的系统才需要安装

    npm install -g ios-deploy

 

    8)设置WebDriverAgent项目的Signing

    AppiumiOS的支持,是通过WebDriverAgent来实现的,这是Facebook开源的一个项目,内置在Appium Desktop中,位于下面的路径:

    /Application/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj

  但是我们安装了Appium后,并不能指定它内置的WebDriverAgent的开发者账号,因此要进入这个目录,手动进行设置。

  用XCode打开WebDriverAgent.xcodeproj,然后配置两个Targets,一个是WebDriverAgentLib,另一个是WebDriverAgentRunner,配置Signing,设置Team为开发者账号即可。

 Appium自动化测试框架研究(2)——搭建IOS环境

 

 

       9)此外,我还遇到过错误信息,说是Apple Developer开发者账号需要有了新协议,需要我登陆上去点击同意,照它说的去做,登录到Apple Developer点击同意就好了。

 

  至此,在Appium上就可以运行iOS的自动化测试了,上述步骤缺一不可。可以说九九八十一难,一步一个坑,我为此整整折腾了三四天,才配置好。

      10)如果前面的功课都做完了,那appium基本就可以使用了。在执行appium-doctor命令时,会看到一些警告:

 Appium自动化测试框架研究(2)——搭建IOS环境

 

      我们来逐一解决这些警告。

      1.opencv4nodejs cannot be found

  到官网下载CMake并安装,地址如下所示:

     https://cmake.org/download/

  把CMake的路径添加到全局变量PATH中,如下所示:

     export CMAKE_ROOT=/Applications/CMake.app/Contents/bin/

     export PATH=$CMAKE_ROOT:$PATH

 

      最后执行命令:

       npm install opencv4nodejs 

 

       2. ffmpeg cannot be found

  解决方案:输入brew install ffmpeg

 

       3. mjpeg-comsumer cannot be found

  解决方案:输入npm i -g mjpeg-consumer

 

      4. idb and idb_companion are not installed

      执行以下命令

      brew tap facebook/fb
      brew install idb-companion
      pip3.7 install fb-idb

      注意pip3.7是我的python的版本号。可以去全局变量中检查一下是否设置了pip的路径,有的是3.6或别的版本。

 

      5. applesimutils cannot be found

     执行以下命令:

     brew tap wix/brew
     brew install applesimutils

 

      6. bundletool.jar cannot be found

  到https://github.com/google/bundletool/releases下载bundletool.jar的最新版本,下载到的这个jar的文件名可能有带版本号,无论是什么,都改名为bundletool.jar

  在前面创建的sdk目录下,创建一个子目录bundle-tool,把bundletool.jar放在这个子目录下。

  给这个子目录和这个jar文件,增加权限。执行下面的脚本:

      chmod +x 

      chmod +x bundletool.jar

 

  在全局变量PATH中,增加bundletool.jar的路径,如下所示:

     expert PATH=${PATH}:$ANDROID_HOME/bundle-tool

 

  在下一篇文章中,我将介绍电脑如何连接AndroidiOS真机和模拟器,以及准备合适的DesiredCapabilities,从而在Appium中启动App

Appium自动化测试框架研究(2)——搭建IOS环境

上一篇:论文阅记 Segmentation-Based Deep-Learning Approach for Surface-Defect


下一篇:iOS开发UI基础—字典转模型(部分内容转载他人)