批处理文件:实现将写好的Android Uiautomator工程打包成jar包放到手机中执行

时间:2021-03-19 09:39:48

一、最开始的意图:将写好的Android Uiautomator工程打包成jar包放到手机中执行。

二、按照网上查到的方法(如下,感谢),一句一句的将命令敲进cmd窗口:

http://blog.chengyunfeng.com/?p=504

http://www.tuicool.com/articles/ERBRVzY

http://blog.csdn.net/robinzhou/article/details/8447058

三、每修改一次工程,都必须重新生成jar包并放到手机中。很繁琐,所以想到了将多行命令放到1个可执行文件中,就用到了批处理。

第一次尝试将所有的可以分别正确执行的命令依次地直接放到一个bat文件(DOS/Windows格式)中,得到一个all.bat(如下):

@echo off
echo 开始
cd /d D:\android-sdk\tools
android create uitest-project -n start -t 1 -p D:\android-sdk\eclipse\workspace\Cloud
cd D:\android-sdk\eclipse\workspace\Cloud
ant build
cd D:\android-sdk\eclipse\workspace\Cloud\bin
adb push start.jar /data/local/tmp/
adb shell uiautomator runtest start.jar -c com.start
cmd.exe
双击执行all.bat,现象:弹出cmd窗口,输出“开始”,停留5秒左右后,窗口关闭。最终也没有在一个bat文件中解决这个问题。

四、将这个all.bat的命令条按功能拆解为4个小bat文件如下,再由一个main.bat依次调用前面的bat文件。

main0.bat

@echo off
echo 开始
call 1begin.bat
call 2create.bat
call 3build.bat
call 4pushrun.bat
cmd.exe
1begin.bat

echo 进入D:\android-sdk\tools
d:
cd D:\android-sdk\tools

2create.bat

echo 生成build脚本
android create uitest-project -n start -t 1 -p D:\android-sdk\eclipse\workspace\Cloud

3build.bat

echo 打包JAR
cd D:\android-sdk\eclipse\workspace\Cloud
ant build
4pushrun.bat

echo push JAR包到手机并执行
cd D:\android-sdk\eclipse\workspace\Cloud\bin
adb push start.jar /data/local/tmp/
adb shell uiautomator runtest start.jar -c com.start
 

遇到的问题:因为main.bat和4个调用bat在一个文件中,就没有写绝对路径,发现执行报错如下:

批处理文件:实现将写好的Android Uiautomator工程打包成jar包放到手机中执行

注意:即使是主bat文件和被调用的bat文件在一个根目录下,也要写全路径,修改如下

main.bat

@echo off
echo 开始
call E:\C技术执行\08.自动化\onlyone\1begin.bat
call E:\C技术执行\08.自动化\onlyone\2create.bat
call E:\C技术执行\08.自动化\onlyone\3build.bat
call E:\C技术执行\08.自动化\onlyone\4pushrun.bat
cmd.exe

成功。