一、运行命令介绍:

#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,观察模拟器的变化。

    

最新文章

  1. 一段良好的程序永远不应该发生panic异常
  2. eclipse 中过滤空包,目录树中不显示。
  3. JSON: Property 'xxx' has no getter method的解决办法
  4. PL/0编译器(java version) – SymbolTable.java
  5. sqlserver下载
  6. vue-cli + webpack 多页面实例应用
  7. 模拟系列(一)——数字电路
  8. RHEL6.4记录一次添加一块新分区的操作
  9. hive安装配置错误
  10. 手写js面向对象选项卡插件
  11. iOS_SN_基于AFNetworking3.0网络封装
  12. 虎扯:小众玩物 webkit家的滚动条
  13. python 内存NoSQL数据库
  14. Scrapy 和 scrapy-redis的区别
  15. python-shogun安装问题
  16. MT【293】拐点处切线
  17. Codeforces 848C Goodbye Souvenir [CDQ分治,二维数点]
  18. form表单 获取与赋值
  19. POJ 3017 Cut the Sequence
  20. BI 可视化

热门文章

  1. 一种让UITableView的数据从下往上增长的方式
  2. PuTTY连接Linuxserver常常断线解决方式
  3. python 对比学习
  4. BOS中定区关联客户
  5. css3的Background新属性
  6. win10下iis绑定局域网ip无效的解决方案
  7. 递归 recursive
  8. RHEL 7 安装MariaDB
  9. Atitit. atiJavaExConverter4js  新的特性
  10. DMA摘记