我们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