Android自动化测试(UiAutomator)介绍与学习

原创 2016年03月04日 18:05:05

一.Android开发环境搭建

1.1 JDK的安装
百度里直接搜索JDK,百度软件中心就有,直接下载下来安装即可

在安装JDK的过程中,会提示安装JRE,一定要选择安装。安装完成后的目录是这样的:


1.2 环境变量的配置
 下面开始配置环境变量,右击【我的电脑】---【属性】-----【高级】---【环境变量】,如图:

选择【新建系统变量】--弹出“新建系统变量”对话框,在“变量名”文本框输入“JAVA_HOME”,在“变量值”文本框输入JDK的安装路径(也就是步骤5的文件夹路径),单击“确定”按钮,如图:

在“系统变量”选项区域中查看PATH变量,如果不存在,则新建变量 PATH,否则选中该变量,单击“编辑”按钮,在“变量值”文本框的起始位置添加“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”或者是直接“%JAVA_HOME%\bin;”,单击确定按钮,如图:

在“系统变量”选项区域中查看CLASSPATH 变量,如果不存在,则新建变量CLASSPATH,否则选中该变量,单击“编辑”按钮在“变量值”文本框的起始位置添加“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”。如图:

现在测试环境变量的配置成功与否。在DOS命令行窗口输入“JAVAC”,输出帮助信息即为配置正确。如图:

1.2 eclipse下载(略) 
1.3 下载和安装Android SDK

进行下载即可。下载后得到一个android-sdk_r24.4.1-windows.zip,将该文件解压缩到任意路径下。解压缩后得到一个android-sdk-windows文件夹。启动里面的SDK Manager.exe,显示如下界面:

选择相应的要安装的包。注意这里需要翻墙下载。
为了在命令行窗口可以使用Android SDK的各种工具,最好将Android SDK目录下的tools子目录,platform-tools子目录添加到系统的PATH环境变量中。
1.4 安装Eclipse的ADT插件
安装此插件比较麻烦,需要时间挺长。我们直接从网上下载一个ADT的包,然后本地加载一下,效果也是一样的。

二.详细操作

2.1建立工程

2.2 添加JUnit库

2.3 添加安卓库

这里注意一下,自动化处理是android4.1开始支持,而且小版本的jar可以在大版本的手机运行。所以这里我们选择android-16这个文件夹。所有库添加完应该是这个样子:


2.4 在工程里创建相应的包和类即可



2.5 写个简单的程序进行测试:

package com.uia.expample.my;

import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiScrollable;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class MyTest extends UiAutomatorTestCase
{
    public void testDemo1() throws UiObjectNotFoundException
    {
    	getUiDevice().pressHome();
    }
    public void testDemo2() throws UiObjectNotFoundException
    {
    	
    }
}
这里需要注意,类里面定义了两个函数。定义两个是为了说明。jar的执行函数是以test为开头命名的函数。如果内部的函数开头不是test(我之前写成了Test),jar是不会模拟点击的。如果有多个test开头的函数,则根据test后面字母的ASCII码的顺序依次执行。所以上述的两个函数,先执行testDemo1,再执行testDemo2.

2.6 创建编译配置文件

<android-sdk>android create uitest-project -n <name> -t 1 -p <path>

说明一下各个参数的作用,如果已经将android sdk的路径配置到了系统的path中,输入命令“android create uitest-project”就可以查看到相应的帮助

-n 〈name〉: Project name.  就是在eclipse中创建的项目的名字。

-t 〈target〉  : Target ID of the new project. [required]   这个id是本机上android targets的id,可以通过命令 “android list”来查询,得到如下图的结果,选择android-16以上版本前面所对应的id


我在我的电脑上是这样输入的:




在build.xml上点击右键,选择“Run As” -> "Ant Build",可以看到下面的输出,这个输出实际上是一个帮助,是对build.xml的作用进行说明的。在build.xml中配置上相应的选项可以完成相应的操作。


在build.xml的配置上,将default后面的选项改为"build"后,就可以build jar包了。


同样执行Run As操作,就可以build 成功了。目标文件生成在工程目录下的bin文件夹下。


2.7 测试验证

首先将jar发送到手机上:

adb push UiAutomator4.1.jar /data/local/tmp/


然后启动手机里的uiauotmator。

adb shell uiautomator runtest UiAutomator.jar -c com.uia.expample.my.MyTest

这里可以看一下 UiAutomator.jar是jar包名字,com.uia.expample.my是你的的工程中包的名字,MyTest是你定义的类的名字


看到手机里效果,说明我们成功了

2.8 中文使用

如果控件的文本信息是中文的话,我们也是可以使用的。但是需要对工程进行下修改。在工程上右击“属性”,点击“资源”,选择单选按钮“其他”,选择“UTF-8”,确定即可。这样我们使用中文查找控件也就可以了。


android自动化测试Uiautomator源码分析之一

1, 概述 Uiautomator顾名思义,就是UI自动化测试。主要用于仿真UI界面,包括单击,滑动,输入文本等操作。 主要分为三个子命令, rutest/dump/events 同其他大多数a...
  • u012439416
  • u012439416
  • 2017年04月15日 11:46
  • 328

Android进阶--android自动化测试python+uiautomator

android自动化测试常用的一些API,具体的请参考API 导入设备唯一一个设备from uiautomator import device as d导入具体设备from uiautomator i...
  • DG_summer
  • DG_summer
  • 2017年08月09日 20:54
  • 711

Android自动化测试之UIAutomator(一)

Android程序开发迭代周期短,测试case重复度高,大部分case属于功能验证,常规的测试方法是测试人员按照预先写好的Case手顺进行测试,人工比对操作结果和预期结果。这种测试手段重复度高,效率低...
  • xzy2046
  • xzy2046
  • 2014年09月14日 13:55
  • 5086

android自动化测试Uiautomator测试案例

1, 测试案例 如下是一个简单的测试案例代码,模拟了点击Home键回到主屏,然后点击所以应用按钮打开所有应用列表, 并滚动到时钟应用。打开时钟应用 并选择闹铃界面的第一个闹钟设置,修改该设置的开关...
  • u012439416
  • u012439416
  • 2017年04月15日 11:40
  • 661

uiautomator自动化测试

module:appapply plugin: 'com.android.application' 2 3 android { 4 compileSdkVersion 23 5 ...
  • qq_26818085
  • qq_26818085
  • 2016年12月05日 01:34
  • 799

Uiautomator自动化测试编写和调试---小白入门超详细

Uiautomator建立自动化测试项目 1.建立java项目 (1)选择File-New-JavaProject (注意:是java proect) (2)输入Project Name 输入P...
  • gld824125233
  • gld824125233
  • 2016年10月21日 13:53
  • 3013

Android 自动化测试UiAutomator 视频精讲

Android 自动化测试UiAutomator 视频精讲,带你详细学习Android 自动化测试 全套视频精讲推荐学习 https://ke.qq.com/course/274357&from_...
  • u012861732
  • u012861732
  • 2015年04月02日 20:12
  • 1226

AndroidUiAutomator使用Jenkins搭建持续集成测试系统Ⅱ

本文目标实现:Eclipse一但提交项目代码,则自动触发一次编译以及执行一次AndroidUiAutomator测试用例,编译后以及执行用例的结果可以通过邮件自动发送,实现自动化测试系统。 方式...
  • Anniejunyan
  • Anniejunyan
  • 2016年08月23日 14:43
  • 1187

在Android Sudio中使用Uiautomator 自动化测试

在AS中自动化执行计算器,比如:7+1 =8 1.AS版本是1.2.2 2.SDK Manager需要安装Android Support Repository,没有安装的需要自己去下,如图: 【...
  • wyh520java
  • wyh520java
  • 2017年01月22日 13:20
  • 313

基于 uiautomator 与 shell 的自动化测试工具

转载地址:https://testerhome.com/topics/3461 今年年初的时候,公司让写个做自动化测试的工具,真头疼!我都没做过这,心里怕怕的,但交待我来做,我又不能...
  • wanglha
  • wanglha
  • 2015年10月14日 13:03
  • 1741
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android自动化测试(UiAutomator)介绍与学习
举报原因:
原因补充:

(最多只允许输入30个字)