[android]am自動化測試框架(原創)

大搜車-自娛發表於2012-08-28
在linux環境該目錄下需要一個AndroidManifest.xml檔案

需要一個python指令碼就可以完成,功能點,開啟某個package的所有activity並截圖儲存


import os
import logging
file = open("AndroidManifest.xml")
_adb_startActivity="adb shell am start -n "
packageName=""


def _create_cmd(cmd, param1,param2 ):
res=""
res=res+cmd+param1+"/"+param2
print res
return res

def _pictrue(cmd, param1):
res=""
res=res+cmd+param1+".png"
print res
return res



while 1:
line = file.readline()
if not line:
break
if "manifest" in line and "package" in line:
arr=line.split(" ")
for i in range(len(arr)):
if "package" in arr[i]:
names=arr[i].split("\"")
packageName=names[1]
print packageName
if "activity" in line:
arr=line.split(" ")
for i in range(len(arr)):
if "android:name" in arr[i]:
names=arr[i].split("\"")
#print type(names[1])
cmd = _create_cmd(_adb_startActivity,packageName,names[1])
assert os.system(cmd) == 0
os.system("sleep 5")
os.system("adb pull /dev/graphics/fb0 fb0")
os.system("python rgb565torgb888.py <fb0 >fb0.888")
cmd = _pictrue("convert -depth 8 -size 320x480 RGB:fb0.888 ",names[1])
assert os.system(cmd) == 0
#os.system("convert -depth 8 -size 320x480 RGB:fb0.888 fb0.png")
#print names[1]



 import os
2 from xml.dom import minidom
3 file = open("AndroidManifest.xml")
4 _adb_startActivity="adb shell am start -n "
5 packageName=""
6
7
8 def _create_cmd(cmd, param1,param2 ):
9 res=""
10 res=res+cmd+param1+"/"+param2
11 print res
12 return res
13
14 def _pictrue(cmd, param1):
15 res=""
16 res=res+cmd+param1+".png"
17 print res
18 return res
19
20
21
22 doc = minidom.parse( "AndroidManifest.xml" )
23 root = doc.documentElement
24 packageName=root.getAttribute("package")
25 activities = root.getElementsByTagName( "activity" )
26 for activity in activities:
27 activityName=activity.getAttribute("android:name")
28 activity.getAttribute("android:name")
29 cmd = _create_cmd(_adb_startActivity,packageName,activityName)
30 assert os.system(cmd) == 0
31 os.system("sleep 5")
32 os.system("adb pull /dev/graphics/fb0 fb0")
33 os.system("python rgb565torgb888.py <fb0 >fb0.888")
34 cmd = _pictrue("convert -depth 8 -size 320x480 RGB:fb0.888 ",activityName)
35 assert os.system(cmd) == 0


相關文章