小工具之apk黑屏自动检测
在打包测试的时候经常发送给测试组之后,发现已进入游戏就黑屏,这个就浪费了测试组的精力,如果要测试多款产品的话,就会因为黑屏问题做很多无用功,这是程序就需要在发给测试的时候自己先测试产品会不会黑屏。同样,数量一多,就会浪费精力。需要先安装到设备上,在点击测试,浪费时间。
这是,你就需要一款全自动的测试工具来帮你检查产品是否黑屏,用不耗精力的方式把每个包的黑屏现象找出来。这就是接下来要介绍的工具——“黑屏检测工具”。
材料
- 按键精灵
- 海马玩模拟器
原理
利用按键精灵将产品在海马玩模拟器中打开,然后在产品运行一段时间之后截屏分析图像,确认是否黑屏。
代码
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
比大多数人的努力程度之低,根本轮不到拼天赋...
宝宝巴士 SD.Team