iOS_UI自动化01篇:Mac端Appium自动化测试环境配置

框架选择

基于以下几样标准:

  • 同时支持iOS、Android、H5,且尽量能保持接口统一,减少开发维护成本
  • 支持多平台(跨平台,可以在OSX、Windows以及Linux桌面系统上运行)、多语言(appium选择了Client/Server的设计模式,只要client能够发送HTTP请求给server,client用什么语言来实现都是可以的)。且appium扩展了WebDriver的协议,以前WebDriver API可以被直接继承过来
  • 用户量大,文档丰富

appium工作原理

 

iOS_UI自动化01篇:Mac端Appium自动化测试环境配置_第1张图片

 

当我在MAC平台上,通过Python(Python-client)编写了一个appium自动化脚本并执行,请求会首先到appium.dum(MAC下的appium-Server),appium-Server通过解析,驱动iOS设备来执行appium自动化脚本。

 

你需要安装什么?

通过上面的原理,其实就很清楚需要安装什么了

环境准备(iOS):在Appium中测试iOS时,依赖于Apple开发环境,比如Xcode(大于4.6.3)、Apple Developer Tools,这些我也是安装好的。

在安装Appium之前,为了确保Appium的相关依赖已经准备就绪,可以使用Appium-doctor来进行验证,全绿即表示成功.

iOS_UI自动化01篇:Mac端Appium自动化测试环境配置_第2张图片

 

appium-doctor是一个用于验证appium安装环境的工具,可以诊断出Node/iOS/Android环境配置方面的常见问题。指定--ios时只针对iOS环境配置进行检测,指定--android参数时只针对Android环境配置进行检测,若不指定则同时检测。 appium-doctor采用node.js编写,可使用npm install appium-doctor -g下载

 

接着,安装appium Server: appium下载,选择.dmg后缀的安装包,根据提示,一步一步进行安装即可。

最后,安装python-client:

  1. 安装python语言;
  2. 安装python编辑器;

这两个之前学习python语言就已经安装过了,就不赘述了。编辑器可以自行选择,我个人安装的是PyCharm。

  1. 安装python-client 推荐pip安装:pip install Appium-Python-Client

本来Client部分,其实我们原本可以不安装任何东西,只需要任意选择一门开发语言,然后直接基于WebDriver的C/S协议(JSON Wire Protocol)即可编写自动化测试代码。但是这样做的话工作量会比较大,因为要去处理一些跟协议相关的工作。所幸Appium项目已经针对众多主流的编程语言,将底层协议处理相关的工作封装为Library,通过调研这些Library,可以极大的简化我们编写测试用例的工作量。

而说的需要安装的Client部分,其实也就是安装这些Library。选择python语言,需要安装的Library就是Appium-Python-Client。

Appium-desktop

什么是 Appium-desktop?

项目地址:github.com/appium/appi…

项目描述: Appium Server and Inspector in Desktop GUIs for Mac, Windows, and Linux。

Appium 移动测试中有个很重要的组件 Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试。

但Appium-Server有一两年没有更新了。于是,新的工具 Appium-desktop 来了! 它来继续 Appium-Server的使命,当然, Appium-Server当前仍然是可用的。

下载与安装 appium-desktop 下载地址:这里

根据自己的平台选择相关的包进行下载,下载完成双击图标打开点击Start Server即可打开。

注:安装完appium-desktop之后,appium-server即可卸载了~

最后

俺叫小枫,一个成天想着一夜暴富的测试员

1140267353)一起成长一起加油的伙伴群!软件测试,与你同行!
群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

点赞关注不迷路!!!【三连ღ】,有问题也可私聊哟~(*╹▽╹*)

你可能感兴趣的:(自动化测试,UI自动化,测试流程)