CN104156445A - 自动化测试脚本编辑中获取页面元素的方法及系统 - Google Patents
自动化测试脚本编辑中获取页面元素的方法及系统 Download PDFInfo
- Publication number
- CN104156445A CN104156445A CN201410400272.0A CN201410400272A CN104156445A CN 104156445 A CN104156445 A CN 104156445A CN 201410400272 A CN201410400272 A CN 201410400272A CN 104156445 A CN104156445 A CN 104156445A
- Authority
- CN
- China
- Prior art keywords
- page
- page elements
- information
- automatic test
- test script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Abstract
本发明公开一种自动化测试脚本编辑中获取页面元素的信息的方法,包括:响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。本发明使得能够通过自动化测试脚本编辑器阻止页面跳转行为,并直接获得需要操作的页面元素对象。
Description
技术领域
本发明涉及自动化测试相关技术领域,特别是一种自动化测试脚本编辑中获取页面元素的方法及系统。
背景技术
在开发浏览器插件时,可能需要点击页面上的某些页面元素来获取这些页面元素的信息。但是,很多页面元素会绑定事件,点击页面元素之后事件会被响应,某些事件会导致页面跳转,从而导致无法获取页面元素的信息。
由于插件不能取消网页原本的绑定的事件,现有技术使用阻止事件冒泡、阻止浏览器默认行为等方法都无法阻止页面跳转。
因此,现有技术采用根据鼠标位置获取元素信息的方法。然而,采用根据鼠标位置获取元素信息的方法,存在如下缺陷:
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,用于响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。
在其中一个实施例中,所述回调处理逻辑包括:
弹出阻挡层罩住当前页面元素;
向所述自动化测试脚本编辑器返回当前页面元素的信息;
延迟预设时间后,隐藏所述阻挡层。
在其中一个实施例中,所述阻挡层为蒙版层。
在其中一个实施例中,还包括:
向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,解除所述待测试页面上的所有页面元素与事件处理器的绑定。
在其中一个实施例中,还包括:
解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待测试页面上的页面元素的点击,执行被点击的页面元素的页面跳转。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种自动化测试脚本编辑中获取页面元素的信息的方法,其特征在于,包括:
响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;
对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;
响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。
2.根据权利要求1所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特征在于,所述回调处理逻辑包括:
弹出阻挡层罩住当前页面元素;
向所述自动化测试脚本编辑器返回当前页面元素的信息;
延迟预设时间后,隐藏所述阻挡层。
3.根据权利要求1所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特征在于,所述阻挡层为蒙版层。
4.根据权利要求1所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特征在于,还包括:
向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,解除所述待测试页面上的所有页面元素与事件处理器的绑定。
5.根据权利要求4所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特征在于,还包括:
解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待测试页面上的页面元素的点击,执行被点击的页面元素的页面跳转。
6.一种自动化测试脚本编辑中获取页面元素的信息的系统,其特征在于,包括:
页面元素获取模块,用于响应于自动化测试脚本编辑器中获取页面元素的信息命令,获取自动化测试脚本编辑器所测试的待测试页面上的所有页面元素;
事件处理器绑定模块,用于对每个所述页面元素分别绑定用于生成阻挡层的事件处理器;
事件处理器执行模块,用于响应于对所述待测试页面上的页面元素的点击,被点击的页面元素作为当前页面元素,绑定在所述当前页面元素上的事件处理器进行生成罩住当前页面元素的阻挡层并向所述自动化测试脚本编辑器返回当前页面元素的信息的回调处理逻辑。
7.根据权利要求6所述的自动化测试脚本编辑中获取页面元素的信息的系统,其特征在于,所述回调处理逻辑包括:
弹出阻挡层罩住当前页面元素;
向所述自动化测试脚本编辑器返回当前页面元素的信息;
延迟预设时间后,隐藏所述阻挡层。
8.根据权利要求6所述的自动化测试脚本编辑中获取页面元素的信息的系统,其特征在于,所述阻挡层为蒙版层。
9.根据权利要求6所述的自动化测试脚本编辑中获取页面元素的信息的系统,其特征在于,还包括:
向所述自动化测试脚本编辑器返回当前页面元素的信息的页面元素的信息后,解除所述待测试页面上的所有页面元素与事件处理器的绑定。
10.根据权利要求9所述的自动化测试脚本编辑中获取页面元素的信息的方法,其特征在于,还包括:
解除所述待测试页面上的所有页面元素与事件处理器的绑定后,响应于对所述待测试页面上的页面元素的点击,执行被点击的页面元素的页面跳转。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410400272.0A CN104156445B (zh) | 2014-08-14 | 2014-08-14 | 自动化测试脚本编辑中获取页面元素的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410400272.0A CN104156445B (zh) | 2014-08-14 | 2014-08-14 | 自动化测试脚本编辑中获取页面元素的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104156445A true CN104156445A (zh) | 2014-11-19 |
CN104156445B CN104156445B (zh) | 2018-04-27 |
Family
ID=51881943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410400272.0A Active CN104156445B (zh) | 2014-08-14 | 2014-08-14 | 自动化测试脚本编辑中获取页面元素的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104156445B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468672A (zh) * | 2015-11-12 | 2016-04-06 | 广州视睿电子科技有限公司 | 截取网页局部区域css样式的方法和系统 |
CN110851050A (zh) * | 2019-10-17 | 2020-02-28 | 稿定(厦门)科技有限公司 | 页面元素点击测试的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382947A (zh) * | 2008-09-26 | 2009-03-11 | 新浪技术(中国)有限公司 | 在页面中确定点击分布信息的方法和装置 |
EP2388714A1 (en) * | 2010-05-19 | 2011-11-23 | Samsung Electronics Co., Ltd. | Apparatus and method for segmentation of web pages |
CN103279345A (zh) * | 2013-05-28 | 2013-09-04 | 星云融创(北京)信息技术有限公司 | 一种对页面元素进行锁定的方法及装置 |
CN103631829A (zh) * | 2012-08-28 | 2014-03-12 | 阿里巴巴集团控股有限公司 | 一种网页访问请求的响应方法和装置 |
-
2014
- 2014-08-14 CN CN201410400272.0A patent/CN104156445B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382947A (zh) * | 2008-09-26 | 2009-03-11 | 新浪技术(中国)有限公司 | 在页面中确定点击分布信息的方法和装置 |
EP2388714A1 (en) * | 2010-05-19 | 2011-11-23 | Samsung Electronics Co., Ltd. | Apparatus and method for segmentation of web pages |
CN103631829A (zh) * | 2012-08-28 | 2014-03-12 | 阿里巴巴集团控股有限公司 | 一种网页访问请求的响应方法和装置 |
CN103279345A (zh) * | 2013-05-28 | 2013-09-04 | 星云融创(北京)信息技术有限公司 | 一种对页面元素进行锁定的方法及装置 |
Non-Patent Citations (3)
Title |
---|
AQUARIUS.ZF: "Javascript如何获得input元素value值", 《HTTP://AQUARIUS-ZF.ITEYE.COM/BLOG/605144》 * |
UDE.YU: "自制的JQuery遮罩层插件,可以根据选择器选择的元素进行遮罩", 《HTTP://WWW1.QDFUNS.COM/THREAD-5597339-1-1.HTML》 * |
笑剑钝: "jQuery选择器this通过onclick传入方法以及Jquery中的this与$(this)初探,this传处变量等", 《WWW.CNBLOGS.COM/JACKYDALONG/P/3356965.HTML》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468672A (zh) * | 2015-11-12 | 2016-04-06 | 广州视睿电子科技有限公司 | 截取网页局部区域css样式的方法和系统 |
CN105468672B (zh) * | 2015-11-12 | 2019-04-09 | 广州视睿电子科技有限公司 | 截取网页局部区域css样式的方法和系统 |
CN110851050A (zh) * | 2019-10-17 | 2020-02-28 | 稿定(厦门)科技有限公司 | 页面元素点击测试的方法及装置 |
CN110851050B (zh) * | 2019-10-17 | 2022-03-01 | 稿定(厦门)科技有限公司 | 页面元素点击测试的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104156445B (zh) | 2018-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3215900B1 (en) | Robotic process automation | |
US10853232B2 (en) | Adaptive system for mobile device testing | |
US9342237B2 (en) | Automated testing of gesture-based applications | |
AU2016201389A1 (en) | Method and system for process automation in computing | |
CN104346267B (zh) | 生成程序缺陷定位信息的方法及装置 | |
CN103729285A (zh) | 一种网页测试方法、设备及系统 | |
US11507497B2 (en) | Methods and systems for automated testing using browser extension | |
WO2017001560A1 (en) | Robotic process automation | |
CN104268083A (zh) | 软件自动化测试方法和装置 | |
US11003570B2 (en) | Performing a mirror test for localization testing | |
CN104346279A (zh) | 一种软件测试方法及装置 | |
CN109375921A (zh) | 页面文件快速编译方法、装置及存储设备、计算机设备 | |
US10521499B2 (en) | Method and device for editing data | |
Leno et al. | Robidium: automated synthesis of robotic process automation scripts from UI logs | |
US9003378B2 (en) | Client-side application script error processing | |
CN107102937B (zh) | 一种用户界面测试方法和装置 | |
CN104156445A (zh) | 自动化测试脚本编辑中获取页面元素的方法及系统 | |
US10042638B2 (en) | Evaluating documentation coverage | |
US8706699B2 (en) | Transaction history with bounded operation sequences | |
CN115514677B (zh) | 服务器拨测方法及系统 | |
CN106598797B (zh) | 一种多路径io的故障注入方法、系统及故障管理系统 | |
US10169216B2 (en) | Simulating sensors | |
CN107111525A (zh) | 数据处理设备中的系统错误处置 | |
US10984003B2 (en) | Report generation for a digital task | |
US20140245159A1 (en) | Transport script generation based on a user interface script |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191204 Address after: 100176 room 222, 2f, building C, No. 18, Kechuang 11th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing Patentee after: Beijing Jingdong three hundred and sixty degree e-commerce Co., Ltd. Address before: 100080 Beijing city Haidian District xingshikou Road No. 65 building 11C Creative Park West West west Shan East 1-4 layer 1-4 layer Patentee before: Beijing Jingdong Shangke Information Technology Co., Ltd. |