App页面白屏检查方法及装置的制造方法

文档序号:10593993阅读:489来源:国知局
App页面白屏检查方法及装置的制造方法
【专利摘要】本发明公开了一种App页面白屏检查方法及装置,其中方法包括:获取页面正常加载完成时包括的字符数W,获取当前页面加载完成时包括的字符数C,若C<W*p1则判定字符检查不通过,否则判定字符检查通过;获取页面白屏时图片的第一灰度直方图,获取当前页面加载完成时图片的第二灰度直方图,计算第二灰度直方图与第一灰度直方图的相似度A,若A>p2则判定图片检查不通过,否则判定图片检查通过;在字符检查和图片检查均通过时判定页面不白屏,在字符检查和图片检查中任意一个不通过时判定页面白屏。本发明能够弥补现有技术中白屏检查维护成本高且工作量大的不足,自动快速地判定页面是否白屏。
【专利说明】
App页面白屏检查方法及装置
技术领域
[0001] 本发明设及计算机领域,尤其设及一种App(应用程序)页面白屏检查方法及装置。
【背景技术】
[0002] App在自动打包和部署时,需要触发白屏检查来针对不同平台(包括手机系统、系 统版本、UI、机型)进行兼容性测试,验证页面是否出现白屏。传统的验证方法为手工测试, 具有时效性差,手动测试工作量大,重复多的缺陷。另外,除了手工测试外还有相较于传统 的自动化测试:通过判断页面某个元素是否出现来决定是否出现白屏,但是运种测试方式 存在W下问题:
[0003] 在W某个元素来是否出现来决定是否白屏时,运个元素必然是运个页面的一部 分,那么运个元素就是与运个页面有关的,若是页面变动,会造成结果误报,所W每次页面 变动,必须重新寻找元素,改变测试脚本,运导致维护脚本的成本增加,提供工作量。

【发明内容】

[0004] 本发明要解决的技术问题是为了克服现有技术中白屏检查维护成本高且工作量 大的缺陷,提供一种App页面白屏检查方法及装置。
[0005] 本发明是通过W下技术方案解决上述技术问题的:
[0006] -种App页面白屏检查方法,其特点是,所述页面包括字符和图片,所述App页面白 屏检查方法包括:字符检查步骤和图片检查步骤;
[0007] 所述字符检查步骤包括:获取页面正常加载完成时包括的字符数,记为W,获取当 前页面加载完成时包括的字符数,记为C,比较C与W*pl的大小关系,0 <pl《1,若(:<胖*口1则 判定字符检查不通过,否则判定字符检查通过;
[000引所述图片检查步骤包括:获取页面白屏时图片的灰度直方图,记为第一灰度直方 图,获取当前页面加载完成时图片的灰度直方图,记为第二灰度直方图,计算所述第二灰度 直方图与所述第一灰度直方图的相似度,记为A,比较A与p2的大小关系,0<p2《100%,若A >p2则判定图片检查不通过,否则判定图片检查通过;
[0009] 所述App页面白屏检查方法还包括:在所述字符检查步骤和所述图片检查步骤均 通过时判定页面不白屏,在所述字符检查步骤和所述图片检查步骤中任意一个不通过时判 定页面白屏。
[0010] 较佳地,所述App页面白屏检查方法还包括:
[0011] 截取判定为白屏的页面作为参考页面;
[0012] 计算所述参考页面中图片的灰度直方图;
[0013] 将计算出的灰度直方图存储于对比库中;
[0014] 所述获取页面白屏时图片的灰度直方图为:从所述对比库中获取灰度直方图;
[0015] 所述获取当前页面加载完成时图片的灰度直方图包括:在加载完成时截取当前页 面,计算当前页面中图片的灰度直方图。
[0016] 较佳地,所述计算当前页面中图片的灰度直方图替换为:计算当前页面的指定区 域中图片的灰度直方图,所述指定区域为从当前页面顶部起^至^之间的区域。
[0017] 较佳地,所述App页面白屏检查方法通过W下步骤计算图片的灰度直方图:
[001引通过公式
[0019] gray = R*0.299+G*0.567+B*0.114
[0020] 将图片中每个像素分别转换为灰度像素;
[0021] 统计各灰度像素的出现频度得到图片的灰度直方图。
[0022] 较佳地,所述App页面白屏检查方法通过W下步骤判断当前页面是否加载完成:
[0023] 判断从当前页面加载的起始时刻到当前时刻所经过的时间是否超过预设的等待 时间,若是,则表明当前页面加载完成,若否,则表明当前页面加载未完成。
[0024] 较佳地,所述App页面白屏检查方法中:先执行所述字符检查步骤,在判定字符检 查不通过时判定页面白屏,在判定字符检查通过时执行所述图片检查步骤;
[0025] 或,先执行所述图片检查步骤,在判定图片检查不通过时判定页面白屏,在判定图 片检查通过时执行所述字符检查步骤。
[00%]较佳地,所述App页面白屏检查方法还包括:
[0027] 对安装App包的设备进行预处理,所述预处理包括开启一线程,所述线程用于启动 所述字符检查步骤和所述图片检查步骤。
[0028] -种App页面白屏检查装置,其特点是,所述页面包括字符和图片,所述App页面白 屏检查装置包括:字符检查单元和图片检查单元;
[0029] 所述字符检查单元包括:
[0030] 第一获取模块,用于获取页面正常加载完成时包括的字符数,记为W;
[0031] 第二获取模块,用于获取当前页面加载完成时包括的字符数,记为C;
[0032] 第一比较模块,用于比较C与W*pl的大小关系,0<91《1,若(:<胖*91则判定字符检 查不通过,否则判定字符检查通过;
[0033] 所述图片检查单元包括:
[0034] 第=获取模块,用于获取页面白屏时图片的灰度直方图,记为第一灰度直方图;
[0035] 第四获取模块,用于获取当前页面加载完成时图片的灰度直方图,记为第二灰度 直方图
[0036] 相似度计算模块,用于计算所述第二灰度直方图与所述第一灰度直方图的相似 度,记为A;
[0037] 第二比较模块,用于比较A与p2的大小关系,0<p2《100%,若A>p2则判定图片检 查不通过,否则判定图片检查通过;
[0038] 所述App页面白屏检查装置还包括:白屏判定单元;
[0039] 所述白屏判定单元,用于在所述字符检查单元和所述图片检查单元均通过时判定 页面不白屏,在所述字符检查单元和所述图片检查单元中任意一个不通过时判定页面白 屏。
[0040] 较佳地,所述App页面白屏检查装置还包括:参考单元;
[0041 ] 所述参考单元包括:
[0042] 截取模块,用于截取判定为白屏的页面作为参考页面;
[0043] 计算模块,用于计算所述参考页面中图片的灰度直方图;
[0044] 存储模块,用于将计算出的灰度直方图存储于对比库中;
[0045] 所述第=获取模块用于从所述对比库中获取灰度直方图;
[0046] 所述第四获取模块用于加载完成时截取当前页面,计算当前页面中图片的灰度直 方图。
[0047] 较佳地,所述计算当前页面中图片的灰度直方图替换为:计算当前页面的指定区 域中图片的灰度直方图,所述指定区域为从当前页面顶部起^至^之间的区域。
[004引较佳地,所述计算模块和所述第四获取模块分别还用于:
[0049] 通过公式
[0050] gray = R*0.299+G*0.567+B*0.114
[0051] 将图片中每个像素分别转换为灰度像素,
[0052] 统计各灰度像素的出现频度得到图片的灰度直方图。
[0053] 较佳地,所述App页面白屏检查装置还包括:
[0054] 判断单元,用于判断从当前页面加载的起始时刻到当前时刻所经过的时间是否超 过预设的等待时间,若是,则表明当前页面加载完成,若否,则表明当前页面加载未完成。
[0055] 较佳地,所述App页面白屏检查装置还包括:
[0056] 调用单元,用于调用所述字符检查单元,W及在判定字符检查通过时调用所述图 片检查单元;
[0057] 或,用于调用所述图片检查单元,W及在判定图片检查通过时调用所述字符检查 单元。
[005引较佳地,所述App页面白屏检查装置还包括:
[0059] 预处理单元,用于对安装App的设备进行预处理,所述预处理包括开启一线程,所 述线程用于启动所述字符检查单元和所述图片检查单元。
[0060] 在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实 例。
[0061 ]本发明的积极进步效果在于:本发明能够自动检查页面是否白屏,并且检查过程 与页面内的具体内容无关,不需要在页面变动时重新寻找元素,改变测试脚本,大大降低了 维护成本,减少了工作量,提高了检查效率。
【附图说明】
[0062] 图1为本发明一较佳实施例1的App页面白屏检查方法的流程图。
[0063] 图2为本发明一较佳实施例1的App页面白屏检查装置的系统框图。
[0064] 图3为本发明一较佳实施例2的App页面白屏检查方法的流程图。
【具体实施方式】
[0065] 下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实 施例范围之中。
[0066] 实施例1
[0067] -种App页面白屏检查方法,如图I所示,包括:
[0068] 步骤101、判断从当前页面加载的起始时刻到当前时刻所经过的时间是否超过预 设的等待时间,若是,则表明当前页面加载完成,执行步骤102,若否,则表明当前页面加载 未完成,返回步骤101继续判断,直至从当前页面加载的起始时刻到当前时刻所经过的时间 超过所述等待时间才能执行步骤102。本实施例的App页面白屏检查方法通过判断从当前页 面加载的起始时刻到当前时刻所经过的时间是否超过预设的等待时间来判断当前页面是 否加载完成。其中,所述等待时间可W自由设定,如10秒。对于用户来说,每一个页面的加载 都有最大的容忍时间,超过运个时间,页面即使加载完毕,也不会有良好的用户体验,所W 无论页面在运个时间内实际是否加载完成,都认为页面已经加载完成。
[0069] 步骤102、获取页面正常加载完成时包括的字符数,记为W。具体可W采用W下两种 方式:
[0070] 第一种,手动获取正确页面的字符个数,取其80%或其它百分数作为结果保存;
[0071] 第二种,当由于W错误而导致最终判定页面是否白屏的结果出错时,通过UI(用户 界面)将运次结果标记为误报,然后自动更新W。
[0072] 步骤103、获取当前页面加载完成时包括的字符数,记为C。具体可W为通过基于 UIAutomator(-种软件)的开源的技术框架获取页面当前加载完成时包括的字符数。
[0073] 步骤104、比较C与W*p 1的大小关系,0 < P1《1,若0 < W*p 1则判定字符检查不通过, 进而判定页面白屏,否则判定字符检查通过,然后执行步骤105。其中,Pl的值可W自由设 定。
[0074] 步骤105、获取页面白屏时图片的灰度直方图,记为第一灰度直方图。
[0075] 步骤106、获取当前页面加载完成时图片的灰度直方图,记为第二灰度直方图。具 体包括:在加载完成时截取当前页面,计算当前页面中图片的灰度直方图,或者计算当前页 面的指定区域中图片的灰度直方图,所述指定区域为从当前页面顶部起^至^之间的区 域。由于UI设计的规律会将主要内容放在页面自上而下1/3左右-2/3左右,从当前页面顶部 到^的区域往往是标题等信息,从^到页面底部的区域往往是一些额外的辅助信息或者空 1巧 1巧 白,所W可W只计算从当前页面顶部起^至^之间的区域中图片的灰度直方图,相比于计 算当前页面中图片的灰度直方图,工作量更小,缩短整个判定的时间。
[0076] 步骤107、计算所述第二灰度直方图与所述第一灰度直方图的相似度,记为A。计算 相似度的方法与现有技术相同,故不再寶述。
[0077] 步骤108、比较A与p2的大小关系,0<p2《100%,若A>p2则判定图片检查不通过, 进而判定页面白屏,否则判定图片检查通过,进而判定页面不白屏。其中,p2的值可W自由 设定。
[0078] 所述App页面白屏检查方法还包括在步骤101之前构建对比库的步骤,具体包括:
[0079] 截取判定为白屏的页面作为参考页面;
[0080] 计算所述参考页面中图片的灰度直方图;
[0081] 将计算出的灰度直方图存储于对比库中。
[0082] 此时,步骤105会从所述对比库中获取灰度直方图。
[0083] 下面具体说明述App页面白屏检查方法计算图片的灰度直方图的步骤,可W用于 计算所述参考页面中图片的灰度直方图,也可W用于当前页面加载完成时图片的灰度直方 图:
[0084] 通过公式
[00化]gray = R*0.299+G*0.567+B*0.114,其中,gray表示灰度像素,R表示红色,G表示绿 色,B表示蓝色,
[0086] 将图片中每个像素分别转换为灰度像素;
[0087] 统计各灰度像素的出现频度得到图片的灰度直方图。
[0088] 所述App页面白屏检查方法还包括:
[0089] 对安装App包的设备进行预处理,所述预处理包括开启一线程,所述线程用于启动 执行步骤101。所述设备可W为手机、平板电脑等能够安装App包的设备。由于不同设备生产 厂商自定义的UI行为不一致,如某些手机在安装App包的时候强制用户点击确认才能安装, 某些手机打开应用的时候会检查应用权限,等等。运些行为都会导致自动检查白屏受阻。所 W通过上述预处理的步骤能够针对不同机型进行处理,即时启动白屏检查。
[0090] 本实施例的App页面白屏检查装置,如图2所示,包括:判断单元201、调用单元202、 字符检查单元203、图片检查单元204和白屏判定单元205。
[0091] 所述判断单元201,用于判断从当前页面加载的起始时刻到当前时刻所经过的时 间是否超过预设的等待时间,若是,则表明当前页面加载完成,然后调用所述调用单元202, 若否,则表明当前页面加载未完成,然后继续调用所述判断单元201。其中,所述等待时间可 W自由设定,如10秒。
[0092] 所述调用单元202用于先调用所述字符检查单元203, W及在判定字符检查通过时 调用所述图片检查单元204。
[0093] 所述字符检查单元203包括:
[0094] 第一获取模块2031,用于获取页面正常加载完成时包括的字符数,记为W。具体可 W采用W下两种方式:
[00M]第一种,手动获取正确页面的字符个数,取其80%或其它百分数作为结果保存;
[0096] 第二种,当由于W错误而导致最终判定页面是否白屏的结果出错时,通过UI(用户 界面)将运次结果标记为误报,然后自动更新W。
[0097] 第二获取模块2032,用于获取当前页面加载完成时包括的字符数,记为C。具体可 W为通过基于UIAutomator(-种软件)的开源的技术框架获取页面当前加载完成时包括的 字符数。
[009引第一比较模块2033,用于比较C与W*pl的大小关系,0<pl《l^C<W*pl则判定字 符检查不通过,否则判定字符检查通过。
[0099] 所述图片检查单元204包括:
[0100] 第=获取模块2041,用于获取页面白屏时图片的灰度直方图,记为第一灰度直方 图。
[0101] 第四获取模块2042,用于获取当前页面加载完成时图片的灰度直方图,记为第二 灰度直方图。具体用于加载完成时截取当前页面,计算当前页面中图片的灰度直方图,或者 计算当前页面的指定区域中图片的灰度直方图,所述指定区域为从当前页面顶部起^至^ 之间的区域。
[0102] 相似度计算模块2043,用于计算所述第二灰度直方图与所述第一灰度直方图的相 似度,记为A。
[0103] 第二比较模块2044,用于比较A与p2的大小关系,0<p2《100%,若A>p2则判定图 片检查不通过,否则判定图片检查通过。
[0104] 所述白屏判定单元205,用于在所述字符检查单元203和所述图片检查单元204均 通过时判定页面不白屏,在所述字符检查单元203和所述图片检查单元204中任意一个不通 过时判定页面白屏。
[0105] 所述App页面白屏检查装置还包括:参考单元206。
[0106] 所述参考单元206包括:
[0107] 截取模块2061,用于截取判定为白屏的页面作为参考页面。
[0108] 计算模块2062,用于计算所述参考页面中图片的灰度直方图。
[0109] 存储模块2063,用于将计算出的灰度直方图存储于对比库中。
[0110] 此时,所述第=获取模块2041用于从所述对比库中获取灰度直方图。
[0111] 所述计算模块2062和所述第四获取模块2042分别还用于:
[0112] 通过公式
[0113] gray = R*0.299+G*0.567+B*0.114
[0114] 将图片中每个像素分别转换为灰度像素,
[0115] 统计各灰度像素的出现频度得到图片的灰度直方图。
[0116] 所述App页面白屏检查装置还包括:
[0117] 预处理单元207,用于对安装App的设备进行预处理,所述预处理包括开启一线程, 所述线程用于启动所述字符检查单元203和所述图片检查单元204。
[011引实施例2
[0119] 本实施例的App页面白屏检查方法与实施例1的App页面白屏检查方法基本相同, 不同之处在于,实施例1先执行字符检查再执行图片检查,实施例2先执行图片检查再执行 字符检查,如图3所示。
[0120] 步骤101在判断为是时执行步骤105-108,在步骤108判定图片检查通过时执行步 骤102-104,在步骤104判定字符检查通过时进而判定页面不白屏。
[0121] 本实施例的App页面白屏检查装置与实施例1的App页面白屏检查装置相同,不同 之处在于,本实施例的App页面白屏检查装置的调用单元用于调用所述图片检查单元,W及 在判定图片检查通过时调用所述字符检查单元。
[0122] 实施例1中先执行字符检查再执行图片检查与实施例2中先执行图片检查再执行 字符检查都能达到检查页面是否白屏的效果,只不过由于获取字符数较快,若C<W*pl,页 面必然不完整,会判定为白屏,因此,在实现上实施例1相比于实施例2能在一定程度上提高 判断的速度。
[0123] 虽然W上描述了本发明的【具体实施方式】,但是本领域的技术人员应当理解,运些 仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背 离本发明的原理和实质的前提下,可W对运些实施方式做出多种变更或修改,但运些变更 和修改均落入本发明的保护范围。
【主权项】
1. 一种App页面白屏检查方法,其特征在于,所述页面包括字符和图片,所述App页面白 屏检查方法包括:字符检查步骤和图片检查步骤; 所述字符检查步骤包括:获取页面正常加载完成时包括的字符数,记为W,获取当前页 面加载完成时包括的字符数,记为C,比较C与W*pl的大小关系,0<pl彡l,gC<W*pl则判定 字符检查不通过,否则判定字符检查通过; 所述图片检查步骤包括:获取页面白屏时图片的灰度直方图,记为第一灰度直方图,获 取当前页面加载完成时图片的灰度直方图,记为第二灰度直方图,计算所述第二灰度直方 图与所述第一灰度直方图的相似度,记为A,比较A与p2的大小关系,0<p2<100%,若A>p2 则判定图片检查不通过,否则判定图片检查通过; 所述App页面白屏检查方法还包括:在所述字符检查步骤和所述图片检查步骤均通过 时判定页面不白屏,在所述字符检查步骤和所述图片检查步骤中任意一个不通过时判定页 面白屏。2. 如权利要求1所述的App页面白屏检查方法,其特征在于,所述App页面白屏检查方法 还包括: 截取判定为白屏的页面作为参考页面; 计算所述参考页面中图片的灰度直方图; 将计算出的灰度直方图存储于对比库中; 所述获取页面白屏时图片的灰度直方图为:从所述对比库中获取灰度直方图; 所述获取当前页面加载完成时图片的灰度直方图包括:在加载完成时截取当前页面, 计算当前页面中图片的灰度直方图。3. 如权利要求2所述的App页面白屏检查方法,其特征在于,所述计算当前页面中图片 的灰度直方图替换为:计算当前页面的指定区域中图片的灰度直方图,所述指定区域为从 当前页面顶部起^个:点之间的区域。4. 如权利要求2所述的App页面白屏检查方法,其特征在于,所述App页面白屏检查方法 通过以下步骤计算图片的灰度直方图: 通过公式 gray = R*0.299+G*0.567+B*0.114 将图片中每个像素分别转换为灰度像素; 统计各灰度像素的出现频度得到图片的灰度直方图。5. 如权利要求1所述的App页面白屏检查方法,其特征在于,所述App页面白屏检查方法 通过以下步骤判断当前页面是否加载完成: 判断从当前页面加载的起始时刻到当前时刻所经过的时间是否超过预设的等待时间, 若是,则表明当前页面加载完成,若否,则表明当前页面加载未完成。6. 如权利要求1所述的App页面白屏检查方法,其特征在于,所述App页面白屏检查方法 中:先执行所述字符检查步骤,在判定字符检查不通过时判定页面白屏,在判定字符检查通 过时执行所述图片检查步骤; 或,先执行所述图片检查步骤,在判定图片检查不通过时判定页面白屏,在判定图片检 查通过时执行所述字符检查步骤。7. 如权利要求1所述的App页面白屏检查方法,其特征在于,所述App页面白屏检查方法 还包括: 对安装App包的设备进行预处理,所述预处理包括开启一线程,所述线程用于启动所述 字符检查步骤和所述图片检查步骤。8. -种App页面白屏检查装置,其特征在于,所述页面包括字符和图片,所述App页面白 屏检查装置包括:字符检查单元和图片检查单元; 所述字符检查单元包括: 第一获取模块,用于获取页面正常加载完成时包括的字符数,记为W; 第二获取模块,用于获取当前页面加载完成时包括的字符数,记为C; 第一比较模块,用于比较C与W*pl的大小关系,0<pl彡l,gC<W*pl则判定字符检查不 通过,否则判定字符检查通过; 所述图片检查单元包括: 第三获取模块,用于获取页面白屏时图片的灰度直方图,记为第一灰度直方图; 第四获取模块,用于获取当前页面加载完成时图片的灰度直方图,记为第二灰度直方 图 相似度计算模块,用于计算所述第二灰度直方图与所述第一灰度直方图的相似度,记 为A; 第二比较模块,用于比较A与p2的大小关系,0<p2<100%,若A>p2则判定图片检查不 通过,否则判定图片检查通过; 所述App页面白屏检查装置还包括:白屏判定单元; 所述白屏判定单元,用于在所述字符检查单元和所述图片检查单元均通过时判定页面 不白屏,在所述字符检查单元和所述图片检查单元中任意一个不通过时判定页面白屏。9. 如权利要求8所述的App页面白屏检查装置,其特征在于,所述App页面白屏检查装置 还包括:参考单元; 所述参考单元包括: 截取模块,用于截取判定为白屏的页面作为参考页面; 计算模块,用于计算所述参考页面中图片的灰度直方图; 存储模块,用于将计算出的灰度直方图存储于对比库中; 所述第三获取模块用于从所述对比库中获取灰度直方图; 所述第四获取模块用于加载完成时截取当前页面,计算当前页面中图片的灰度直方 图。10. 如权利要求9所述的App页面白屏检查装置,其特征在于,所述计算当前页面中图片 的灰度直方图替换为:计算当前页面的指定区域中图片的灰度直方图,所述指定区域为从 当前页面顶部起&至^之间的区域。11. 如权利要求9所述的App页面白屏检查装置,其特征在于,所述计算模块和所述第四 获取模块分别还用于: 通过公式 gray = R*0.299+G*0.567+B*0.114 将图片中每个像素分别转换为灰度像素, 统计各灰度像素的出现频度得到图片的灰度直方图。 12 ·如权利要求8所述的App页面白屏检查装置,其特征在于,所述App页面白屏检查装 置还包括: 判断单元,用于判断从当前页面加载的起始时刻到当前时刻所经过的时间是否超过预 设的等待时间,若是,则表明当前页面加载完成,若否,则表明当前页面加载未完成。 13 ·如权利要求8所述的App页面白屏检查装置,其特征在于,所述App页面白屏检查装 置还包括: 调用单元,用于调用所述字符检查单元,以及在判定字符检查通过时调用所述图片检 查单元; 或,用于调用所述图片检查单元,以及在判定图片检查通过时调用所述字符检查单元。14.如权利要求8所述的App页面白屏检查装置,其特征在于,所述App页面白屏检查装 置还包括: 预处理单元,用于对安装App的设备进行预处理,所述预处理包括开启一线程,所述线 程用于启动所述字符检查单元和所述图片检查单元。
【文档编号】G06F11/36GK105955884SQ201610270326
【公开日】2016年9月21日
【申请日】2016年4月27日
【发明人】孙亮, 刘李丰
【申请人】上海携程商务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1