Uiautomator自动编译运行脚本
Uiautomator的编译运行过程需要输入好几个命令,太麻烦。
花了点时间写了个简单的bat。方便多了。id输入当前使用的SDK ID号(android list target命令可以查看到),class输入测试类的完整名称,包括包名。放到项目目录下运行即可。
@echo Now,uiautomator test start..
@pause
@echo Please enter the android sdk id:
@set /p id=
@echo Please enter the full name of the class:
@set /p class=
@rem 获取当前目录名
@for %%i in ("%cd%") do set dir=%%~ni
@rem 调用生成测试项目命令,使用到当前目录名(项目名与当前目录名一致),及当前绝对路径。
@call android create uitest-project -n %dir% -t %id% -p %~dp0
@rem 调用编译命令
@call ant build
@rem 将测试jar包推送到安卓系统中,使用到当前目录名(之前生成的jar包名与当前目录名一致)。
@call adb push bin/%dir%.jar data/local/tmp
@rem 运行测试代码,使用到当前目录名(即jar包名)。
@call adb shell uiautomator runtest %dir%.jar -c %class%
@echo Test finish.
@pause
写bat中遇到的问题:
1.隐藏命令显示:每一行前加@,或者直接第一行echo off
2.运行第一条命令后不继续运行。调用的命令前均加上关键字:call
3.参数的调用:set关键字设置参数后,使用%参数%方式调用
4.获取当前路径:%~dp0
5.获取当前目录名:for %%i in ("%cd%") do set dir=%%~ni
6.获取输入并赋值:set /p 参数=
Uiautomator自动编译运行脚本的更多相关文章
- Gvim自动编译运行c++11的程序
gcc中对c++11的支持是默认不开启的,要想在实现对其的成功编译,需要添加参数-std=c++11: g++ -o test.exe test.cpp g++ -o test.exe test.cp ...
- Android UiAutomator 自动化测试编译运行---新手2
1.首先打开eclipse创建java项目
- GCC源码自动编译-python脚本
一.前言 目前因机器OS GCC版本太老,导致无法编译一些新版本软件,所以写了一个自动编译GCC的python脚本,操作系统是比较老的suse 10, 很多系统自动软件版本都很低,所以此脚本一般可适用 ...
- uiautomator <一> 编译运行
uiautomator testcase 一.新建Java工程 二.导入lib包 android.jar 和 uiautomator.jar ,选中点击右键Add to buildPath 三.新建测 ...
- vim颜色选择+按<F9>自动编译运行+其他基本配置(ubuntu)
(以下是ubuntu上的配置........ 但如果你是在window上的,直接用一下配置吧(懒得介绍了)=.= syntax on filetype indent plugin on set rul ...
- bat文件自动编译InnoSetup脚本
今天想制作一个bat文件,打包多个innosetup脚本,参考链接:http://www.cnblogs.com/joean/p/4870428.html 流程: 新建文本文档,将.txt改为.bat ...
- bat 自动编译运行
@echo off g++ %1 -Wall -Wextra --std=c++98 -O3 -DNDEBUG -D_NDEBUG -D_GLIBCXX_NO_ASSERT ^ -U_STLP_DEB ...
- InnoSetup 以命令行自动编译打包
本章介绍,在新建Innosetup的编译脚本iss文件后,在不运行Innosetup软件的基础上,以bat自动编译运行打包. 一.添加Innosetup软件包 下载InnoSetup软件包并解压到bu ...
- linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本
红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版 ...
随机推荐
- Linq学习总结1--参考Linq技术详解
2个要点: 1.linq操作的集合必须实现IEnumerable接口,所以在这3.0之前为实现该接口的集合需通过Cast或TypeOf方法转换成可Linq的集合; 2.查询式和Lame那啥表达式都可以 ...
- 进程间通信IPC:消息队列,信号量,共享内存
2015.3.4星期三 阴天 进程间通信:IPC 文件对象:记录文件描述符,文件开关等 IPC标示符:系统全局的流水号两个进程要通信,打开的是唯一的对象进行通讯,通过key操作 XSI IPC:消息队 ...
- system_call的处理过程
一. 跟踪time系统调用 使用gdb调试跟踪系统调用内核函数sys_time 过程如下: 对sys_time设置断点之后,在menuOS中执行time命令,发现系统停在systime处,输入S单步执 ...
- OD调试2
通过视频学习,实现了一下简单的traceme爆破.这不是把它的序列号破译出来,只是识别了自己的号码,不算真正的爆破.(与期望有点差异) 先来看一下这款软件的逻辑结构. 先输入用户名 以及序列号 然后 ...
- JavaScript中__proto__与prototype的关系
一.所有构造器/函数的__proto__都指向Function.prototype,它是一个空函数(Empty function) 1 2 3 4 5 6 7 8 9 Number.__proto__ ...
- 黑马程序员:Java编程_面向对象
=========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== 面向对象和面向过程都是一种思想,面向过程强调的是功能行为,面向对象是将功能封装进 ...
- 传智播客JavaWeb day06-jstl
一.jsp标签(sun公司提供的) 二.EL表达式 三.jstl (javaserver pages standard tag library) 1.为什么要有jstl jsp标签太弱,el表达式功能 ...
- M3: 将页面元素制作为图片
本小节将介绍如何将页面元素保存为图片,在前一小节中,我们加入了名称为gridMsg的Grid Control,现在我们将使用RenderTargetBitmap把gridMsg这个页面元素保存为一张图 ...
- C语言数组初始化
例如: int a[15] = {0}; 第一种,编译器会把第一个初始化值赋给数组的第一个元素,然后用0赋给其余的元素.如果没有给出初始值,编译器不会去做初始化工作.这样简洁的方式让代码更加高效. 还 ...
- day13_API第三天
1.StringBuffer类(掌握) 1.概念 字符串缓冲区类 2.机制 StringBuffer采用的是缓冲区机制. 一开始,首先开辟一些空间,然后,随着数据的增多,还可以继续 ...