一种基于爬虫的自动化差异检测方法及装置制造方法及图纸

技术编号:9276525 阅读:101 留言:0更新日期:2013-10-24 23:31
公开了一种基于爬虫的自动化差异检测方法及装置。所述方法包括:获取第一Web系统的第一初始统一资源定位符(URL)以及第二Web系统的第二初始URL;基于爬虫分别对第一初始URL和第二初始URL进行遍历,以不断抓取第一Web系统下的第一页面和第二Web系统下的第二页面,其中,在遍历过程中,执行以下处理:对抓取的第一页面和相应的第二页面进行渲染,分别产生第一网页图像和第二网页图像,对第一网页图像和第二网页图像进行相似性比较,当第一网页图像和第二网页图像不同时,产生差异页面信息,并且将所述差异页面信息存储在差异页面信息数据库中。

【技术实现步骤摘要】
一种基于爬虫的自动化差异检测方法及装置
本专利技术涉及一种自动化差异检测方法及装置,更具体地说,涉及一种基于爬虫的自动化差异检测方法及装置。
技术介绍
互联网上的Web系统经常会升级,有些升级仅影响了少数的页面,由于页面实现底层可能有耦合关系,为了保证整个Web系统的质量,测试人员往往需要回归所有的页面,人力消耗很大。差异(Diff)检测,是通过找出新旧系统的不同来进行回归检测的方法。现有的Web检测技术一般是通过浏览器驱动器操作页面,通过对HTML页面进行分析,定义一些断言的方式进行web自动化检测。例如,selenium、watir框架可提供这种web自动化检测方法。上述方案需要人工开发测试用例,但页面变化时,经常导致用例不可用,需要更新维护,人力成本较大;上述方案一般对页面的代码进行分析,如果不符合预期即认为是bug,而Web服务最终展现给用户的是可视化的页面,上述方案无法对页面的可视化效果进行验证;上述方案只能对指定的点进行验证。因此,为了减少人力成本,需要一种自动找出变化和不变的页面,同时保证回归检测的效率和质量的差异检测方法。
技术实现思路
本专利技术提供了一种自动化差异检测方法及装置。该方法可以对新旧两套Web系统进行自动化测试,快速产生差异测试报告,帮助用户直观准确地定位有差异的部分。根据本专利技术示例性实施例的一方面,提供了一种基于爬虫的自动化差异检测方法,所述方法包括:获取第一Web系统的第一初始统一资源定位符(URL)以及第二Web系统的第二初始URL;基于爬虫分别对第一初始URL和第二初始URL进行遍历,以不断抓取第一web系统下的第一页面和第二web系统下的第二页面,其中,在遍历过程中,执行以下处理:对抓取的第一页面和相应的第二页面进行渲染,分别产生第一网页图像和第二网页图像,对第一网页图像和第二网页图像进行相似性比较,当第一网页图像和第二网页图像不同时,产生差异页面信息,并且将所述差异页面信息存储在差异页面信息数据库中。所述差异页面信息可包括指示所述第一网页图像与所述第二网页图像不同的图像。所述差异页面信息还可包括与所述第一网页图像对应的第一网页的URL和与所述第二网页图像对应的第二网页的URL,和/或与所述第一网页图像对应的第一网页和与所述第二网页图像对应的第二网页。进行相似性比较的步骤可包括:将第一网页图像与相应的第二网页图像分别转换为第一灰度图像和第二灰度图像;逐个比较第一灰度图像和第二灰度图像中的每个像素;如果第一灰度图像和第二灰度图像的不同像素数量超过预定阈值,则确定第一网页图像与相应的第二网页图像不同。可使用第一灰度图像中的与第二灰度图像不同的像素来产生所述差异页面信息。在所述遍历过程中,可跳过第一Web系统下的非本地URL和第二Web系统下的非本地URL。如果第一Web系统下的本地URL的后缀与第二Web系统下的相应的本地URL的后缀相同,则可确定所述第一Web系统下的本地URL与所述第二Web系统下的相应的本地URL相同。在所述遍历过程中,如果从第一页面中提取的URL与从第二页面中提取的相应的URL不相同,则可跳过所述从第一页面中提取的URL和所述从第二页面中提取的相应的URL,并可产生差异页面信息,将差异页面信息存储在差异页面信息数据库中。所述差异页面信息可包括所述第一页面的URL和所述第二页面的URL,和/或所述第一页面和所述第二页面。所述方法还可包括:从差异页面信息数据库读取差异页面信息,根据所述差异页面信息产生相应的报告。根据本专利技术示例性实施例的一方面,提供了一种基于爬虫的自动化差异检测装置,所述装置包括:URL获取单元,获取第一Web系统的第一初始统一资源定位符(URL)以及第二Web系统的第二初始URL;遍历比较单元,基于爬虫分别对第一初始URL和第二初始URL进行遍历,以不断抓取第一页面和第二页面,其中,在遍历过程中,执行以下处理:对抓取的第一页面和相应的第二页面进行渲染,分别产生第一网页图像和第二网页图像,对第一网页图像和第二网页图像进行相似性比较,当第一网页图像和第二网页图像不同时,产生差异页面信息,并且将所述差异页面信息存储在差异页面信息数据库中。所述装置还可包括报告产生单元,从差异页面信息数据库读取差异页面信息,根据所述差异页面信息产生相应的报告。附图说明通过下面结合附图进行的描述,本专利技术的上述和其他目的和特点将会变得更加清楚,其中:图1示出根据本专利技术示例性实施例的基于爬虫的自动化差异检测方法的流程图;图2示出根据本专利技术另一示例性实施例的基于爬虫的自动化差异检测方法的流程图;图3示出根据本专利技术示例性实施例的基于爬虫的自动化差异检测装置的框图。具体实施方式提供以下参照附图的描述以帮助对由权利要求及其等同物限定的本专利技术的示例性实施例的全面理解。描述包括用于帮助理解的各种特定细节,但是这些细节应仅被视为示例性的。因此,本领域的普通技术人员将认识到,在不脱离本专利技术的范围和精神的情况下,可以对这里描述的实施例进行各种改变和修改。此外,为了清楚和简明,可省略对公知功能和结构的描述。图1示出根据本专利技术示例性实施例的基于爬虫的自动化差异检测方法的流程图。参照图1,在步骤S101,初始化新旧Web系统的统一资源定位符(URL)对并写入“待提取新旧URL对队列”。例如,记被测Web系统URL前缀为http://test-envi/,基准Web系统URL前缀为http://online-envi,待测项目URL与基准Web系统的后缀为test_project。因此,初始化完成的新URL是被测Web系统的URL,为http://test-envi/test_project,旧URL是基准Web系统的URL,为http://online-envi/test-project。在步骤S102,从“待提取新旧URL对队列”中提取URL对。例如,如果队列中存在未提取的URL对,则提取所述URL对并在队列中删除所述URL对,然后执行步骤S103;如果队列为空,则执行步骤S111。在步骤S103,抓取新旧URL对应的页面。例如,通过抓取页面的源代码来抓取页面,同时抓取页面依赖的代码,诸如CSS、JavaScript脚本等。在步骤S104,渲染页面。例如,使用浏览器渲染组件,分别对新旧页面进行渲染,得到用户可视化的页面。然后调用步骤S105及其后的步骤提取其它URL;调用步骤S108及其后的步骤针对本次抓取、渲染的页面产生图像并对产生的新旧图像进行相似性比较。在步骤S105,提取页面中的新URL。例如,分别对渲染后的新旧页面进行分析,从中提取新的URL。具体页面分析、提取URL的方法可以使用与搜索引擎相同的方法。在步骤S106,判断从新旧页面提取的URL是否相同。例如,将新页面中提取出的URL集合划分为本地URL和非本地URL,如果提取出的URL的前缀是“http://test-envi/”,或者提取出的URL是所述新Web系统下的子路径,则所述URL是新Web系统下的本地URL,除本地URL以外的其它URL是新Web系统下的非本地URL。类似的,将旧页面中提取出的URL集合也划分为本地URL和非本地URL,如果提取出的URL的前缀是“http://online-envi/”,本文档来自技高网...
一种基于爬虫的自动化差异检测方法及装置

【技术保护点】
一种基于爬虫的自动化差异检测方法,所述方法包括:获取第一Web系统的第一初始统一资源定位符(URL)以及第二Web系统的第二初始URL;基于爬虫分别对第一初始URL和第二初始URL进行遍历,以不断抓取第一web系统下的第一页面和第二web系统下的第二页面,其中,在遍历过程中,执行以下处理:对抓取的第一页面和相应的第二页面进行渲染,分别产生第一网页图像和第二网页图像,对第一网页图像和第二网页图像进行相似性比较,当第一网页图像和第二网页图像不同时,产生差异页面信息,并且将所述差异页面信息存储在差异页面信息数据库中。

【技术特征摘要】
1.一种基于爬虫的自动化差异检测方法,所述方法包括:获取第一Web系统的第一初始统一资源定位符(URL)以及第二Web系统的第二初始URL;基于爬虫分别对第一初始URL和第二初始URL进行遍历,以不断抓取第一web系统下的第一页面和第二web系统下的第二页面,其中,在遍历过程中,执行以下处理:对抓取的第一页面和相应的第二页面进行渲染,分别产生第一网页图像和第二网页图像,对第一网页图像和第二网页图像进行相似性比较,当第一网页图像和第二网页图像不同时,产生差异页面信息,并且将所述差异页面信息存储在差异页面信息数据库中,其中,在遍历过程中,执行以下处理:从渲染后的第一页面和渲染后的第二页面中提取新的URL,如果从渲染后的第一页面中提取的URL与从渲染后的第二页面中提取的相应的URL不相同,则跳过所述从渲染后的第一页面中提取的URL和所述从渲染后的第二页面中提取的相应的URL,并产生差异页面信息,将差异页面信息存储在差异页面信息数据库中。2.如权利要求1所述的方法,其中,所述差异页面信息包括指示所述第一网页图像与所述第二网页图像不同的图像。3.如权利要求2所述的方法,其中,所述差异页面信息还包括与所述第一网页图像对应的第一网页的URL和与所述第二网页图像对应的第二网页的URL,和/或与所述第一网页图像对应的第一网页和与所述第二网页图像对应的第二网页。4.如权利要求1所述的方法,其中,进行相似性比较的步骤包括:将第一网页图像与相应的第二网页图像分别转换为第一灰度图像和第二灰度图像;逐个比较第一灰度图像和第二灰度图像中的每个像素;如果第一灰度图像和第二灰度图像的不同像素数量超过预定阈值,则确定第一网页图像与相应的第二网页图像不同。5.如权利要求4所述的方法,其中,使用第一灰度图像中的与第二灰度图像不同的像素来产生所述差异页面信息。6.如权利要求1所述的方法,其中,在所述遍历过程中,跳过第一Web系统下的非本地URL和第二Web系统下的非本地URL。7.如权利要求1所述的方法,其中,如果第一Web系统下的本地URL的后缀与第二Web系统下的相应的本地URL的后缀相同,则确定所述第一Web系统下的本地URL与所述第二Web系统下的相应的本地URL相同。8.如权利要求1所述的方法,其中,所述差异页面信息包括所述第一页面的URL和所述第二页面的URL,和/或所述第一页面和所述第二页面。9.如权利要求1所述的方法,还包括,从差异页面信息数据库读取差异页面信息,根据所述差异页面信息产生相应的报告。10.一种基于爬虫的自动化差异检测装置,所述装置包括:URL获取单元,获取...

【专利技术属性】
技术研发人员:孙彬吴甜甜范桂群黄始韬
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1