这篇文章给大家介绍如何使用appium做Android手机自动化测试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
Appium这个听起来既生疏也熟悉的自动化测试工具,比起原生的UiAutomator可能是异常的不起眼,可是却是有自身独当一面的能力,可以完成许多高难度作业,完成UiAutomator不可能完成的一些任务,可以说appium丰富了UiAutomator的功能,使UiAutomator可以完成更多的任务。
Appium到底有哪些优势会让我们优先选择它去做自动化呢?
一、一句话概括Appium
一款应用于移动端的自动化测试框架,支持跨平台应用,Native、Hybird、Mobile Web都支持。其特点概括一下:
跨平台只要一套代码
不需要设置签名,不污染源代码
不需要项目源代码就可以测试
多语言支持
可支持多种通用框架
完全开源,社区活跃
二、初步认识appium工作过程
appium有C/S模式
appium是基于webdriver协议对移动设备自动化api扩展而成的,所有具有和webdriver一样的特性,比如多语言支持。
webdriver是基于http协议的,第一连接会建立一个session会话,并通过post发送一个json告知服务端相关测试信息。
对于Android来说,4.2以后是基于UiAutomator框架实现查找注入事件的,4.2以前则是instrumentation框架的,并封装成一个叫Selendroid提供服务。
客户端只需要发送http请求实现通讯,意味着客户端就是多语言支持的。
appium服务端是node.js写的,所以安装那个平台都是先安装node,然后npm install -g appium(需要FQ)。
三、环境搭建
步骤:
java开发环境JDK
android SDK(platform/platform tools/tools/build tools)
python下载安装(pip)
appium下载安装(服务端+客户端)
安装appium-python-client
安装unittest
第一步
安装JDK,安装完成后配置环境变量。
cmd下java -version检查环境变量是否配置成功。
第二步
安装Android SDK(安卓软件开发包),测试Android手机必然是要安装Android SDK。
下载地址:http://tools.android-studio.org/index.php/sdk/
解压后将文件夹添加到环境变量中,添加环境变量,必须创建一个名为ANDROID_HOME的变量。
双击SDK Manager,选装工具。必装:Tools文件夹下Android SDK Platform-tools和Android SDK Build-tools,Android SDK Tools可以选择是否更新,建议网速OK直接更新。GoogleFQ安装:Extras文件夹下所有的全部安装。
Path环境变量中添加ANDROID_HOME、tools、platform-tools、build-tools目录。保存修改。
环境变量配置完成后,连接安卓手机,并将Android手机的开发者选项-USB调试打开。
在CMD下执行,adb devices,出现下图样式则代表通过adb命令,获取到了连接在电脑上Android手机的UDID。
adb devices在获取连接的安卓手机时,一定会遇到很多坑,这里我们梳理下可能会遇到的坑。
手机USB调试一定要打开。
多找两根USB线,排除线的问题。
多换几个USB接口,排除USB个别接口不好使问题(如:3.0 与 2.0)
驱动程序,通过设备管理器查看是否安装驱动或驱动不是最新。
更新adb_usb.ini文件,少数电脑不能识别Android手机时,可以将设备管理器下的Android手机的VID、PID增加到adb_usb.ini文件中。
将VID、PID中“_”后的4位数增加到adb_usb.ini下(注:adb_usb.ini默认在C盘当前用户家目录下的.android目录下)
理论上这些操作都操作一遍后,基本adb devices就可以找到Android手机了。
第三步
安装node.js,之后就可以直接通过npm安装Appium。(注:npm类似于Python的pip,一个非官方包管理器)
官方下载地址:https://nodejs.org/en/download/
根据自己的操作系统下载不同版本的node.js
node.js的安装一路傻瓜式next就可以了,安装成功后会自动添加环境变量。
安装成功后,检测下npm是否可用。
第四步
安装appium服务端,可通过cmd 下输入 npm install -g appium 进行安装。
如果npm install -g appium特别慢,无法下载时,可以用国内的镜像npm --registryhttp://registry.cnpmjs.orginstall -g appium
安装如果失败可以尝试通过cnpm安装appium
通过npm命令安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
通过cnpm安装appium
cnpm install -g appium --no-cache
安装成功后,通过appium -v 查看当前appium版本,直接输入appium则启动appium server端。
如果仍无法下载appium服务端,那就只能在Appium官方网站上下载操作系统相应的Appium版本。
https://bitbucket.org/appium/appium.app/downloads/
当前最新版本为 AppiumForWindows_1_4_16_1.zip ,注意这是一个 Windows 版本,如果你的电脑为MAC请下载 appium-1.5.3.dmg 。
再来提供一个百度网盘的下载链接:https://pan.baidu.com/s/1Y4pD3fjjeKJNv_6E7seQBQ
我们以 Windows 为例,将下载的 AppiumForWindows.zip 进行解压,点击 appium-installer.exe 进行安装。
双击启动,appium server 界面如下。
最后,打开Windows命令提示符,输入“appium-doctor”命令,如果出现以下提示,说明你Appium所需要的各项环境都已准备完成。
注:如果提示:“appium-doctor”不是内部或外部命令,找到Appium的安装目录,例如:
C:\Program Files\Appium\node_modules\.bin
添加到环境变量path下面。
第五步
安装appium客户端,用于抓取app上定位信息。
双击安装,安装成功后左面会有一个appium的快捷方式。
到这里Windows-Android-appium的所有环境就已经搭建完成了。
Appium目前是一种比较先进的测试工具,可以覆盖到UiAutomator所涉及的各个方面,还能完成webview的自动化测试,但是部署环境较复杂,而且出现很多的异常情况很难去定位到问题,同时网上资料也比较匮乏,导致其普及范围不是很广,希望这篇文章可以帮助需要用到appium工具的同学,快速越过搭建环境这一关,快速投入到混合型App的自动化测试当中。
关于如何使用appium做Android手机自动化测试就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。