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

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

也许有人会问,能否在Windows系统上使用Appium测试iOS手机,这不就不用花钱买Mac了吗?答案是不可以,因为Appium的本质是把我们编写的自动化测试脚本,翻译成Mac中UIAutomator的脚本,所以只能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/

不要尝试使用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-deploy,iOS10以上的系统才需要安装

npm install -g ios-deploy

8)设置WebDriverAgent项目的Signing

Appium对iOS的支持,是通过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为开发者账号即可。

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

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

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

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

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

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

Appium自动化测试框架研究(2)——搭建IOS环境的更多相关文章

  1. Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)

    简介 好久没有更新博客了,博友们是不是有点等不及了.不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的.从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完 ...

  2. Appium+python自动化(四十二)-Appium自动化测试框架综合实践- 寿终正寝完结篇(超详解)

    1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台.今天这篇分享讲解完.Appium自动化测试框架就要告一段落了. 2.执行测试用例&报告生成 测试报告, ...

  3. Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)

    简介 经过一段时间的准备,完善的差不多了,继续分享有关Appium自动化测试框架综合实践.想必小伙伴们有点等不及了吧! driver配置封装 kyb_caps.yaml 配置表 参考代码 platfo ...

  4. Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录. 2.业务模块封装 因为现在各种APP的层出不群 ...

  5. Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程 ...

  6. 『与善仁』Appium基础 — 8、Appium自动化测试框架介绍

    目录 1.主流的移动端自动化测试框架 (1)Robotium (2)Macaca (3)Appium 2.自动化测试工具的选择 3.Appium简介 提示:我们前面说的Android环境搭建和adb命 ...

  7. 基于Jmeter和Testlink的自动化测试框架研究与实施

    关于测试框架搭建的详细过程,会在另一篇文章中详细介绍:http://www.cnblogs.com/leeboke/p/6145977.html 摘 要 目前基于Jmeter的接口自动化测试框架,大多 ...

  8. Windows系统下搭建Appium自动化测试框架

    简介 一种开源的测试框架(http://appium.io/) 能够用来测试原生Android/iOS应用.混合应用以及webapp 通过webdriver协议来操作应用,其核心是一个web服务器,接 ...

  9. 基于C#的Appium自动化测试框架(Ⅰ)

    因为工作原因,使用的编程语言都是C#,但是国内相应的Appium资料少得可怜,Java版本的Appium也考虑过,但是奈何自己搞不定Eclipse这个编译环境[说白了就是因为懒-- 无意中看到了外面的 ...

随机推荐

  1. windows常用命令行命令

    https://blog.csdn.net/qq_32451373/article/details/77743869 打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗 ...

  2. C# json 转 xml 字符串

    本文告诉大家如何将 json 转 xml 或将 xml 转 json 字符串 首先需要安装 Newtonsoft.Json 库,打开 VisualStudio 2019 新建一个 dotnet cor ...

  3. CCPC 2018 吉林 C "JUSTICE" (数学)

    传送门 参考资料: [1]:https://blog.csdn.net/mmk27_word/article/details/89789770 题目描述 Put simply, the Justice ...

  4. 解决浏览器中点击input输入框时,placeholder的值不消失的方法

    版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/lianwenxiu/article/det ...

  5. 浅谈javaScript数据类型、变量、内存之间的关系,文末有图解

    一.变量是没有类型的 在JavaScript中,定义变量的方法是“var 变量名=变量值”,无论这个变量要给他赋值为一个数字.字符串还是数组,他的类型都不需要声明.也就是说如果我只声明了一个变量“va ...

  6. Linux 内核即插即用规范

    一些新 ISA 设备板遵循特殊的设计规范并且需要一个特别的初始化顺序, 对增加接口板 的简单安装和配置的扩展. 这些板的设计规范称为即插即用, 由一个麻烦的规则集组成, 来建立和配置无跳线的 ISA ...

  7. vue-learning:8-template-v-on-and-modifier

    绑定元素事件的指令 v-on 及事件和修饰符 目录 对比原生事件绑定.jQuery事件绑定 Vue事件绑定 Vue绑定事件中获取事件对象event 事件修饰符 事件行为修饰符: stop / prev ...

  8. 新书《iOS编程(第6版)》抢鲜试读

    我最近翻译了Big Nerd Ranch的<iOS编程(第6版)>.我用了大半年时间,尽可能做到通顺易懂.不足之处请大家多多指正.感谢辛苦审校的丁道骏同学. 这本书得过Jolt大奖,原书在 ...

  9. Jmeter线程组使用详解,持续加压线程组详解

    以下罗列的是Jmeter 所有线程组的详解,包括官方自带的线程组,和官方插件的线程组.官方线程组安装,详见之前的文章:https://www.cnblogs.com/beimingyouyuqingc ...

  10. Alibaba Cloud Toolkit 使用心得(IDEA版)

    一.安装插件 确保 IntelliJ IDEA 在 2018.1 或更高版本 打开 Settings - Plugins 搜索安装 Alibaba Cloud Toolkit 二.配置环境 Deplo ...