一种Android平台URL访问结果验证方法及装置的制造方法_2

文档序号:8285241阅读:来源:国知局
程信息的流程图;
[0056]图3为本发明第一实施例的步骤S102中基于采集到的与URL链接相关的网络数据包确定出URL链接的访问过程信息的流程图;
[0057]图4为本发明第二实施例的Android平台URL访问结果验证装置组成结构示意图;
[0058]图5为本发明第三实施例的Android平台URL访问结果信息自动化提取分析过程示意图;
[0059]图6为本发明第三实施例的Android平台URL访问结果信息自动化提取分析的整体流程图;
[0060]图7为本发明第三实施例的步骤S5中除屏幕截图之外的其他访问过程信息的获取过程;
[0061]图8为本发明第三实施例的步骤S5中图片对比的具体流程图。
【具体实施方式】
[0062]为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
[0063]本发明第一实施例,一种Android平台URL访问结果验证方法,如图1所示,包括以下具体步骤:
[0064]步骤S101,在Android平台启动浏览器应用;
[0065]具体的,步骤SlOl包括:
[0066]从浏览器应用的安装文件中获取所述浏览器应用的package类名和activity类名;
[0067]基于所述浏览器应用的package类名和activity类名,在Android平台上述启动浏览器应用。
[0068]步骤S102,通过所述浏览器应用访问URL链接时,基于采集到的与URL链接相关的数据,确定出URL链接的访问过程信息;所述数据包括:与URL链接相关的截图信息。
[0069]具体的,在步骤S102中,通过所述浏览器应用访问URL链接,包括:
[0070]Al:采用模拟人机交互方式的接口在所述浏览器应用的界面中点击输入URL链接以加载URL链接。现有技术中,Android在上层提供给了用户接口,URL是通过intent函数调用URL加载进去的,但是这种方法不能支持所有浏览器,所以本发明设计了一个通用接口,用于通过自动化测试模拟人机交互以点击输入URL。
[0071 ] A2:基于加载的URL链接进行访问。
[0072]如图2所示,在步骤S102中,基于采集到的与URL链接相关的截图信息,确定出URL链接的访问过程信息,包括以下测试流程:
[0073]B1:判断访问URL链接的时长是否超过第一设定时长,若是,则判定访问URL链接失败,即所述浏览器不具备网络代理能力,测试流程结束,否则执行步骤B2;
[0074]B2:等待第二设定时长之后,对访问所述URL链接所显示的画面进行截图;
[0075]B3:将所述截图与预设的访问失败图片进行对比,若相似度超过设定的相似度阈值,则判定访问URL链接失败,执行步骤BI,否则判定访问URL链接成功,即所述浏览器具备网络代理能力,测试流程结束。
[0076]进一步的,在步骤B2中,将所述截图与预设的访问失败图片进行对比,包括:
[0077]采用逐像素的图片相似度对比方式、基于汉明距离的图片相似度对比方式、基于直方图特征的图片相似度对比方式、或者基于矩阵特征值的图片相似度对比方式。
[0078]以上这四种图片对比方式在java中实现是通过使用java.awt包中的函数对图像进行处理。而Android平台丢弃了除java.awt.front有关字体的包外的所有awt包,改成使用android, graphics包来操作底层的图形库,包含画布、颜色过滤、点、矩形等。
[0079]在上述这四种图片对比方式中,逐像素的图片相似度对比方式要由于其他三种方式,因为直方图反映的是图像像素灰度值的概率分布,比如灰度值为200的像素有多少个,但是对于这些像素原来的位置在直方图中并没有体现,所以图像的骨架,也就是图像内部到底存在什么样的物体,形状是什么,每一块的灰度分布是什么样的这些在直方图信息中是被省略掉的,比如一个上黑下白的图像和上白下黑的图像其直方图分布是一模一样的,其相似度为100%。而使用分析数学向量及矩阵特征值的方法去分析图像本身,会抛弃很多图像的特征。
[0080]优选的,在本实施例的步骤S102中,所述与URL链接相关的数据还包括:与URL链接相关的网络数据包;
[0081]此时,如图3所示,基于采集到的与URL链接相关的网络数据包,确定出URL链接的访问过程信息,包括以下流程:
[0082]Cl:采用tcpdump数据包捕获工具对通过所述浏览器应用访问URL链接的过程中所涉及网络数据报进行捕获,将捕获结果保存成pcap文件;
[0083]C2:对所述pcap文件进行解析提取出文件头、各数据包头及相应的数据包内容;
[0084]C3:对各数据包内容根据数据包的类型进行分类并解析,得到URL链接的访问过程信息。
[0085]进一步的,步骤C3包括:
[0086]将各数据包内容分为以下几类:HTTP请求和响应类型、DNS类型、ICMP类型;
[0087]基于HTTP请求和响应类型的数据包内容,解析得到代理IP、端口号、URL链接的访问过程所涉及到的协议版本及协议请求方法(比如:GET、P0ST等方法)、URL链接访问时的网络状态码(用于提供关于URL请求状态的信息,如:访问成功、内部服务器错误等)、应答头(应答头指的是URL访问的目的主机类型、访问日期时间、应答正文长度等信息)、以及应答头正文(应答正文指的是URL访问的目的主机返回的HTML页面代码);
[0088]基于DNS类型的数据包内容,解析得到URL访问的远程目的主机是否可达、路由是否可用;
[0089]基于ICMP类型的数据包内容,解析得到URL链接的域名相关信息,比如:域名查询返回码,提供URL访问的域名查询结果信息,如域名不存在、格式错误等。
[0090]本发明第二实施例,与第一实施例对应,本实施例介绍一种Android平台URL访问结果验证装置,如图4所示,包括以下组成部分:
[0091]I)启动模块100,用于在Android平台启动浏览器应用;
[0092]具体的,启动模块100包括以下组成模块:
[0093]获取模块101,用于从浏览器应用的安装文件中获取所述浏览器应用的package类名和activity类名;
[0094]开启模块102,用于基于所述浏览器应用的package类名和activity类名,在Android平台上述启动浏览器应用。
[0095]2)确定模块200,用于通过所述浏览器应用访问URL链接时,基于采集到的与URL链接相关的数据,确定出URL链接的访问结果;所述数据包括:与URL链接相关的截图信息。
[0096]具体的,确定模块200,用于执行以下测试流程:
[0097]B1:判断访问URL链接的时长是否超过第一设定时长,若是,则判定访问URL链接失败,即所述浏览器不具备网络代理能力,测试流程结束,否则执行步骤B2;
[0098]B2:等待第二设定时长之后,对访问所述URL链接所显示的画面进行截图;
[0099]B3:将所述截图与预设的访问失败图片进行对比,若相似度超过设定的相似度阈值,则判定访问URL链接失败,执行步骤BI,否则判定访问URL链接成功,即所述浏览器具备网络代理能力,测试流程结束。
[0100]优选的,在本实施例中,所述与URL链接相关的数据还包括:与URL链接相关的网络数据包;
[0101]确定模块200,还用于采用tcpdump数据包捕获工具对通过所述浏览器应用访问URL链接的过程中所涉及网络数据报进行捕获,将捕获结果保存成pcap文件;
[0102]对所述pcap文件进行解析提取出文件头、各数据包头及相应的数据包内容;
[0103]对各数据包内容根据数据包的类型进行分类并解析,得到URL链接的访问过程信息。
[0104]本发明第三实施例,本实施例是在上述实施例的基础上,结合附图5?7介绍一个本发明的应用实例。
[0105]本发明应用实例介绍一个Android平台URL访问结果信息自动化提取分析引擎,该引擎是在PC端链接检查工具分析方法的基础上进行的优化和应用。深入研宄HTTP协议,开发设计Android平台浏览器应用自动访问URL的通用接口,默认支持5种以上主流浏览器自动化测试。在网络数据包分析技术的基础上,增加图片对比技术,根据URL访问结果截图判断访问是否成功,有效提高访问结果验证的效率和准确性,对应用程序的可疑性和安全风险辅以有效的评估支撑。
[0106]Android平台URL访问结果信息自动化提取分析过程示意图如图5所示,主要功能包括以下几个方面:
[0107]Android平台URL访问结果自动化验证工具主要由安装启动模块、URL访问模块、信息采集模块、图片对比模块和结果输出模块五个模块组成。
[0108]安装启动模块是自动化安装并启动测试浏览器应用,若应用已存在,则跳过安装。
[0109]URL访问模块调用浏览器应用URL访问函数,实现浏览器应用自动装载待测试URL并进行访问。
[0110]信息采集模块是在URL链接开始访问的基础上,采集URL访问相关信息,主要包括自动截图和数据包捕获。调用数据包捕获子模块,获取整个URL访问过程产生的网络数据包,并保存为相应文件格式。调用屏幕截图子模块,在30秒内选择URL访问过程中几个特定时间点进行截图并保存。
[0111]图片对比模块利用逐像素对比方法,计算两张图片相似度。为便于批量URL测试,选择浏览器访问失败
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1