-
Android UI自动化测试工具有很多,这些工具基本是基于Android控件层面,涉及Widgets和WebView两类;
-
而关于其测试方法一般有二:
第一种是:
通过Android提供的各种服务来获取当前窗口的视图信息,如UI Automator。
第二种是:
基于Instrumention,把测试APK和被测APK运行在同一个进程中,通过Java反射机制来获取当前窗口的所有视图,如Robotium
-
常用的测试工具有:UI Automator、Appium、Espresso、Selendroid、Robotium等;
-
本文主要介绍的是Appium。
2 Appium简介
-
Appium是开源的、跨平台的测试自动化测试框架;
-
主要用于测试移动端应用;
-
Appium支持模拟器和真机上的原生应用、混合应用、Web应用;
-
Appium使用WebDriver的JSON wire协议来驱动Apple系统的UI Automator库、Android系统的UI Automator框架;
-
因Appium集成了Selendroid框架,所以Appium支持比较老版本的Android;
-
Appium支持Selenium WebDriver支持的所有语言(Java、Python、JavaScript、Objective-C、PHP、Ruby、C#、Clojure、Perl等)。
3 Appium原理
3.1 Android端过程
-
客户端client,指咱们的测试脚本;
-
Appium在服务端启动一个Server(4723端口),用来接口WebDriver client标准的rest请求,调用对应框架响应操作;
-
Appium Server把请求转发给中间件Bootstrap.jar(手机上),Bootstrap.jar监听4724端口并接收Appium命令;
-
Bootstrap将执行结果返回给Appium Server;
-
Appium Server再将结果返回给Appium Client。
3.2 iOS端过程
-
客户端client,指咱们的测试脚本;
-
Appium在服务端启动一个Server(4723端口),用来接口WebDriver client标准的rest请求,调用对应框架响应操作;
-
Appium Server调用instruments.js,启动socket server,分出子进程instruments.app,将bootstrap.js注入device;
-
bootstrap.js将执行结果返回给Appium Server;
-
Appium Server再将结果返回给Appium Client。
4 补充内容
-
UI Automator测试框架是Android SDK自带的APP UI自动化测试Java库;
-
而UI Automator对H5支持有限;
-
Appium 引入了chromedriver等来实现基于H5的自动化;
-
Android和iOS启动过程的区别在Appium将请求转发给了Bootstrap.jar或bootstrap.js,再由Bootstrap驱动UI Automator或UI Automation。
5 JDK下载
-
根据操作系统选择下载,我的是Windows平台;
-
双击安装文件,按照提示,可以一步步安装,中间会有两次选择安装路径,第一次是安装Jre,第二次是安装Jdk,两次的安装目录,建议单独放在一个磁盘的根目录,如下,笔者的是:jdk-11.0.8;
6 JDK配置
-
新建系统环境变量JAVA_HOME:
-
编辑系统变量Path:
Windows10 电脑,新建变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
Windows7 电脑,在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;注意用;号分隔
-
新建系统变量CLASSPATH变量:
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
-
验证java环境:
7 SDK下载
-
SDK下载:SDK官网和下载较快的SDK网站;
-
比如我们选第二个进入下载页面:
-
选择对应的平台下载即可,我这里是windows平台的;下载后解压到指定目录,比如:
8 SDK配置
-
将SDK的platform-tools、根目录、tools配置到系统环境变量path中;
D:\android-sdk-windows\platform-tools
D:\android-sdk-windows
D:\android-sdk-windows\tools
9 配置Android环境
-
新建系统环境变量ANDROID_HOME值为SDK根目录:
ANDROID_HOME
D:\android-sdk-windows
-
新建系统环境变量ANDROID_PATH值为SDK的platform-tools目录:
ANDROID_PATH
D:\android-sdk-windows\platform-tools
10 安装NodeJs
-
安装这个只要是用它来安装appium以及验证后续安装的Appium是否成功;
-
下载地址:NodeJs:https://nodejs.org/en
-
下载后直接双击运行即可node-v20.10.0-x64.msi;
-
安装完在命令行执行npm看到以下界面则表示node安装成功了:
11 解决node安装时提示不是内部命令
-
需要配置node.js的一些环境变;
-
在node.js的安装目录下新建两个文件夹如下node_global和node_cache:
-
打开系统环境变量,新增NODE_PATH变量:
NODE_PATH
D:\nodejs\node_modules
-
在系统环境变量的path新增:%NODE_PATH%:
-
打开用户环境变量,修改path中的npm路径为:D:\nodejs\node_global:
-
重启电脑、重启电脑、重启电脑(重要的事情说三遍)。
12 安装配置Appium
-
Appium官网:https://appium.io/docs/en/2.3/
-
点击左侧的install Appium使用NPM安装:
npm i --location=global appium
-
命令行输入appium即可:
C:\Windows\System32>appium
[Appium] Welcome to Appium v2.2.3
[Appium] Appium REST http interface listener started on http://0.0.0.0:4723
[Appium] You can provide the following URLs in your client code to connect to this server:
[Appium] http://172.16.1.33:4723/
[Appium] http://127.0.0.1:4723/ (only accessible from the same host)
[Appium] http://172.31.32.1:4723/
[Appium] No drivers have been installed in C:\Users\Administrator\.appium. Use the "appium driver" command to install the one(s) you want to use.
-
关于安装可参考官网:
-
还有环境的要求:
-
还有一种安装方式为使用GUI界面去安装 appium-desktop;
-
选择的对应包即可:
-
这里需要注意下,官网给出了明确说明,appium-desktop将不再支持Appium 2.0+版本,建议使用命令行方式。
13 appium环境验证
-
先安装appium-doctor:
-
npm install -g appium-doctor
-
命令行输入appium-doctor,检查环境是否ok:
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。