初探UiAutomator(一)

原创 2015年11月18日 19:51:13

本系类是我学习极客学院的测试类的学习笔记。

UiAutomator环境配置:

1、java环境,这个网上有一堆

2、增加android 环境变量,sdk环境变量:*\sdk\platform-tools  *\sdk\platform-tools

3、增加ANT环境  在eclipse目录下:    *:\eclipse\plugins\org.apache.ant_1.9.4.v201504302020\bin

UiAutomator编译和测试的过程:

1、创建bulid文件

android create uitext -project -n <jars> -t 1 -p <workspace path>

-t参数是在cmd中使用android list targets 命令查看所使用的api序号

2、修改bulid文件

进入工作空间打开bulid.xml文件,将第二行的help修改为build

3、开始编译

ant -bulidfile <build.xml 文件路径>

4、push文件

adb push <path_to_output _jar> /data/local/tmp/

5、运行测试

adb shell uiautomator runtest <jars> -c <包名><类名> [text_name]

运行命令说明

命令:adb shell uiautomator runtest <JARS> -c <CLASSES>  [eptions]

1、<JARS> 指定运行的jar包文件名,位于路径 /data/local/tmp/目录下

2、<CLASSES> 指定运行哪个类,或者哪个类中的哪个方法。可以指定多个方法,按一定顺序执行。

3、[eptions]   --nohup 指定此参数,可以断开pc进行运行测试用例

-e <NAME> <VALUE>  传入一个键值对到测试程序中,可用于一些需要变化的参数的传入 


写一个小的示例:


package com.jky;

import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;


public class Text extends UiAutomatorTestCase {

	public void testDome(){
		UiDevice.getInstance().pressHome();
	}

}

第一步:

android create uitest-project -n dome -t 15 -p d:\*\demo1

刷新eclipse工作区间可以看见三个文件


第二步:

打开build文件 第二行help改成build

<?xml version="1.0" encoding="UTF-8"?>
<project name="demo" default="build">

    <!-- The local.properties file is created and updated by the 'android' tool.

第三步:

ant -buildfile build.xml

生成了.jar文件

第四步 

adb push D:\uiautoanimatior\demo1\bin\demo.jar /data/local/tmp/

返回文件大小成功

第五步

adb shell uiautomator runtest demo.jar -c com.jky.Text 


如果出现错误:

INSTRUMENTATION_STATUS: stream=
Test results for WatcherResultPrinter=
Time: 0.01


OK (0 tests)


INSTRUMENTATION_STATUS_CODE: -1

这是一个非常非常非常坑爹的设定,这个是没有测试用例,怎么做内

你的类里面必须有test开头的方法名,也就是你所有的测试方法必须以test开头,本例子总就是用testDemo方法,很坑爹吧。找了我好久,尼玛。。。

初探UiAutomator(二)

本系类是我学习极客学院的测试类的学习笔记。 这次学习了UiDevice对象。 1、uidevice 获得实例的方法 UiDevice.getInstance(); getUiDevice(...
  • pha_kuwan
  • pha_kuwan
  • 2015年11月20日 14:51
  • 589

初探UiAutomator(四)

本系类是我学习极客学院的测试类的学习笔记。 这次学习了UiCollection、UiScrollable和UiWatcher UiCollection 根据条件来获取对象,然后通过筛选得到自己需要的处...
  • pha_kuwan
  • pha_kuwan
  • 2015年11月25日 09:16
  • 274

初探UiAutomator(三)

本系类是我学习极客学院的测试类的学习笔记。 这次学习UiObject对象。 一定要注意,工程一定要使用utf-8编码格式编码,否则会中文会找不到。 1、点击和长按 2、拖拽和滑...
  • pha_kuwan
  • pha_kuwan
  • 2015年11月21日 10:48
  • 535

uiautomator中踩过的坑

String szItem = m_softwareItems.get(nIndex); UiObject item = softwareItems.getChildByText(n...
  • yongshi6
  • yongshi6
  • 2016年06月20日 09:29
  • 1384

UIAutomator中滚动ListView获得目标TextView控件对象的经验点滴

当创建一个UiScrollable对象时,如果指定的参数是new UiSelector().scrollable(true),那么会出现以下问题 当可滚动控件(比如ListView)不满一页不需要...
  • zhubaitian
  • zhubaitian
  • 2014年09月24日 00:26
  • 5323

android UiAutomator如何把log、截图和测试报告放在一起

本人在使用android UiAutomator做测试的时候,在断言之前都会截图留证,方便以后查找。随着执行的次数增多,截图也越来越多,log文件也变成了上万行,如果找起来非常不方便。故而想了一个把每...
  • Fhaohaizi
  • Fhaohaizi
  • 2017年07月18日 19:10
  • 916

使用uiautomator做UI测试

转自:http://blog.chengyunfeng.com/?p=504 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautomat...
  • Sasoritattoo
  • Sasoritattoo
  • 2013年12月26日 11:45
  • 19694

android自动化测试Uiautomator API分析之一

在测试中,可以对应设备(UiDevice)进行很多操作, 可以检测设备的各种属性,例如当前的屏幕方向以及屏幕尺寸; 同时还可以通过UiDevice实例来执行设备级别的操作,例如 把设备设置为横屏或者...
  • u012439416
  • u012439416
  • 2017年04月15日 13:04
  • 470

uiautomator2.0+脱离PC运行(apk启动uiautomator2.0+)的实现方案

uiautomator2.0+脱离PC运行(apk启动uiautomator2.0+)效果:打开MyTest.apk,点击run uiautomator,就能直接运行你的脚本。方案概述: 新建一个An...
  • cxq234843654
  • cxq234843654
  • 2016年09月21日 10:43
  • 12834

UiAutomator进行中文点击 输出中文

1.建立工程如下:   2.设置java文件的编码方式:   3.设置编码方式:   4.测试程序代码: 5.设置dos窗口的编码方式,支持中文输出。 1.修改dos窗口,chcp 6...
  • g19920917
  • g19920917
  • 2014年11月24日 13:55
  • 4422
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初探UiAutomator(一)
举报原因:
原因补充:

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