uiautomator打包jar后如何给测试员提供可视化界面自行选择执行用例

时间:2022-06-27 15:11:31

我们uiautomator写完所有用例,打包好jar包,要提供给测试员或者客户使用,至少要做个简便操作界面框,不可能让测试人员重新敲代码,这里我采用.bat的方法,双击就可以运行,测试员就可以根据提示选择要执行的测试用例,这就需要到shell语言了。

效果大概如下(因为公司网络做了限制,不能截图上传,就是cmd类):


欢迎使用自动化压力测试用例,脚本由宽带终端测试科自动化团队制作

D:\PublicPressureTsetCase>color 0b
请按照界面相关提示语进行操作执行压力测试用例

D:\PublicPressureTsetCase>pause
请按任意键继续. . .
*********************************************************************
确认手机是否连接正确,电脑是否识别到正确端口                *********
*********************************************************************
**1.连续打开、关闭NFC功能;                 界面请输入“1 ”,且回车**
**2.连续打开、关闭WiFi开关;                界面请输入“2 ”,且回车**
**3.连续新建和保存彩信、多次删除彩信;      界面请输入“3 ”,且回车**
**4.收发满容量图片、音频、视频彩信;        界面请输入“4 ”,且回车**
**5.连续新建和编辑、保存短信、多次删除短信;界面请输入“5 ”,且回车**
**6.连续发送短信、发送超长短信;            界面请输入“6 ”,且回车**
**7.连续打开、关闭飞行模式;                界面请输入“7 ”,且回车**
**8.多次打开关闭数据业务开关;              界面请输入“8 ”,且回车**
**9.录音多个文件;                          界面请输入“9 ”,且回车**
**10.连续新建和删除闹钟;                   界面请输入“10”,且回车**
*********************************************************************
要执行哪条用例,请输入对应的数字,并按回车键                *********
*********************************************************************
:ks
等待终端连接电脑,若连接失败请检查端口

D:\PublicPressureTsetCase>adb wait-for-device

D:\PublicPressureTsetCase>adb push D:\PublicPressureTsetCase\testui.jar /data/lo
781 KB/s (11209 bytes in 0.014s)

D:\PublicPressureTsetCase>ping 127.1 /n 2  1>nul
连接成功

D:\PublicPressureTsetCase>set /p choice=请输入要执行用例序号:
请输入要执行用例序号:


shell语言编写方法如下:

@echo 欢迎使用自动化压力测试用例,脚本由邓盛誉和自动化团队制作

color 0b

@echo 请按照界面相关提示语进行操作执行压力测试用例
pause

@echo *********************************************************************
@echo 确认手机是否连接正确,电脑是否识别到正确端口                *********
@echo *********************************************************************
@echo **1.连续打开、关闭NFC功能;                 界面请输入“1 ”,且回车**
@echo **2.连续打开、关闭WiFi开关;                界面请输入“2 ”,且回车**
@echo **3.连续新建和保存彩信、多次删除彩信;      界面请输入“3 ”,且回车**
@echo **4.收发满容量图片、音频、视频彩信;        界面请输入“4 ”,且回车**
@echo **5.连续新建和编辑、保存短信、多次删除短信;界面请输入“5 ”,且回车**
@echo **6.连续发送短信、发送超长短信;            界面请输入“6 ”,且回车**
@echo **7.连续打开、关闭飞行模式;                界面请输入“7 ”,且回车**
@echo **8.多次打开关闭数据业务开关;              界面请输入“8 ”,且回车**
@echo **9.录音多个文件;                          界面请输入“9 ”,且回车**
@echo **10.连续新建和删除闹钟;                   界面请输入“10”,且回车**
@echo *********************************************************************
@echo 要执行哪条用例,请输入对应的数字,并按回车键                *********
@echo *********************************************************************
@echo :ks

@echo 等待终端连接电脑,若连接失败请检查端口
adb wait-for-device

adb push D:\PublicPressureTsetCase\testui.jar /data/local/tmp
ping 127.1 /n 2 > nul
@echo 连接成功

set /p choice=请输入要执行用例序号:
if /i %choice%==1 goto NFCOnAndOff
if /i %choice%==2 goto WifiOnAndOff
if /i %choice%==3 goto MMSsave
if /i %choice%==4 goto MMSsend
if /i %choice%==5 goto SMSsave
if /i %choice%==6 goto SMSsend
if /i %choice%==7 goto AirplaneModeOnAndOff
if /i %choice%==8 goto PublicDataOnAndOff
if /i %choice%==9 goto NewRecord
if /i %choice%==10 goto NewAlarmClock
if /i %choice%==11 goto DeleteAlarmClock

echo 输入无效请重新输入.搜索

rem 确认用户选择的用例,自动执行对应的脚本

:NFCOnAndOff
rem NO.1 连续打开、关闭NFC功能 NFCOnAndOff 初始默认开关为关
@echo 预置条件:NFC开关执行前默认应为关闭状态,否则执行失败
@echo 操作步骤:打开、关闭NFC开关50次
@echo 预期结果:正常打开和关闭NFC开关正确
adb shell uiautomator runtest testui.jar -c PublicPressureScript.NFC.NFCOnAndOff
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/NFCOnAndOff/
pause
goto End

:WifiOnAndOff
rem NO.2 连续打开、关闭WiFi开关 WifiOnAndOff
@echo 预置条件:WiFi开关执行前默认应为关闭状态,否则执行失败
@echo 操作步骤:打开、关闭WiFi开关50次
@echo 预期结果:正常打开和关闭WiFi开关正确
adb shell uiautomator runtest testui.jar -c PublicPressureScript.WIFI.WifiOnAndOff
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/WifiOnAndOff/
pause
goto End


:MMSsave
rem NO.3 连续新建和保存彩信、多次删除彩信 MMSsave
@echo 预置条件:运行前请插入能发短彩信的公网卡
@echo 操作步骤:
@echo          1.新建并保存彩信,插入图片、视频、音频,添加联系人信息50次
@echo          2.对彩信进行删除50次
@echo 预期结果:1.彩信保存成功  2.彩信删除成功
adb shell uiautomator runtest testui.jar -c PublicPressureScript.Messages.MMSsave
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/MMSsave/
pause
goto End

:MMSsend
rem NO.4 收发满容量图片、音频、视频彩信 MMSsend
@echo 预置条件:运行前请插入能发短彩信的公网卡
@echo 操作步骤:彩信添加图片、音频、视频,并发送各50次
@echo 预期结果:发送成功
adb shell uiautomator runtest testui.jar -c PublicPressureScript.Messages.MMSsend
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/MMSsend/
pause
goto End

:SMSsave
rem NO.5 连续新建和编辑、保存短信、多次删除短信 SMSsave
@echo 预置条件:运行前请插入能发短彩信的公网卡
@echo 操作步骤:新建短信、保存短信、编辑草稿、删除短信50次
@echo 预期结果:新建保存草稿成功、编辑保存草稿成功、删除成功
adb shell uiautomator runtest testui.jar -c PublicPressureScript.Messages.SMSsave
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/SMSsave/
pause
goto End

:SMSsend
rem NO.6 连续发送短信、发送超长内容短信 SMSsend
@echo 预置条件:运行前请插入能发短彩信的公网卡
@echo 操作步骤:编辑超长内容短信,并发送
@echo 预期结果:发送超长内容短信成功
adb shell uiautomator runtest testui.jar -c PublicPressureScript.Messages.SMSsend
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/SMSsend/
pause
goto End

:AirplaneModeOnAndOff
rem NO.7 连续打开、关闭飞行模式 AirplaneModeOnAndOff
@echo 预置条件:飞行模式开关执行前默认应为关闭状态,否则执行失败
@echo 操作步骤:打开、关闭飞行模式开关50次
@echo 预期结果:正常打开和关闭飞行模式开关正确:
adb shell uiautomator runtest testui.jar -c GPublicPressureScript.AirplaneMode.AirplaneModeOnAndOff
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/AirplaneModeOnAndOff/
pause
goto End

:PublicDataOnAndOff
rem NO.8 多次打开关闭数据业务开关 PublicDataOnAndOff
@echo 预置条件:
@echo          1.插入能用数据业务的公网卡;
@echo          2.数据业务开关执行前默认应为关闭状态,否则执行失败
@echo 操作步骤:打开、关闭数据业务开关50次
@echo 预期结果:正常打开和关闭数据业务开关正确:
adb shell uiautomator runtest testui.jar -c PublicPressureScript.PublicData.PublicDataOnAndOff
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/PublicDataOnAndOff/
pause
goto End

:NewRecord
rem NO.9 录音多个文件 NewRecord
@echo 操作步骤:连续录音50次
@echo 预期结果:
@echo          1.录音成功;
@echo          2.录音保存到手机文件目录中;
@echo          3.录音文件播放成功;
adb shell uiautomator runtest testui.jar -c PublicPressureScript.Record.NewRecord
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/NewRecord/
pause
goto End

:NewAlarmClock
rem NO.10 连续新建闹钟 NewAlarmClock 自动删除原先的闹钟,脚本运行最后默认添加满(12个)闹钟,添加不满算不通过,自动判断并存储结果;
@echo 预置条件:每次执行只添加12个就满了,所以50次需要运行此脚本5次
@echo 操作步骤:连续新建闹钟
@echo 预期结果:新建闹钟正确
for /l %%a in (1,1,5) do (
adb shell uiautomator runtest testui.jar -c PublicPressureScript.AlarmClock.NewAlarmClock
)
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/NewAlarmClock/
pause
goto End

:DeleteAlarmClock
rem NO.11 连续删除闹钟 DeleteAlarmClock
@echo 预置条件:需预先手动添加满12个闹钟,否则脚本无法执行
@echo 操作步骤:连续单条删除闹钟
@echo 预期结果:删除闹钟正确,界面12个闹钟被删除干净
adb shell uiautomator runtest testui.jar -c PublicPressureScript.AlarmClock.DeleteAlarmClock
@echo 实测结果:请到手机上的文件目录下查看结果/sdcard/GotaTestPresure/DeleteAlarmClock/
pause
goto End

pause