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

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

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

【背景技术】
[0002] 在开发浏览器插件时,可能需要点击页面上的某些页面元素来获取这些页面元素 的信息。但是,很多页面元素会绑定事件,点击页面元素之后事件会被响应,某些事件会导 致页面跳转,从而导致无法获取页面元素的信息。
[0003] 由于插件不能取消网页原本的绑定的事件,现有技术使用阻止事件冒泡、阻止浏 览器默认行为等方法都无法阻止页面跳转。
[0004] 因此,现有技术采用根据鼠标位置获取元素信息的方法。然而,采用根据鼠标位置 获取元素信息的方法,存在如下缺陷:
[0005] 1.需要编写关于鼠标位置的兼容性代码。因为在不同的浏览器上,关于鼠标位置 的浏览器对象具有差异。
[0006] 2.需要计算鼠标位置和实现从鼠标位置获取页面元素的信息的复杂逻辑。


【发明内容】

[0007] 基于此,有必要针对现有技术在自动化测试编辑过程中无法阻止页面元素跳转导 致获取页面元素的信息存在困难的技术问题,提供一种自动化测试脚本编辑中获取页面元 素的方法及系统。
[0008] -种自动化测试脚本编辑中获取页面元素的信息的方法,包括:
[0009] 响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本 编辑器所测试的待测试页面上的所有页面元素;
[0010] 对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;
[0011] 响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面 元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向 所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。
[0012] 一种自动化测试脚本编辑中获取页面元素的信息的系统,包括:
[0013] 页面元素获取模块,用于响应于自动化测试脚本编辑器中获取页面元素的信息命 令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;
[0014] 事件处理器绑定模块,用于对每个所述页面元素分别绑定用于生成阻挡层的事件 处理器;
[0015] 事件处理器执行模块,用于响应于对所述待测试页面上的页面元素的点击,被点 击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住 当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调 处理逻辑。
[0016] 本发明通过对页面元素绑定生成阻挡层的事件处理器,因此用户在点击页面元素 时,由于已经绑定事件处理器,因此系统会首先执行事件处理器的回调处理逻辑,生成一层 阻挡层,从而停止了对页面元素跳转逻辑的响应,以获取对应的页面元素的信息。从而使得 能够通过自动化测试脚本编辑器从外界(如浏览器扩展)阻止页面跳转行为,并直接获得 需要操作的页面元素对象。

【专利附图】

【附图说明】
[0017] 图1为本发明一种自动化测试脚本编辑中获取页面元素的信息的方法的工作流 程图;
[0018] 图2为本发明的一个例子的插件截图;
[0019] 图3为本发明一个例子的工作流程图;
[0020] 图4为本发明一种自动化测试脚本编辑中获取页面元素的信息的系统的结构模 块图。

【具体实施方式】
[0021] 下面结合附图和具体实施例对本发明做进一步详细的说明。
[0022] 如图1所示为本发明一种自动化测试脚本编辑中获取页面元素的信息的方法的 工作流程图,包括:
[0023] 步骤S101,响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动 化测试脚本编辑器所测试的待测试页面上的所有页面元素;
[0024] 步骤S102,对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;
[0025] 步骤S103,响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作 为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的 阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。
[0026] 如图2所示为本发明的一个例子的插件截图,图2中底部的界面21就是浏览器扩 展即自动化测试脚本编辑器在网页上所显示的界面。这个扩展的主要功能就是协助用户定 位页面上的元素,然后保存成自动化测试脚本,用于回归测试,用户在图2上部的页面22上 的操作就会被重新执行。其中,页面22即为待测试页面。
[0027] 例如:用户需要测试"百度一下"这个按钮23,用户首先在Command -栏输入命令 clickAndWait,然后鼠标点击一下Target -栏下的输入框,此时则会触发步骤S101,后台 获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素,然后执行步骤S102, 对每个所述页面元素分别绑定事件处理器。然后,用户点击一下"百度一下"按钮23,此时 触发步骤S103,因为绑定了事件处理器因此会生成阻挡层,阻挡层罩住当前页面元素,因此 避免了用户对当前页面元素的再次点击,使得页面不会跳转,从而能够有足够的时间获取 按钮23的定位信息,并将按钮23的定位信息css = #su填充到Target -栏的输入框。
[0028] 本发明通过在用户点击页面元素时,由于页面元素已经绑定事件处理器,因此系 统会首先执行事件处理器的回调处理逻辑,生成一层阻挡层,从而停止了对页面元素跳转 逻辑的响应,以获取对应的页面元素的信息。
[0029] 与根据鼠标位置获取元素信息的方法相比,本发明存在如下优点:
[0030] 1不用编写关于鼠标位置的兼容性代码。因为在不同的浏览器上,关于鼠标位置的 浏览器对象具有差异;
[0031] 2不用计算鼠标位置和实现从鼠标位置获取页面元素的信息的复杂逻辑,事件处 理器能直接获得代表页面元素对象的this指针,直接获取该页面元素的信息。
[0032] 在其中一个实施例中,所述回调处理逻辑包括:
[0033] 弹出阻挡层罩住当前页面元素;
[0034] 向所述自动化测试脚本编辑器返回当前页面元素的信息;
[0035] 延迟预设时间后,隐藏所述阻挡层。
[0036] 本实施例在弹出阻挡层后,阻挡层罩住当前页面元素,因此避免了用户对当前页 面元素的再次点击,从而能够有足够的时间获取当前页面元素的信息,获取当前页面元素 的信息后,延迟预设时间后,隐藏阻挡层,避免阻挡层阻挡页面元素的显示。其中,预设时 间,优选为1秒。
[0037] 在其中一个实施例中,所述阻挡层为蒙版层。
[0038] 阻挡层可以为现有网页应用技术中的各种元素,例如可以采用图片作为阻挡层, 即可以避免了用户对当前页面元素的再次点击,从而避免页面跳转并获得当前页面元素的 信息。然而,采用图片等元素会导致当前页面元素被完全遮盖,影响用户体验。而本实施例 采用蒙版层,使得用户既能看到当前页面元素,又能防止用户对当前页面元素的再次点击, 避免影响用户体验。
[0039] 在其中一个实施例中,还包括:
[0040] 向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,解 除所述待测试页面上的所有页面元素与事件处理器的绑定。
[0041] 在向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后, 可以解除页面元素与事件处理器的绑定,使得发生页面跳转的页面元素能够执行页面跳 转。
[0042] 在其中一个实施例中,还包括:
[0043] 解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待 测试页面上的页面元素的点击,执行被点击的页面元素的页面跳转。
[0044] 本实施例,在解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响 应于对所述待测试页面上的页面元素的点击,则用户就可以在不同的页面进行页面元素定 位,获取不同页面的页面元素的信息,完成自动化测试脚本的编辑。
[0045] 例如,在图2所示例子中,在阻挡层(蒙版层)消失后,由于与按钮23绑定的事件 处理器被解除,因此,用户再次点击"百度一下"按钮23,就会跳转到新的页面。
[0046] 如图3所示为本发明一个例子的工作流程图,其中,包括:
[0047] 步骤31激活:用户激活事件处理器就相当于用户点击图2中的Target栏目下面 的输入框。
[0048] 步骤32绑定事件处理器到页面元素:绑定事件处理器到页面元素,此时,页面元 素就被绑定了与事件处理器关联的事件处理函数。
[0049] 步骤33点击页面元素:用点击需要定位的页面元素,触发事件处理器。
[0050] 步骤34回调事件处理器:事件处理器响应绑定的事件。
[0051] 步骤35回调处理逻辑:事件处理器的回调处理逻辑:执行A弹出蒙版层障住下层 页面、B获取页面元素的信息、C延迟一秒、D隐藏蒙版层(这就是点击页面元素时,不会跳 转的根本原因)。
[0052] 步骤36处理逻辑回调完毕:处理逻辑回调完毕。
[0053] 步骤37解除绑定事件处理器:此时,页面元素已经恢复到原始状态,会响应原始 点击事件。
[0054] 步骤38点击页面元素:由于事件处理器的绑定已经解除,点击会发生跳转。
[0055] 步骤39跳转:跳转到新页面后,用户又可以按照前面的步骤操作页面元素。如此 往复,就可以获取多个页面上元素的信息。
[0056] 如图4所示为本发明一种自动化测试脚本编辑中获取页面元素的信息的系统的 结构模块图,包括:
[0057] 页面元素获取模块401,用于响应于自动化测试脚本编辑器中获取页面元素的信 息命令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;
[0058] 事件处理器绑定模块402,用于对每个所述页面元素分别绑定用于生成阻挡层的 事件处理器;
[0059] 事件处理器执行模块403,用于响应于对所述待测试页面上的页面元素的点击,被 点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩 住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回 调处理逻辑。
[0060] 在其中一个实施例中,所述回调处理逻辑包括:
[0061] 弹出阻挡层罩住当前页面元素;
[0062] 向所述自动化测试脚本编辑器返回当前页面元素的信息;
[0063] 延迟预设时间后,隐藏所述阻挡层。
[0064] 在其中一个实施例中,所述阻挡层为蒙版层。
[0065] 在其中一个实施例中,还包括:
[0066] 向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,解 除所述待测试页面上的所有页面元素与事件处理器的绑定。
[0067] 在其中一个实施例中,还包括:
[0068] 解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待 测试页面上的页面元素的点击,执行被点击的页面元素的页面跳转。
[0069] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并 不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员 来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保 护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1. 一种自动化测试脚本编辑中获取页面元素的信息的方法,其特征在于,包括: 响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本编辑 器所测试的待测试页面上的所有页面元素; 对每个所述页面元素分别绑定用于生成阻挡层的事件处理器; 响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元 素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所 述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。
2. 根据权利要求1所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特征 在于,所述回调处理逻辑包括: 弹出阻挡层罩住当前页面元素; 向所述自动化测试脚本编辑器返回当前页面元素的信息; 延迟预设时间后,隐藏所述阻挡层。
3. 根据权利要求1所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特征 在于,所述阻挡层为蒙版层。
4. 根据权利要求1所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特征 在于,还包括: 向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,解除所 述待测试页面上的所有页面元素与事件处理器的绑定。
5. 根据权利要求4所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特征 在于,还包括: 解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待测试 页面上的页面元素的点击,执行被点击的页面元素的页面跳转。
6. -种自动化测试脚本编辑中获取页面元素的信息的系统,其特征在于,包括: 页面元素获取模块,用于响应于自动化测试脚本编辑器中获取页面元素的信息命令, 获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素; 事件处理器绑定模块,用于对每个所述页面元素分别绑定用于生成阻挡层的事件处理 器; 事件处理器执行模块,用于响应于对所述待测试页面上的页面元素的点击,被点击的 页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前 页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理 逻辑。
7. 根据权利要求6所述的自动化测试脚本编辑中获取页面元素的信息的系统,其特征 在于,所述回调处理逻辑包括: 弹出阻挡层罩住当前页面元素; 向所述自动化测试脚本编辑器返回当前页面元素的信息; 延迟预设时间后,隐藏所述阻挡层。
8. 根据权利要求6所述的自动化测试脚本编辑中获取页面元素的信息的系统,其特征 在于,所述阻挡层为蒙版层。
9. 根据权利要求6所述的自动化测试脚本编辑中获取页面元素的信息的系统,其特征 在于,还包括: 向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,解除所 述待测试页面上的所有页面元素与事件处理器的绑定。
10.根据权利要求9所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特 征在于,还包括: 解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待测试 页面上的页面元素的点击,执行被点击的页面元素的页面跳转。
【文档编号】G06F17/30GK104156445SQ201410400272
【公开日】2014年11月19日 申请日期:2014年8月14日 优先权日:2014年8月14日
【发明者】王崟平 申请人:北京京东尚科信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1