一、运行命令介绍:

#Test.java

package com.uiautomatortest;

import android.os.Bundle;
import android.os.RemoteException; import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testHome(){ UiDevice.getInstance().pressHome();
sleep(2000);
} public void testMenu(){ UiDevice.getInstance().pressMenu();
sleep(2000);
} public void testRecent() throws RemoteException{ UiDevice.getInstance().pressRecentApps();
sleep(2000);
} public void testDemo(){ UiDevice.getInstance().pressHome();
sleep(2000);
Bundle bundle=getParams();
String phone=bundle.getString("phone");
System.out.println("PHONE="+phone);
} }

Test.java

例1:运行某个测试类(运行该类下所有测试用例):

  adb shell uiautomator runtest demo.jar -c com.uiautomatortest.Test
例2:运行某个测试类下的某个测试用例:

  adb shell uiautomator runtest demo.jar -c com.uiautomatortest.Test#testHome

例3:同时运行多个测试用例:

  adb shell uiautomator runtest demo.jar -c com.uiautomatortest.Test#testHome -c com.uiautomatortest.Test#testRecent

例4:使用-e参数传入一个键值对到测试程序中:

  adb shell uiautomator runtest demo.jar -c com.uiautomatortest.Test#testDemo -e phone 12345678

二、快速调试:

  原来存在的问题:

  1)无法在eclipse直接调试

  2)使用命调试繁琐效率低

  解决办法:

    将调试步骤转换成脚本,调试步骤共5步:

    

    那么获取快速编译脚本的方法如下:

    1)单击eclipse中open Perspective按钮,选择Git Repository Exploring,单击OK:

    

    2)点击Clone a Git repository,在弹出的窗口中URI处输入https://github.com/fan297/UiAutomatorHelper.git,一路next,直至finish

    

    3)导入工程,一路next直至Finish:

    

    

    4)多出一个工程UiAutomatorDebug,将工程里面的UiAutomatorHelper.java拷贝到相应的工程下面

    

    5)在要运行的工程类中添加如下的代码
    

#将此段代码添加到Test.java的Test类的最后面

public static void main(String[] args){

    String jarName, testClass, testName, androidId;
jarName="DemoTest";
testClass="com.uiautomatortest.Test";
testName="testDemo";
androidId="1";
new UiAutomatorHelper(jarName, testClass, testName, androidId); }

Test.java

    6)在eclipse中选择run as Java Application,观察模拟器的变化。

    

Android无线测试之—UiAutmator运行命令介绍与快速调试的更多相关文章

  1. Android无线测试之—UiAutomator UiScrollable API介绍三

    获取列表子元素 一.相关API介绍 返回值 API 描述 UiObject getChildByDescription(UiSelector childPattern, String text, bo ...

  2. Android无线测试之—UiAutomator UiCollection API介绍

    UiCollection类介绍 一.UiCollection类说明 1)UiCollection类是UiObject类的子类,即UiObject类的所有方法都被UiCollection继承下来了,都可 ...

  3. Android无线测试之—UiAutomator UiObject API介绍六

    手势操作 1.手势相关操作 2.相关API介绍 返回值 API 描述 boolean performMultiPointerGesture(PointerCoords[]... touches) 执行 ...

  4. Android无线测试之—UiAutomator UiSelector API介绍之四

    四种匹配关系介绍 一.四种匹配关系介绍: 二.举例: 匹配字符串   0123456789 1.完全匹配: 0123456789 2.包含匹配: 45678.456.678 3.正则匹配: \d{10 ...

  5. Android无线测试之—UiAutomator UiSelector API介绍之一

    一. UiSelector类介绍: 1) UiSelector类说明: UiSelector代表一种搜索条件,可以在当前界面上查询和获取特定元素的句柄,当找到多余一个的匹配元素,则返回布局层次结构上第 ...

  6. Android无线测试之—UiAutomator UiDevice API介绍八

    获取包名.开启通知栏.快速设置.获取布局文件的方法 一.包名.通知栏.快速设置.布局文件等相关知识: 1)包名:标示应用的符号,每个应用的名字 2)通知栏:从主界面的顶端向下拉,就可以打开通知栏 3) ...

  7. Android无线测试之—UiAutomator UiDevice API介绍四

    拖拽与滑动 一.概念介绍: 1)拖拽:将组建从一个坐标移动到另一个坐标 2)移动:从一二坐标点移动到另一个坐标点 3)步长:从一点滑动到另一点使用的时间 二.拖拽与滑动的相关API: 返回值 方法名 ...

  8. Android无线测试之—UiAutomator UiDevice API介绍一

    UiDevice 类介绍 1.UiDevice 代表设备状态 2.UiDevice 为单例模式 获取UiDevice实例的方式: 1) UiDevice.getInstance() 2) getUiD ...

  9. Android无线测试之—UiAutomator UiWatcher API介绍一

    UiWatcher类介绍与中断监听检查条件 一.UiWatcher类说明 1.Uiwatcher用于处理脚本执行过程中遇到非预想的步骤 2.UiWatcher使用场景 1)测试过程中来了一个电话 2) ...

随机推荐

  1. @CrossOrigin 跨域注解

    在spring 4.2后,提供了跨域注解@CrossOrigin https://spring.io/guides/gs/rest-service-cors/ Enabling CORS Contro ...

  2. [Functional Programming Monad] Map And Evaluate State With A Stateful Monad

    We explore our first stateful transaction, by devising a means to echo our state value into the resu ...

  3. HTML 中图片的隐藏与显示

    <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Co ...

  4. js apply和call区别

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  5. libevent2源码分析之三:信号的初始化流程

    libevent2对信号的响应也进行了封装,使之与socket操作一样对外提供统一的接口.这里的信号一般指linux的信号.由于信号与socket相关的编程接口有较大的不同,因此在内部实现也有一些区别 ...

  6. iOS编程 手动忽略clang编译器警告

    在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak.循环引用.不能运行之类的警告. 有代码洁癖的孩子们非常想消除他们, 今天就让我们来一次Fuck 警告.! 首先学会主要的语句 #pra ...

  7. 【Python3 爬虫】04_urllib.request.urlretrieve

    urllib模块提供的urlretrieve()函数,urlretrieve()方法直接将远程的数据下载到本地 urllib语法 参数url:传入的网址,网址必须得是个字符串 参数filename:指 ...

  8. MATLAB 的数据类型

    在MATLAB中有15种基本的数据类型: 8种整型数据类型.单精度浮点型(float).双精度浮点型(double).逻辑型(logical).字符串型(char).单元数组型(cell).结构体类型 ...

  9. Mac 常用命令介绍

    1.查看所有shell cat /etc/shells 2.查看当前使用的shell类型 $ echo $SHELL 3.

  10. [转载]linux下svn命令使用大全

    原文地址:http://blog.chinaunix.net/uid-22150747-id-189264.html 最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个li ...