当前位置: 首页 > 编程日记 > 正文

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

在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+"/"+param2print resreturn resdef _pictrue(cmd, param1):res=""res=res+cmd+param1+".png"print resreturn reswhile 1:line = file.readline()if not line:breakif "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 packageNameif "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) == 0os.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 os2 from xml.dom import minidom3 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+"/"+param211     print res12         return res13 14 def _pictrue(cmd, param1):15         res=""16         res=res+cmd+param1+".png"17         print res18         return res19 20 21 22 doc  =  minidom.parse( "AndroidManifest.xml" )23 root  =  doc.documentElement24 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) == 031     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

相关文章:

Dubbo 整合 Pinpoint 做分布式服务请求跟踪

在使用Dubbo进行服务化或者整合应用后&#xff0c;假设某个服务后台日志显示有异常&#xff0c;这个服务又被多个应用调用的情况下&#xff0c;我们通常很难判断是哪个应用调用的&#xff0c;问题的起因是什么&#xff0c;因此我们需要一套分布式跟踪系统来快速定位问题&#x…

Memcached安装使用和源码调试

memcached官网&#xff1a;http://memcached.org/一.安装下载 # wget http://www.memcached.org/files/memcached-1.4.25.tar.gz解压 # tar xzvf memcached-1.4.25.tar.gz #cd memcached-1.4.25配置 #./configure --prefix/usr/local/memcached --with-libevent/usr 注意这里选…

上下或左右无缝滚动

文字或图片实现 向上 无缝滚动<div id"colee" style"overflow:hidden;height:80px;"><div id"colee1"><li><a href"/">文字或图片实现向上无缝滚动</a></li><li><a href"/"&g…

java老师拿钥匙,从Java中的NavigableMap获取第一把钥匙

要使用Java显示NavigableMap中的第一个键&#xff0c;请使用firstKey()方法。让我们首先创建NavigableMap-NavigableMap n new TreeMap();n.put("A", 498);n.put("B", 389);n.put("C", 868);n.put("D", 988);n.put("E", 68…

iphone X系列设配屏幕适配

2019独角兽企业重金招聘Python工程师标准>>> 截止目前&#xff0c;苹果所有刘海系列的设备屏幕数据如下&#xff1a; iPhone X 、iPhone XS&#xff1a; 5.8英寸&#xff0c; 375pt * 812pt(3x)&#xff0c;启动图1125px * 2436pxiPhone XR&#xff1a; 6.1英寸&…

Oracle官方教程之Fork/Join

原文链接&#xff0c;译文链接&#xff0c;译者&#xff1a;Zach&#xff0c;校对&#xff1a;郑旭东 fork/join框架是ExecutorService接口的一种具体实现&#xff0c;目的是为了帮助你更好地利用多处理器带来的好处。它是为那些能够被递归地拆解成子任务的工作类型量身设计的。…

《Java: The Complete Reference》等书读书笔记

春节期间读了下《Java: The Complete Reference》发现这本书写的深入浅出&#xff0c;我想一个问题&#xff0c;书中很多内容我们也知道&#xff0c;但是为什么我们就写不出这样一本书&#xff0c;这么全面&#xff0c;这么系统&#xff0c;这么简单易懂。不得不佩服Herbert Sc…

php upload ctf,强网杯CTF防御赛ez_upload Writeup

这是强网杯拟态防御线下赛遇到的web题目&#xff0c;本来是不打算分享Writeup的&#xff0c;但是由于问的人很多&#xff0c;于是这里分享给大家。ez_upload这题算是非常经典的堆叠black trick的题目&#xff0c;算是比较典型的ctf式题目(虽然现在大家都很抵制这样的题目)&…

Oracle 表空间扩容

2019独角兽企业重金招聘Python工程师标准>>> 1、查询当前表空间使用情况 col FILE_NAME format a50; col SPACE_NAME format a15; select b.file_name file_name,b.tablespace_name space_name, b.bytes/1024/1024 munM,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 …

PHP网站首页打不开的原因讲起

最近有个网站首页打不开&#xff0c;偶尔报504错误&#xff0c;如图所示&#xff0c;这是nginx直接返回的。今天下午16:00多又出现了&#xff0c;看了下阿里云数据库连接&#xff0c;其实在晚上2:00也出现了一次。这个图是后来问题已经解决了获取的&#xff0c;数据库连接的请求…

前端资源整理 - 订阅、工具等

取自 我的GITHUB 的 fe-store-house repo&#xff0c;欢迎 PR&#xff0c;欢迎 STAR。原 repo 不定期更新&#xff0c;此文可能断更。断更了一年多&#xff0c;重新更新一下&#xff0c;似乎 sfgg 的文章渲染中 gfm table 解析有问题。最新更新时间 2017-11-02。前端资源 中文 …

mysql和mariadb可以同时使用吗,MariaDB与MySQL在一台服务器同时运行

[rootHE3 ~]#groupaddmariadb-g 513[rootHE3 ~]#useradd -u 513-gmariadb-s /sbin/nologin -d /home/mariadbmariadb从MariaDB官网下载二进制安装包至/root目录&#xff0c;本文采用的是目前最新稳定版mariadb-10.1.16[rootHE3 ~]# tar xvf mariadb-10.1.16-linux-x86_64.tar.g…

http请求与响应

一、请求格式 二、响应格式 转载于:https://www.cnblogs.com/believepd/p/10470824.html

Linux环境安装phpredis扩展

php访问redis需要安装phpredis扩展&#xff0c;phpredis是用纯C语言写的。phpredis下载地址 https://github.com/phpredis/phpredis 最新的版本是phpredis-develop.zip&#xff0c;我们选择的上一个稳定版2.2.7# wget https://github.com/nicolasff/phpredis/archive/2.2.7.tar…

IO流(文件的读写)---本文的正确性有待您验证。

2019独角兽企业重金招聘Python工程师标准>>> JAVA的I/O介绍。<<疯狂JAVA编程>>第15章有详细介绍&#xff0c;如下&#xff1a; http://www.cnblogs.com/lijunamneg/archive/2013/03/22/2975087.html import java.io.FileNotFoundException;import java.…

创建图像 php,详解php创建图像具体步骤

php 的图像处理在验证码是最常见的&#xff0c;下面说下使用php创建图像的具体步骤。简要说明&#xff1a;PHP 并不仅限于创建 HTML 输出&#xff0c; 它也可以创建和处理包括&#xff0c;&#xff0c;&#xff0c;以及在内的多种格式的图像。 更加方便的是&#xff0c;PHP 可以…

Java语法基础-序列化

33&#xff0e; Java序列化中如果有些字段不想进行序列化&#xff0c;怎么办&#xff1f; 答&#xff1a;对于不想进行序列化的变量&#xff0c;使用transient关键字修饰。 transient关键字的作用是&#xff1a;阻止实例中那些用此关键字修饰的的变量序列化&#xff1b;当对象被…

Spring AOP与IOC

Spring AOP实现日志服务pom.xml需要的jar <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version> </dependency> <dependency><groupId>org.springfr…

matlab求解外弹道,基于MATLAB∕Simulink的通用质点外弹道程序设计.pdf

2017.01 设计与研发基于 MATLAB/Simulink 的通用质点外弹道程序设计崔 瀚(沈阳工学院兵器类虚拟仿真实验教学中心, 辽宁抚顺 ,113122 )摘要&#xff1a;本文以弹丸质点外弹道学为研究对象&#xff0c;通过分析以时间为 自变量的质点外弹道方程组&#xff0c;借助 MATLAB/Simuli…

深入Java虚拟机读书笔记[10:20]

第十章 栈和局部变量操作 第十一章 类型转换 第十二章 整数运算 第十三章 逻辑运算 第十四章 浮点运算 第十五章 对象和数组 第十六章 控制流 第十七章 异常 以上一些是操作码相关的内容&#xff0c; 第十八章 finally子句 微型子例程 字节码中的finally子句表现的很像微型子例…

docker Rails Permission denied @ dir_s_mkdir

sudo chmod 777 -R public转载于:https://www.cnblogs.com/znsongshu/p/9777543.html

图形化的Redis监控系统redis-stat安装

Redis需要监控才知道具体运行信息&#xff0c;虽然Redis也提供了info等命令行&#xff0c;但是毕竟不方便而且不能保存历史信息。 redis-stat是一个用ruby写成的监控redis的程序&#xff0c;基于info命令获取信息&#xff0c;而不是通过monitor获取信息。 关于Redis的安装参考此…

Oracle简单脚本演示样例

Oracle简单脚本演示样例 1.添加表 --改动日期&#xff1a;2014.09.21 --改动人&#xff1a;易小群 --改动内容&#xff1a;新增採购支付情况表 DECLARE VC_STR VARCHAR2(5000); VN_COUNT NUMBER; BEGIN --查看现有系统是否有BT_PRODUCT_MODEL表 SELECTCOUNT(…

matlab看fft帮助,日记 [2009年06月02日] MATLAB FFT HELP 帮助文档及我的翻译

fftFast Fourier Transform 的缩写&#xff0c; 即为快速傅氏变换&#xff0c;是离散傅氏变换的快速算法&#xff0c;它是根据离散傅氏变换的奇、偶、虚、实等特性&#xff0c;对离散傅立叶变换的算法进行改进获得的。它对傅氏变换的理论并没有新的发现&#xff0c;但是对于在…

用Kotlin在IntelliJ Idea中无法生成 spring-configuration-metadata.json 文件

为什么80%的码农都做不了架构师&#xff1f;>>> 问题描述 在百度搜索关键词,搜索到了 Stack Overflow 有相关问题 spring-configuration-metadata.json file is not generated in IntelliJ Idea for Kotlin ConfigurationProperties class 原文链接: https://stack…

Linux系统轻量级监控工具monitorix和munin安装

提到监控工具&#xff0c;大家都会想到zabbix等重量级的&#xff0c;这些好是好&#xff0c;但是需要安装数据库等等&#xff0c;如果有时候希望简单点其实可以借助一些轻量级的监控工具&#xff0c;例如monitorix和munin。需要做点前置工作开启Nginx和php-fpm的status&#xf…

MySql 查询表字段数

MySql 查询表字段数 SELECT COUNT(*) FROM information_schema.columns WHERE table_schematest_cases AND table_namecases_send ; test_cases 为数据库名称 cases_send 为表名 列出表字段名称 SHOW COLUMNS FROM cases_send

phpstudy2014 php7.0,phpstudy下载_phpStudy下载2014 官方版_php环境集成包 1.0_零度软件园...

phpStudy 1.7.0 (phpStudy V1.65 Build 080120)该程序包集成最新的ApachePHPmysqlphpMyAdminZendOptimizer&#xff0c;一次性安装&#xff0c;无须配置即可使用&#xff0c;是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境&#xff0c;还包括了开发工具、开发手册等…

AndroidApplication优化解耦

Application后处理器&#xff08;AndroidPostProcessing&#xff09;&#xff1a; 通过注解配置初始化各模块及应用所需 sdk&#xff0c;按优先级/延时时间/是否只在Debug下有效/执行线程 等条件初始化 sdk 通常&#xff0c;我们要在 Application 中处理一堆的三方 SDK 和自定义…

Git 详解

1. Git 1.1. Git是何方神圣? Git是用C语言开发的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录&#xff0c;并能回滚文件集合到另一个状态&#xff08;历史记录状态&#xff09;。另一个状 态可以是不同的文件&#xff0c;也可以是不同的文件内容。举个例子&…