export PATH=$PATH:$ANDROID_HOME/platform-tools/
#导入环境变量./gradlew clean assembleRelease buildOfficial
#!/bin/bash #用这个命令解释器time=10
#变量i=5;timer=6999 #这个构建最大运行时间:msusecaseFilename2=testcasepre
#运行测试用例前的准备工作(用例)usecaseFilename="testcaseMedicalRecord"
#运行的测试用例devicenamelast=deleteXls=true app=~/.jenkins/workspace/Medclips_AutoVersion_Release/app/build/channels/medchart_for_android_001.apk
#要测试的软件testApp=~/.jenkins/workspace/Medclips_AutoTest_Release/build/channels/medclips_android_001_zipalign.apk
#测试软件if[ -f true.txt ];then
#如果true.tex存在,则删除这个文件rm true.txtfiecho
$EXECUTOR_NUMBER #打印EXECUTOR_NUMBER#没有设备时,重启server;BUILD_NUMBER是16的倍数时,重启server、手机设备sleep100#等待100ms./restart-server.sh
$time $i
#执行这个脚本 if[ $[$BUILD_NUMBER%10] -eq0] ;then
#如果构建号BUILD_NUMBER可以整除10,则执行./restart-server-devices.sh文件./restart-server-devices.sh
$time $i
$ANDROID_HOME $app
$testAppfij=5device_list=$(adb devices)
#device_list=现在连接电脑的测试设备devicename=$(echo
$device_list | cut -d' '-f$j)
#获得device_name# cut -d'分隔字符' -f fields <==用于有特定分隔字符-f:依据-d的分隔字符将一段信息分割成为数段,用-f取出第几段的意思;devicestatus=$(echo
$device_list | cut -d' '-f$[$j+1])
#获得devicestatuswhile["$devicename"!=""]
#当设备名不为空并且设备状态不为下线时doif["$devicestatus"!="offline"];then{adb
-s $devicename push
$WORKSPACE/testdata/ /mnt/sdcard/ #将$WORKSPACE/testdata/拷贝到手机/mnt/sdcard/上devicenamelast=$devicename;
#定义devicenamelastadb-s
$devicenamelastshell am instrument -e class com.xsltest.framework.MedSuite-e xmlname
$usecaseFilename2-w com.xsltest.framework/com.xsltest.framework.MyTestRunner
#在手机上运行usecaseFilename2.xml文件中的用例adb-s
$devicenamelastshell am instrument -e class com.xsltest.testcase.testother.deleteCase-w com.xsltest.framework/com.xsltest.framework.MyTestRunner#在手机上运行deleteCase用例}&fij=$[$j+2]devicename=$(echo
$device_list | cut -d' '-f$j)
#如果有多个设备,获取下面的设备名devicestatus=$(echo
$device_list | cut -d' '-f$[$j+1])donewaitwhile[ !
-f $app ];do
#如果-f $app是常规文件则为真{sleep10}done#安装测试版本、被测版本,执行用例chmod 777 run-usecases.sh
#修改run-usecases.sh的执行权限{./run-usecases.sh
$time $i $WORKSPACE
$usecaseFilename $app
$testApp $deleteXls#运行这个run-usecases.sh文件}&#判断usecase是否运行成功,成功后获取结果;或者超时后结束运行,并获取结果chmod777usecase-results.sh{./usecase-results.sh
$time $i
$WORKSPACE $timer
#运行这个run-usecases.sh文件}&wait
作者:海的那一边
链接:http://www.jianshu.com/p/103f453e1b3e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。