博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[android]am自动化测试框架(原创)
阅读量:6502 次
发布时间:2019-06-24

本文共 2380 字,大约阅读时间需要 7 分钟。

在linux环境该目录下需要一个AndroidManifest.xml文件 


需要一个python脚本就可以完成,功能点,打开某个package的所有activity并截图保存
import osimport loggingfile = 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 resdef _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.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.888") 34 cmd = _pictrue("convert -depth 8 -size 320x480 RGB:fb0.888 ",activityName) 35 assert os.system(cmd) == 0
  •  (1008 Bytes)
  • 下载次数: 34

转载地址:http://cyxyo.baihongyu.com/

你可能感兴趣的文章
在k8s集群部署jenkins
查看>>
Java 8 新特性之新的时间日期 API
查看>>
Java提高班(六)反射和动态代理(JDK Proxy和Cglib)
查看>>
做好 FIBOS 生态门户 —— FO 钱包 v2.0.0 新版上线
查看>>
Spring、Spring Boot和TestNG测试指南 - 集成测试中用Docker创建数据库
查看>>
NodeJS 使用 Range 请求实现下载功能
查看>>
一个简单的例子教会您使用javap
查看>>
5分钟深入了解js变量提升
查看>>
【ES6入门12】:Promise
查看>>
Java动态性(1) - 动态编译(DynamicCompile)
查看>>
vagrant 添加带版本号的 box
查看>>
http和https有何区别
查看>>
微信小程序授权登录、解密unionId出错
查看>>
dockerfile构建flask环境
查看>>
js中的prototype、__proto__、constructor
查看>>
JAVA学习之路 (一) 入门及前期准备
查看>>
自动安装脚本
查看>>
高效编写Dockerfile的几条准则
查看>>
从零写一个Java WEB框架(一)
查看>>
webpack-serve 的使用
查看>>