首页> 中国专利> 一种基于爬虫的自动化差异检测方法及装置

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

摘要

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

著录项

  • 公开/公告号CN103365967A

    专利类型发明专利

  • 公开/公告日2013-10-23

    原文格式PDF

  • 申请/专利权人 百度在线网络技术(北京)有限公司;

    申请/专利号CN201310250701.6

  • 发明设计人 孙彬;吴甜甜;范桂群;黄始韬;

    申请日2013-06-21

  • 分类号G06F17/30(20060101);G06F11/34(20060101);

  • 代理机构11286 北京铭硕知识产权代理有限公司;

  • 代理人罗延红;王占杰

  • 地址 100085 北京市海淀区上地十街10号百度大厦三层

  • 入库时间 2024-02-19 21:14:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-08

    授权

    授权

  • 2013-11-20

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130621

    实质审查的生效

  • 2013-10-23

    公开

    公开

说明书

技术领域

本发明涉及一种自动化差异检测方法及装置,更具体地说,涉及一种基 于爬虫的自动化差异检测方法及装置。

背景技术

互联网上的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/”,或 者提取出的URL是所述旧Web系统下的子路径,则所述URL是旧Web系统下 的本地URL,除本地URL以外的其它URL是旧Web系统下的非本地URL。这里, 如果从新页面中提取的本地URL的后缀与从旧页面中提取的相应的本地URL 的后缀相同,则认为从新页面中提取的本地URL与从旧页面中提取的相应的 本地URL相同。然而,对于从新页面中提取的非本地URL与从旧页面中提取 的相应的非本地URL,仅在其URL全部相同时,才认为所述两个非本地URL 相同。对从新页面中提取的URL与从旧页面中提取的相应的URL进行比较, 如果所述两个URL相同,则处理进行到步骤S107;如果所述两个URL不相同, 则将当前新旧页面的URL和/或当前新旧页面作为差异页面信息存入差异页 面信息数据库。

在步骤S107,将相同的URL对写入队列。例如,将在步骤S106确定的 相同的URL对中的本地URL对写入“待提取新旧URL对队列”。在将URL对写 入“待提取新旧URL对队列”前,可以对所述URL进行判断,移除已经抓取 过和/或不希望抓取的URL。

S108,使用渲染后的新旧页面产生新旧两个图像。

S109,进行图像相似性对比,如果新旧图像相同,则返回步骤S102;如 果新旧图像不同,则确定所述新旧页面存在差异,存储与新页面的差异部分 相应的图像,并将所述图像作为差异页面信息存入差异页面信息数据库。可 以使用图像相似性比较算法来比较图像的相似性。例如,将新旧图像分别转 换为新旧灰度图像,逐个比较新旧灰度图像中的每个像素,如果不同的像素 数量超过给定阈值,则确定新旧图像不同,使用新灰度图像中的与旧灰度图 像不同的像素生成与新页面的差异部分相应的图像,存储所述与新页面的差 异部分相应的图像。然而,本发明的示例性实施例不限于此,可通过任何用 于比较图像相似性的方法来实现本发明的实施例。

在步骤S110,将通过步骤S106获得的新旧Web系统中存在差异的页面 和/或其URL、和/或通过步骤S109获得的存在差异的新旧页面的图像和/或 与所述差异的部分相应的图像,作为差异页面信息存入差异页面信息数据库。

在步骤S111,从差异页面信息数据库中读取差异页面信息,生成差异化 测试报告,返回新旧系统中不同的页面和/或其URL、指示不同的部分的图像。

图2示出根据本发明另一示例性实施例的基于爬虫的自动化差异检测方 法的流程图。

参照图2,在步骤S201,获取第一Web系统的第一初始统一资源定位符 (URL)以及第二Web系统的第二初始URL;

在步骤S202,基于爬虫分别对第一初始URL和第二初始URL进行遍历, 以不断抓取第一web系统下的第一页面和第二web系统下的第二页面。在所 述遍历过程中,执行以下处理:对抓取的第一页面和相应的第二页面进行渲 染,分别产生第一网页图像和第二网页图像,对第一网页图像和第二网页图 像进行相似性比较,当第一网页图像和第二网页图像不同时,产生差异页面 信息,并且将所述差异页面信息存储在差异页面信息数据库中。所述差异页 面信息可以包括指示所述第一网页图像与所述第二网页图像不同的图像。所 述差异页面信息还可以包括与所述第一网页图像对应的第一网页和与所述第 二网页图像对应的第二网页,和/或它们的URL。

作为示例,将第一网页图像与相应的第二网页图像分别转换为第一灰度 图像和第二灰度图像;逐个比较第一灰度图像和第二灰度图像中的每个像素; 如果第一灰度图像和第二灰度图像的不同像素数量超过预定阈值,则确定第 一网页图像与相应的第二网页图像不同。通过使用第一灰度图像中的与第二 灰度图像不同的像素来产生所述差异页面信息。然而,本发明的示例性实施 例不限于此,可通过任何用于比较图像相似性的方法来实现本发明的实施例。

在所述遍历过程中,可以跳过第一Web系统下的非本地URL和第二Web 系统下的非本地URL(即,不对所述两个URL进行抓取和遍历)。这里,如果 第一Web系统下的本地URL的后缀与第二Web系统下的相应的本地URL的后 缀相同,则可确定所述第一Web系统下的本地URL与所述第二Web系统下的 相应的本地URL相同。此外,如果从第一页面中提取的URL与从第二页面中 提取的相应的URL不相同,则还可跳过所述从第一页面中提取的URL和所述 从第二页面中提取的相应的URL(即,不对所述两个URL进行抓取和遍历), 并产生差异页面信息,将差异页面信息存储在差异页面信息数据库中。所述 差异页面信息可包括所述第一页面和所述第二页面,和/或它们的URL。

所述方法还可包括步骤S203,从差异页面信息数据库读取差异页面信 息,根据所述差异页面信息产生相应的报告。所述相应的报告可包括第一Web 系统和第二Web系统中的不同页面和/或其URL、指示不同页面的不同部分的 图像等。

图3示出根据本发明示例性实施例的基于爬虫的自动化差异检测装置 300的框图。

参照图3,自动化差异检测装置300包括URL获取单元310和遍历比较 单元320。

URL获取单元310可获取第一Web系统的第一初始统一资源定位符(URL) 以及第二Web系统的第二初始URL;

遍历比较单元可基于爬虫分别对第一初始URL和第二初始URL进行遍历, 以不断抓取第一web系统下的第一页面和第二web系统下的第二页面。在所 述遍历过程中,遍历比较单元执行以下处理:对抓取的第一页面和相应的第 二页面进行渲染,分别产生第一网页图像和第二网页图像,对第一网页图像 和第二网页图像进行相似性比较,当第一网页图像和第二网页图像不同时, 产生差异页面信息,并且将所述差异页面信息存储在差异页面信息数据库中。

自动化差异检测装置300还包括报告产生单元330。报告产生单元330 可从差异页面信息数据库读取差异页面信息,根据所述差异页面信息产生相 应的报告。所述相应的报告可包括第一Web系统和第二Web系统中的不同页 面和/或其URL、指示不同页面的不同部分的图像等。

根据本发明的示例性实施例,可以对新旧两套Web系统进行自动化测试, 快速产生差异测试报告,帮助用户直观准确地定位有差异的部分。因此,根 据本发明的示例性实施例可对整个页面的效果进行验证,有效保证产品质量, 降低系统维护代价,节省测试成本,加快产品开发、测试、发布的周期。

虽然已经参照本发明的特定示例性实施例示出并描述了本发明,但是本 领域的技术人员应理解,在不脱离由权利要求及其等同物限定的本发明的精 神和范围的情况下,可以在形式和细节上对本发明进行各种改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号