zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

[android]am自动化测试框架(原创)

2023-09-14 08:56:50 时间
在linux环境该目录下需要一个AndroidManifest.xml文件 

需要一个python脚本就可以完成,功能点,打开某个package的所有activity并截图保存
import os

import logging

file = open("AndroidManifest.xml")

_adb_startActivity="adb shell am start -n "

packageName=""


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=""

 8 def _create_cmd(cmd, param1,param2 ):

 9 res=""

 10 res=res+cmd+param1+"/"+param2

 11 print res

 12 return res

 14 def _pictrue(cmd, param1):

 15 res=""

 16 res=res+cmd+param1+".png"

 17 print res

 18 return res

 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


推荐一款新的自动化测试框架:DrissionPage! 今天给大家推荐一款基于Python的网页自动化工具:DrissionPage。这款工具既能控制浏览器,也能收发数据包,甚至能把两者合而为一,简单来说:集合了WEB浏览器自动化的便利性和 requests 的高效率。
XiaoZaiMultiAutoAiDevices-多进程多设备自动化测试框架 一款集Airtest+unittest+unittestreport+tidevice等于一体的多进程多设备自动化框架,兼容IOS、Android设备,兼容接入poco SDK的ios,android,unity,UE4,Cocos-lua,Cocos-C++,Cocos-js。