正所谓工欲善其事,必先利其器,测试员们要做好测试任务,必须要选择一款适合自己的"兵器",也就是测试的工具。

现在主流的移动端自动化工具我比较了 3 种,但为什么选 Appium?
工具选择判断的关注点有 3 个:
一是是否支持 webview,native
二是是否支持获取 toast(toast 是 Android 系统中一种消息框类型)
三是是否支持跨应用

所以相比较
1.Robotium(支持语言为 java,仅支持 Android,不支持跨应用);
2.Macaca(支持语言 java,python,node.js 支持 Android 和 IOS,支持跨应用)属于轻量级 appium;
3.Appium(支持语言 java,python,c#,php,Node.js 等,支持 Android 和 ios,支持跨应用);

借用一张图说明,要比我的更加清楚:

不仅如此,Appium 是 Nodejs 框架写的 http server,使用的是 webdriver 的 json wire 协议,Appium 类库封装了标准 Selenium 客户端类库,所以说,Appium 是目前最优的选择,它可以用来测试原生及混合的移动端应用。

那么什么是原生,什么是混合应用呢?

移动原生应用:单纯用 ios 或者 android 开发语言编写的、针对具体某类移动设备、可直接被安装到设备里的应用,一般可通过应用商店获取;
移动 web 应用:使用移动浏览器访问的应用(appium 支持 iOS 上的 Safari 和 Android 上的 Chrome),不需要下载到设备上,而是通过浏览器直接访问;
混合应用:同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用。

Appium 的工作原理

Appium 启动时会创建一个
http://127.0.0.1:4723/wd/hub服务端 (相当于一个中转站),脚本会告诉服务器我要做什么,服务端再去跟设备打交道;

服务端和设备默认使用 4724 端口进行通信的,底层调用 uiautoamator 工具,在测试的时候服务端给设备扔一个 bootstrap.jar,会启动这个包,启动之后会在手机上创建一个 socket 服务,暴露的就是 4723 端口;相对 socket 服务来说,appium 服务端又是一个客户端;

服务端收到脚本传递过来的命令之后,通过电脑上的 4724 端口,向设备的 4724 端口发送指令,bootstrap.jar 收到指令后会去完成点击,滑动等操作,完成之后再给服务端一个响应。服务端收到之后再去运行脚本。

文字描述可能看起来不直观,再借用一张图:

Appium 的环境搭建
需要用到的软件如下:

1.JAVA 的开发环境 JDK,我用的是 1.8.0 版本,安装成功后需要配置环境变量,记得做验证

2.Android SDK 的安装
它是 Google 提供的 Android 开发工具包,开发 Android 应用时需要通过引入其工具包来使用 Android 相关的 API。
a.下载解压 adt-bundle-windows/mac/linux(根据电脑的操作系统)-x86_64-xxxxx
b.配置 Android_Home(sdk 的目录)
c.Path 加入 %Android_Home%\tools;%Android_Home%\platform-tools
d.验证是否安装成功 cmd--> adb

3.Python(我用的版本是 3.7 版本)

4.Appium 组件安装
4.1.Node.js 默认安装,然后将安装路径添加到 path 中,在使用 node -v 检验,安装是否成功(我的版本是 V8.9.3)
4.2.安装 cnpm,使用命令安装 npm install -g cnpm --registry=https://registry.npm.taobao.org
4.3.安装 NET framework Appium 是用.net 开发的,所以需要安装 .net framework4.5
4.4.安装 Appium 服务,我用的版本是 1.13.0

一、使用命令安装

方式 1:
npm -registry http://registry.cnpmjs.org install -g appium
npm install appium -g --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver

方式 2:cnpm install -g appium

二、使用 exe 安装
下载https://bitbucket.org/appium/appium.app/downloads/
4.5.安装 appium-doctor:npm install appium-doctor -g

5.Appium-python-Client

6.pycharm 或者 IDEA

7.appium-python 库安装
安装:pip3 install Appium-Python-Client
卸载:pip3 uninstall Appium-Python-Client
最后启动 Appium:appium &
也可以使用图形化界面安装
1、官网下载
2、按照默认安装
3、安装成功后界面

到这里 Windows-Android-appium 的所有环境就已经搭建完成,可以使用了。

总结:
Appium 还是一款比较先进的测试工具,可以覆盖到 UiAutomator 所涉及的各个方面,并且能够很好的完成 webview 的自动化测试,个人感觉就是环境搭建太繁琐,而且会遇到各种各样的坑,经常解决一个问题又出现另一个问题...
下一篇将整理出在这个搭建和项目自动化测试过程中踩过的坑~

PS:需要教程关注公众号,回复关键字【appium】
点击:https://mp.weixin.qq.com/s/6My6NJ8MrQ5td0muroK5-A


↙↙↙阅读原文可查看相关链接,并与作者交流