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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介:
在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



  • am.zip (1008 Bytes)
  • 下载次数: 34
相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
3月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
1月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
115 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
1月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
180 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
2月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
275 2
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
|
2月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
377 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
1月前
|
数据采集 人工智能 自然语言处理
Playwright MCP 浏览器自动化框架全面解析
Playwright MCP是微软推出的开源项目,结合Playwright与MCP协议,让AI通过结构化数据直接操作浏览器。告别传统视觉识别,实现高效、精准的网页自动化,广泛应用于测试、爬虫、办公自动化等场景,大幅提升效率与可靠性。
|
2月前
|
安全 Linux 网络安全
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
545 0
|
2月前
|
缓存 安全 Linux
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
170 0
|
4月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
5月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
191 3
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架

热门文章

最新文章