首页> 中国专利> 自动化测试脚本编辑中获取页面元素的方法及系统

自动化测试脚本编辑中获取页面元素的方法及系统

摘要

本发明公开一种自动化测试脚本编辑中获取页面元素的信息的方法,包括:响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。本发明使得能够通过自动化测试脚本编辑器阻止页面跳转行为,并直接获得需要操作的页面元素对象。

著录项

  • 公开/公告号CN104156445A

    专利类型发明专利

  • 公开/公告日2014-11-19

    原文格式PDF

  • 申请/专利权人 北京京东尚科信息技术有限公司;

    申请/专利号CN201410400272.0

  • 发明设计人 王崟平;

    申请日2014-08-14

  • 分类号G06F17/30(20060101);

  • 代理机构11012 北京邦信阳专利商标代理有限公司;

  • 代理人黄姝

  • 地址 100080 北京市海淀区杏石口路65号西杉创意园西区11C楼东段1-4层西段1-4层

  • 入库时间 2023-12-17 03:09:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-24

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20191204 变更前: 变更后: 申请日:20140814

    专利申请权、专利权的转移

  • 2018-04-27

    授权

    授权

  • 2014-12-17

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

    实质审查的生效

  • 2014-11-19

    公开

    公开

说明书

技术领域

本发明涉及自动化测试相关技术领域,特别是一种自动化测试脚本编辑中获取页面元素的方法及系统。

背景技术

在开发浏览器插件时,可能需要点击页面上的某些页面元素来获取这些页面元素的信息。但是,很多页面元素会绑定事件,点击页面元素之后事件会被响应,某些事件会导致页面跳转,从而导致无法获取页面元素的信息。

由于插件不能取消网页原本的绑定的事件,现有技术使用阻止事件冒泡、阻止浏览器默认行为等方法都无法阻止页面跳转。

因此,现有技术采用根据鼠标位置获取元素信息的方法。然而,采用根据鼠标位置获取元素信息的方法,存在如下缺陷:

1.需要编写关于鼠标位置的兼容性代码。因为在不同的浏览器上,关于鼠标位置的浏览器对象具有差异。

2.需要计算鼠标位置和实现从鼠标位置获取页面元素的信息的复杂逻辑。

发明内容

基于此,有必要针对现有技术在自动化测试编辑过程中无法阻止页面元素跳转导致获取页面元素的信息存在困难的技术问题,提供一种自动化测试脚本编辑中获取页面元素的方法及系统。

一种自动化测试脚本编辑中获取页面元素的信息的方法,包括:

响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;

对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;

响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。

一种自动化测试脚本编辑中获取页面元素的信息的系统,包括:

页面元素获取模块,用于响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;

事件处理器绑定模块,用于对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;

事件处理器执行模块,用于响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。

本发明通过对页面元素绑定生成阻挡层的事件处理器,因此用户在点击页面元素时,由于已经绑定事件处理器,因此系统会首先执行事件处理器的回调处理逻辑,生成一层阻挡层,从而停止了对页面元素跳转逻辑的响应,以获取对应的页面元素的信息。从而使得能够通过自动化测试脚本编辑器从外界(如浏览器扩展)阻止页面跳转行为,并直接获得需要操作的页面元素对象。

附图说明

图1为本发明一种自动化测试脚本编辑中获取页面元素的信息的方法的工作流程图;

图2为本发明的一个例子的插件截图;

图3为本发明一个例子的工作流程图;

图4为本发明一种自动化测试脚本编辑中获取页面元素的信息的系统的结构模块图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步详细的说明。

如图1所示为本发明一种自动化测试脚本编辑中获取页面元素的信息的方法的工作流程图,包括:

步骤S101,响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;

步骤S102,对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;

步骤S103,响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。

如图2所示为本发明的一个例子的插件截图,图2中底部的界面21就是浏览器扩展即自动化测试脚本编辑器在网页上所显示的界面。这个扩展的主要功能就是协助用户定位页面上的元素,然后保存成自动化测试脚本,用于回归测试,用户在图2上部的页面22上的操作就会被重新执行。其中,页面22即为待测试页面。

例如:用户需要测试“百度一下”这个按钮23,用户首先在Command一栏输入命令clickAndWait,然后鼠标点击一下Target一栏下的输入框,此时则会触发步骤S101,后台获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素,然后执行步骤S102,对每个所述页面元素分别绑定事件处理器。然后,用户点击一下“百度一下”按钮23,此时触发步骤S103,因为绑定了事件处理器因此会生成阻挡层,阻挡层罩住当前页面元素,因此避免了用户对当前页面元素的再次点击,使得页面不会跳转,从而能够有足够的时间获取按钮23的定位信息,并将按钮23的定位信息css=#su填充到Target一栏的输入框。

本发明通过在用户点击页面元素时,由于页面元素已经绑定事件处理器,因此系统会首先执行事件处理器的回调处理逻辑,生成一层阻挡层,从而停止了对页面元素跳转逻辑的响应,以获取对应的页面元素的信息。

与根据鼠标位置获取元素信息的方法相比,本发明存在如下优点:

1不用编写关于鼠标位置的兼容性代码。因为在不同的浏览器上,关于鼠标位置的浏览器对象具有差异;

2不用计算鼠标位置和实现从鼠标位置获取页面元素的信息的复杂逻辑,事件处理器能直接获得代表页面元素对象的this指针,直接获取该页面元素的信息。

在其中一个实施例中,所述回调处理逻辑包括:

弹出阻挡层罩住当前页面元素;

向所述自动化测试脚本编辑器返回当前页面元素的信息;

延迟预设时间后,隐藏所述阻挡层。

本实施例在弹出阻挡层后,阻挡层罩住当前页面元素,因此避免了用户对当前页面元素的再次点击,从而能够有足够的时间获取当前页面元素的信息,获取当前页面元素的信息后,延迟预设时间后,隐藏阻挡层,避免阻挡层阻挡页面元素的显示。其中,预设时间,优选为1秒。

在其中一个实施例中,所述阻挡层为蒙版层。

阻挡层可以为现有网页应用技术中的各种元素,例如可以采用图片作为阻挡层,即可以避免了用户对当前页面元素的再次点击,从而避免页面跳转并获得当前页面元素的信息。然而,采用图片等元素会导致当前页面元素被完全遮盖,影响用户体验。而本实施例采用蒙版层,使得用户既能看到当前页面元素,又能防止用户对当前页面元素的再次点击,避免影响用户体验。

在其中一个实施例中,还包括:

向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,解除所述待测试页面上的所有页面元素与事件处理器的绑定。

在向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,可以解除页面元素与事件处理器的绑定,使得发生页面跳转的页面元素能够执行页面跳转。

在其中一个实施例中,还包括:

解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待测试页面上的页面元素的点击,执行被点击的页面元素的页面跳转。

本实施例,在解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待测试页面上的页面元素的点击,则用户就可以在不同的页面进行页面元素定位,获取不同页面的页面元素的信息,完成自动化测试脚本的编辑。

例如,在图2所示例子中,在阻挡层(蒙版层)消失后,由于与按钮23绑定的事件处理器被解除,因此,用户再次点击“百度一下”按钮23,就会跳转到新的页面。

如图3所示为本发明一个例子的工作流程图,其中,包括:

步骤31激活:用户激活事件处理器就相当于用户点击图2中的Target栏目下面的输入框。

步骤32绑定事件处理器到页面元素:绑定事件处理器到页面元素,此时,页面元素就被绑定了与事件处理器关联的事件处理函数。

步骤33点击页面元素:用点击需要定位的页面元素,触发事件处理器。

步骤34回调事件处理器:事件处理器响应绑定的事件。

步骤35回调处理逻辑:事件处理器的回调处理逻辑:执行A弹出蒙版层障住下层页面、B获取页面元素的信息、C延迟一秒、D隐藏蒙版层(这就是点击页面元素时,不会跳转的根本原因)。

步骤36处理逻辑回调完毕:处理逻辑回调完毕。

步骤37解除绑定事件处理器:此时,页面元素已经恢复到原始状态,会响应原始点击事件。

步骤38点击页面元素:由于事件处理器的绑定已经解除,点击会发生跳转。

步骤39跳转:跳转到新页面后,用户又可以按照前面的步骤操作页面元素。如此往复,就可以获取多个页面上元素的信息。

如图4所示为本发明一种自动化测试脚本编辑中获取页面元素的信息的系统的结构模块图,包括:

页面元素获取模块401,用于响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;

事件处理器绑定模块402,用于对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;

事件处理器执行模块403,用于响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。

在其中一个实施例中,所述回调处理逻辑包括:

弹出阻挡层罩住当前页面元素;

向所述自动化测试脚本编辑器返回当前页面元素的信息;

延迟预设时间后,隐藏所述阻挡层。

在其中一个实施例中,所述阻挡层为蒙版层。

在其中一个实施例中,还包括:

向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,解除所述待测试页面上的所有页面元素与事件处理器的绑定。

在其中一个实施例中,还包括:

解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待测试页面上的页面元素的点击,执行被点击的页面元素的页面跳转。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号