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.txt
fi
echo
$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
$testApp
fij=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])
#获得devicestatus
while[
"$devicename"!=
""]
#当设备名不为空并且设备状态不为下线时
do
if[
"$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])
done
wait
while[ ! -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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。