婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 實(shí)現(xiàn)android自動化測試部署與運(yùn)行Shell腳本分享

實(shí)現(xiàn)android自動化測試部署與運(yùn)行Shell腳本分享

熱門標(biāo)簽:安裝外呼系統(tǒng)費(fèi)用 電銷機(jī)器人 劍魚 申請公司400電話要注意什么 奧維互動地圖標(biāo)注參數(shù) 聯(lián)通電話機(jī)器人怎么接 寧波智能外呼系統(tǒng)公司 地圖標(biāo)注輻射圖案 衛(wèi)星地圖標(biāo)注地名 曲阜400電話辦理

我的配置是linux 64, android4.2.2的sdk。 實(shí)現(xiàn)的細(xì)節(jié)都在代碼注釋里了,變量名以及echo的內(nèi)容也是說明的一部分。

主流程為:

1.檢測是否指定端口的模擬器已經(jīng)運(yùn)行,若有則關(guān)閉
2.創(chuàng)建模擬器
3.啟動模擬器
4.用ant build包,通過檢查bin目錄下有沒有apk來確定是否成功
5.檢查指定端口的模擬器是否已正常運(yùn)行
6.用adb安裝apk
7.啟動apk的activity,讓程序自己跑
8.用shell ps循環(huán)檢測程序是否已退出,若已退出,檢查是否sdcard是是否已成功生成報告文件
9.若報告文件不完整,即程序被中止/崩潰,重啟activity
10.檢測是否超時

復(fù)制代碼 代碼如下:

#!/bin/bash
# by hursing 2013-10-28
# 指定port,可以不干擾其它正在運(yùn)行的模擬器。根據(jù)sdk文檔,port可以在5554至5584之間,最好是偶數(shù)
portNumber=5578
emulatorPID=`ps -ef | grep "emulator" | grep "port $portNumber" | awk '{print $2;}'`
if [ -n "$emulatorPID" ]; then
 echo "close emulator window"
 kill -9 $emulatorPID
fi

# 創(chuàng)建模擬器,force選項(xiàng)能覆蓋已存在的模擬器,即sdcard內(nèi)容也抹掉。echo no是回答不需要自定義硬件配置
echo "create avd"
emulatorName="Test"
echo no | android create avd --name $emulatorName --force --target android-17 --sdcard 300M --abi armeabi-v7a

# 啟動模擬器,port選項(xiàng)指定tcp端口。是另起進(jìn)程執(zhí)行
echo "start avd"
emulator -avd $emulatorName -port $portNumber

# 沒有證書簽名,所以是debug
echo "build apk"
android update project -p .
ant debug
if [ $? -ne 0 ]; then
 echo "build failed, try again now..."
 ant clean
 ant debug
 if [ $? -ne 0 ]; then
  echo "can NOT build apk!"
  exit 5
 fi
fi
apkFile=`find ./bin/*.apk | grep -v "unaligned"`
if [ -z "$apkFile" ]; then
 echo "no apk file generated!"
 exit 7
fi

# wait-for-device能block住腳本直到不顯示offline
echo "check emulator ready..."
emulatorSerialNumber="emulator-$portNumber"
ready=`adb devices | grep "$emulatorSerialNumber"`
if [ -z "$ready" ]; then
 echo "emulator can NOT launch."
 exit 3
else
 ready=`adb devices | grep "$emulatorSerialNumber.*offline"`
 if [ -n "$ready" ]; then
  echo "wait-for-device"
  adb -s $emulatorSerialNumber wait-for-device
  sleep 10
 fi
fi

# 當(dāng)adb可以安裝時,模擬器未必已經(jīng)初始化完成,還是會失敗的,所以要檢測error,試3遍。
echo "install apk"
let maxTryTimes=3
while [ $maxTryTimes -gt 0 ]; do
 result=`adb -s $emulatorSerialNumber install $apkFile`  # 'ant installd' can NOT specify device
 check=`echo "$result" | grep -o "Error"`
 if [ -z "$check" ]; then
  echo "successfully install apk"
  break;
 else
  echo "$result"
  echo "install failed, try again after sleeping 10 seconds"
  sleep 10
  let maxTryTimes-=1
 fi
done
if [ $maxTryTimes -eq 0 ]; then
 echo "can NOT install apk to emulator."
 exit 4
fi

echo "start MainActivity"
activityName="com.hursing.MainActivity"
packageName=`cat AndroidManifest.xml | grep -o "package=\".*\"" | sed 's/package="http://;s/"http://'`
adb -s $emulatorSerialNumber shell am start -W -n "$packageName/$activityName"

heartBeat=10
echo "waiting for test finished.check every $heartBeat seconds."
resultFile="/sdcard/result.txt"
successFlag="End at "
sleep $heartBeat
let maxTimeLimit=60*10
while [ $maxTimeLimit -gt 0 ]; do
 running=`adb -s $emulatorSerialNumber shell ps | grep $packageName`
 if [ -n "$running" ]; then
  let maxTimeLimit-=$heartBeat
  echo "waiting, sleep another $heartBeat seconds..."
  sleep $heartBeat
 else
  report=`adb -s $emulatorSerialNumber shell cat "$resultFile"`
  check=`echo "$report" | grep -o "$successFlag"`
  if [ -z "$check" ]; then
   echo "app crash, run activity again..."
   adb -s $emulatorSerialNumber shell am start -W -n "$packageName/$activityName"
  else
   echo "app exit normally"
   break
  fi
 fi
done

echo "close emulator window."
kill -9 `ps -ef | grep "emulator" | grep "port $portNumber" | awk '{print $2;}'`

if [ $maxTimeLimit -eq 0 ]; then
 echo "Test timeout!"
 echo "$report"
 exit 9
else
 echo "Test Finished!"
 echo
 echo "$report"
fi

java代碼里有一點(diǎn)要注意,如果程序崩潰,彈出了"has stopped”對話框,那么ps還是能查到的,要自己調(diào)用

復(fù)制代碼 代碼如下:

Thread.setDefaultUncaughtExceptionHandler

,在handler里直接System.exit(0)才行。

您可能感興趣的文章:
  • Android App開發(fā)的自動化測試框架UI Automator使用教程
  • 實(shí)現(xiàn)android應(yīng)用程序自動化測試的批處理腳本
  • Android 自動化測試經(jīng)驗(yàn)分享 深入UiScrollable
  • android monkey自動化測試改為java調(diào)用monkeyrunner Api
  • Android實(shí)現(xiàn)彈窗進(jìn)度條效果
  • Android開發(fā)實(shí)現(xiàn)仿京東商品搜索選項(xiàng)卡彈窗功能
  • Android自動化測試處理各種彈窗的操作方法

標(biāo)簽:大興安嶺 仙桃 安康 江西 大慶 遵義 三門峽 上饒

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《實(shí)現(xiàn)android自動化測試部署與運(yùn)行Shell腳本分享》,本文關(guān)鍵詞  實(shí)現(xiàn),android,自動化,測試,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《實(shí)現(xiàn)android自動化測試部署與運(yùn)行Shell腳本分享》相關(guān)的同類信息!
  • 本頁收集關(guān)于實(shí)現(xiàn)android自動化測試部署與運(yùn)行Shell腳本分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产丝袜欧美中文另类| 国产精品久久久久久久蜜臀| 91视频.com| 欧美疯狂做受xxxx富婆| 精品国产乱子伦一区| 国产精品传媒在线| 精品一区二区精品| 色综合中文综合网| 精品国产污污免费网站入口| 中文字幕一区二区视频| 久久电影网站中文字幕| 在线观看亚洲一区| 日本不卡一二三区黄网| 色综合天天狠狠| 国产精品美女久久久久久久久 | 欧美xxxxx牲另类人与| 中文无字幕一区二区三区| 日本亚洲视频在线| 日本高清无吗v一区| 色偷偷久久一区二区三区| 中文字幕av一区二区三区高 | 一区二区成人在线观看| 国产精品自拍三区| 欧美精品久久久久久久久老牛影院| 1000部国产精品成人观看| 国产精品一区2区| 亚洲精品成人a在线观看| jlzzjlzz欧美大全| 成人免费一区二区三区视频| 白白色 亚洲乱淫| 国产精品网友自拍| av一区二区三区| 一区免费观看视频| 精彩视频一区二区三区| 日韩午夜三级在线| 一区二区三区精品| 欧美视频在线一区| 日韩av一级片| 色94色欧美sute亚洲线路一久| 97精品国产露脸对白| 精品国产青草久久久久福利| 91在线porny国产在线看| 中文字幕在线不卡视频| 97se狠狠狠综合亚洲狠狠| 亚洲免费资源在线播放| 国产成人综合亚洲91猫咪| 国产精品成人免费| 99re视频精品| 1区2区3区欧美| 欧美亚洲精品一区| 免费一级欧美片在线观看| 精品国精品国产尤物美女| 亚洲国产精品久久久久婷婷884 | 国产香蕉久久精品综合网| 精久久久久久久久久久| 欧美国产精品一区| 色婷婷av一区二区三区gif| 午夜欧美电影在线观看| 欧美一二区视频| 成人一区在线看| 亚洲国产欧美在线人成| 一本久道中文字幕精品亚洲嫩| 一区二区三区中文在线| 精品国产免费一区二区三区四区 | 亚洲1区2区3区视频| 日韩午夜在线观看视频| 成人中文字幕电影| 秋霞成人午夜伦在线观看| 亚洲欧美在线视频| 日韩久久久精品| 色噜噜偷拍精品综合在线| 国产尤物一区二区| 日本不卡一区二区三区高清视频| 久久只精品国产| 欧美日韩亚州综合| fc2成人免费人成在线观看播放| 午夜精品久久久久久久99樱桃 | 日韩一二三区不卡| 成人午夜av电影| 日韩无一区二区| 日本视频在线一区| 亚洲成人av福利| 欧美mv和日韩mv的网站| 亚洲午夜久久久久久久久电影院| 亚洲色图都市小说| 5月丁香婷婷综合| 欧美揉bbbbb揉bbbbb| 欧洲激情一区二区| 免费的成人av| ㊣最新国产の精品bt伙计久久| 中文字幕不卡一区| 91精品国产色综合久久| 国产麻豆精品在线观看| 国产成人在线视频免费播放| 亚洲综合一二区| 久久久噜噜噜久久人人看| 欧美经典一区二区三区| 精品视频在线免费看| 成人av电影在线播放| 成人免费黄色大片| 日韩综合小视频| 亚洲欧美偷拍卡通变态| 艳妇臀荡乳欲伦亚洲一区| 日韩一区二区在线观看视频| 成人三级伦理片| 亚洲精品免费电影| 图片区小说区区亚洲影院| 中文字幕在线不卡视频| 91福利在线播放| 337p日本欧洲亚洲大胆精品| 欧美中文字幕一区| 午夜精品一区二区三区三上悠亚| 国产一区二区电影| 日日噜噜夜夜狠狠视频欧美人 | av一区二区三区四区| 久久精品国产99国产精品| 亚洲欧洲国产专区| 国产乱码精品一区二区三| 免费美女久久99| 日韩国产欧美在线视频| 91在线视频免费观看| 国产精品一区二区三区四区| 另类小说图片综合网| 欧美亚洲综合网| 欧美性xxxxx极品少妇| 色婷婷精品久久二区二区蜜臂av| 国产精品黄色在线观看| 亚洲最新在线观看| 亚洲人成精品久久久久久| 亚洲色图色小说| 亚洲国产精品一区二区www| 国产精品久久久久久久久图文区| 久久婷婷一区二区三区| 精品成人私密视频| 精品国产伦一区二区三区观看体验| 欧美一区二区三区免费在线看| 亚洲色图都市小说| 亚洲一二三四区| 在线免费观看一区| 欧美性色aⅴ视频一区日韩精品| 在线观看视频一区二区欧美日韩| 精品久久人人做人人爱| 久久久蜜臀国产一区二区| 欧美三级日韩在线| 国产精品国产自产拍高清av王其| 国产午夜精品理论片a级大结局| 精品盗摄一区二区三区| 天堂在线一区二区| 亚洲va国产天堂va久久en| 国产欧美一区二区三区在线看蜜臀 | 国产麻豆成人精品| 精品国产123| 久久久噜噜噜久久中文字幕色伊伊| 精品一区二区三区免费| 欧美丰满美乳xxx高潮www| 337p亚洲精品色噜噜噜| 精品电影一区二区三区 | 久久久久久97三级| 综合分类小说区另类春色亚洲小说欧美| 日本伊人色综合网| 欧美mv和日韩mv的网站| 国产视频一区不卡| 亚洲精品视频在线观看免费| 精品系列免费在线观看| 日本韩国精品一区二区在线观看| 日韩欧美aaaaaa| 中文字幕精品在线不卡| 日日嗨av一区二区三区四区| 91精品在线麻豆| 一区二区三区不卡在线观看 | 国产又粗又猛又爽又黄91精品| 国产成人精品三级麻豆| 午夜精品久久久久影视| 国产aⅴ精品一区二区三区色成熟| 欧美午夜片在线看| 精品精品国产高清a毛片牛牛| 国产成人免费在线观看不卡| 色综合中文字幕国产 | 欧美中文字幕亚洲一区二区va在线| 欧美一区二区三区人| 亚洲人成7777| 国产综合色在线视频区| 色吊一区二区三区| 久久奇米777| 国产大陆精品国产| 91免费视频网| 不卡的电影网站| 国产乱码字幕精品高清av| 亚洲免费在线电影| 日韩在线观看一区二区| 亚洲一区二区三区精品在线| 久久精品亚洲国产奇米99| 亚洲人成小说网站色在线| 亚洲综合色自拍一区| 亚洲一区二区三区四区在线| 免费一区二区视频| 91蝌蚪porny| 男人的天堂亚洲一区| 99久久婷婷国产精品综合| 自拍av一区二区三区|