在打包测试的时候经常发送给测试组之后,发现已进入游戏就黑屏,这个就浪费了测试组的精力,如果要测试多款产品的话,就会因为黑屏问题做很多无用功,这是程序就需要在发给测试的时候自己先测试产品会不会黑屏。同样,数量一多,就会浪费精力。需要先安装到设备上,在点击测试,浪费时间。

这是,你就需要一款全自动的测试工具来帮你检查产品是否黑屏,用不耗精力的方式把每个包的黑屏现象找出来。这就是接下来要介绍的工具——“黑屏检测工具”。

材料

  1. 按键精灵
  2. 海马玩模拟器

原理

利用按键精灵将产品在海马玩模拟器中打开,然后在产品运行一段时间之后截屏分析图像,确认是否黑屏。

代码

from PyQt4.QtGui import QMainWindow
from PyQt4.QtCore import pyqtSignature from v.Ui_App import Ui_MainWindow import sys
import os
import QtUtil
import subprocess
from subprocess import Popen,PIPE
import ImageGrab
import Image
import random class App(QMainWindow, Ui_MainWindow):
"""
Class documentation goes here.
"""
def __init__(self, parent = None):
"""
Constructor
"""
QMainWindow.__init__(self, parent)
self.setupUi(self) #拖拽apk
self.setAcceptDrops(True)
QtUtil.setFileDragIn(self, self.test) #安装运行apk
def test(self,dragInto):
if os.path.splitext(str(dragInto))[1] == '.apk':
self.lineEdit.setText(dragInto) #安装apk
sub1 = subprocess.Popen('F:/install/Droid4X/adb.exe'+' install ' + str(dragInto))
sub1.communicate()
# os.system('Ping -n 15 127.1 > nul ')
# #打开按键精灵运行apk
sub2 = subprocess.Popen('res/hit.exe')
sub2.communicate()
#
os.system('Ping -n 20 127.1 > nul ') #
self.screenshots()
self.pixel() else:
QtUtil.showOkDialog(self, 'error', u'不是apk文件') #截屏
def screenshots(self):
bbox = (150, 60, 1280, 790)
img = ImageGrab.grab(bbox)
img.save("pixel.png")
# img.show()
# image = Image.open("pixel.png.png")
# image.getcolors()
#选择像素点
def pixel(self):
list = [] self.collect = [] img=Image.open("pixel.png")
img_array=img.load() for i in range(100):
x = random.randint(10,1120)
y = random.randint(10,720)
print x,y
list.append(img_array[x,y]) print list
for i in range(100):
if list[i] == (0,0,0):
self.collect.append(list[i]) self.end()
self.judge() #判断是否黑屏
def judge(self): if len(self.collect) == 100:
QtUtil.showOkDialog(self, 'error', u'出现黑屏')
else:
QtUtil.showOkDialog(self, 'correct', u'apk正常') #结束运行,删除apk
def end(self):
sub = subprocess.Popen('res/remove.exe')
# sub.communicate()

要想运行必须用按键精灵先录制两段脚本用于运行与卸载,运行这款工具,全程全自动,只要打开海马玩模拟器,将其最大化,在将apk拖入工具界面,软件就会自动测试,最后告诉你是否黑屏。

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)

转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4681262.html

小工具之apk黑屏自动检测的更多相关文章

  1. java9的JShell小工具和编译器两种自动优化

    一.按顺序逐步执行的脚本程序: 二.编译器自动优化 1.不超数据类型范围编译器自动添加强转操作: 2.一但发生运算,byte/short/char都会自动提升为Int,当只有常量参与运算时,编译器会先 ...

  2. IIS监控应用程序池和站点假死,自动重启IIS小工具

    文章技术适合初学者.高级的C#开发工程师这些估计都熟悉到烂了,望不要喷. 第一.C#代码要操作IIS 就必须先导入 Microsoft.Web.Administration.dll ,方便控制台程序做 ...

  3. iOS内存泄漏自动检测工具PLeakSniffer

    新款objective-C内存泄漏自动检测工具 PLeakSniffer , GitHub地址 (https://github.com/music4kid/PLeakSniffer). 背景 前些天读 ...

  4. Wix 安装部署教程(八) 自动生成XML小工具

    这个功能类似于Heat.exe,指定文件夹,生成对应的WIX标签.Winform做的,代码简单,生成的标签需要粘贴到对应的目录才能使用,并不是一步到位. 需要设定两个参数,一个是文件夹路径,一个是文件 ...

  5. 打造一个自动检测页面是否存在XSS的小插件

    前言: 还记得刚玩Web安全时,就想着要是能有一个自动挖掘XSS漏洞的软件就好了.然后我发现了Safe3.JSky.AWVS.Netsparker等等,但是误报太多,而且特别占内存.后来发现了fidd ...

  6. Android -tool工具UIautomatorviewer提示“不能让屏幕黑屏”

    Android中有很多工具可以让我们使用,我使用比较多的有属DDMS,UIautomatorviewer,DDMS中信息也很强大,有空的时候在理理 这篇博主写的很详细:http://www.cnblo ...

  7. 懒人小工具:自动生成Model,Insert,Select,Delete以及导出Excel的方法

    在开发的过程中,我们为了节约时间,往往会将大量重复机械的代码封装,考虑代码的复用性,这样我们可以节约很多时间来做别的事情.最近跳槽到一节webform开发的公司,主要是开发自己公司用的ERP.开始因为 ...

  8. 懒人小工具:T4自动生成Model,Insert,Select,Delete以及导出Excel的方法

    之前写了篇文章,懒人小工具:[自动生成Model,Insert,Select,Delete以及导出Excel的方法](http://www.jianshu.com/p/d5b11589174a),但是 ...

  9. audio与video控件/标签的隐藏,iso/Android下自动全屏播放,短暂黑屏问题

    (一)audio音频标签 <audio src="xxx.mp3"></audio> (二)video视频标签 <video src="xx ...

随机推荐

  1. RobotFrameWork 自动化环境搭建(基于 python2.7)

    1.自动化工具安装顺序 robot Framework(两个RF框架) WXpython(不要更改安装路径,自动安装在python文件中) 安装依赖库 RF3.0 和 RF1.5.2.1 打开 rid ...

  2. 7) 项目准备流程 和 django权限六表

    一.项目准备 1. 创建django项目 2. 创建数据库 —— init文件中声明mysql —— settings中配置数据库 import pymysql pymysql.install_as_ ...

  3. weak_ptr

    #include <iostream> #include <memory> using namespace std; int main(int argc, char **arg ...

  4. java并发之线程安全问题

    并发(concurrency)一个并不陌生的词,简单来说,就是cpu在同一时刻执行多个任务. 而Java并发则由多线程实现的. 在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中.(当然这是比 ...

  5. spring学习笔记(三)我对AOP理解

    首先我们要知道AOP是什么?AOP全称Aspect OrientedProgramming,即面向切面编程.在这里我不想去说什么是切面,什么是切点,什么是通知等等,相关博客很多,如果大家想知道可以自己 ...

  6. 如何将项目上传至GitHub?

    心血来潮的一天,突然想写点什么哈哈哈哈. 那就写写如何将项目上传到GitHub(矫情,上传个项目还要写个文章) 第一步:下载Git https://git-scm.com/download/win 下 ...

  7. Excel开始,Excel结束,R语言居中

    入职.离职,总公司调往分公司,分公司调往总公司,每月社保.公积金和上月比较有增减.税局导出的为Excel文件,需要和记录对照一番. 用Excel处理,那就是姓名粘贴为两列,条件格式-重复值,没变色的为 ...

  8. LabVIEW(数据库自动编号)

    数据库如果字段是自动编号,则在插入数据时,可以不考虑.

  9. JDBC01 mysql和navicat的安装

    navicat的安装 从网上下载的,详细过程,略 mysql8.0.11(win10,64)安装 1.下载 MySQL8.0 For Windows zip包下载地址:https://dev.mysq ...

  10. iview tree 绑定数据

    官方文档 :https://www.iviewui.com/components/tree 效果图 1 主体分析 <Tree ref="tree" :data="t ...