CN111274156B - 兼容多框架页面的自动识别方法及装置 - Google Patents
兼容多框架页面的自动识别方法及装置 Download PDFInfo
- Publication number
- CN111274156B CN111274156B CN202010117656.7A CN202010117656A CN111274156B CN 111274156 B CN111274156 B CN 111274156B CN 202010117656 A CN202010117656 A CN 202010117656A CN 111274156 B CN111274156 B CN 111274156B
- Authority
- CN
- China
- Prior art keywords
- page
- control
- current
- frame
- mouse
- 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.)
- Active
Links
Images
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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- 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/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种兼容多框架页面自动识别方法及装置,其中方法包括:调用WebBrowser控件启动IE浏览器,打开页面;判断打开的页面是否加载完成,如果加载完成,获取已打开页面的文档对象;判断文档对象是否为空,如果不为空,解析当前页面的文档对象,并给当前页面包含的所有控件绑定鼠标事件;判断所述文档对象是否含有Frame/Iframe对象,如果有,给文档对象中的Frame/Iframe对象及其多层子Frame/Iframe对象绑定鼠标事件,如果没有,执行下一步骤;在当前页面触发鼠标事件,根据鼠标事件获取当前控件对象;解析并获取当前控件对象的属性;标记获取的控件并同步显示在页面上,保存当前控件属性到表格。该方法及装置可以兼容多框架,降低测试使用者的技术门槛。
Description
技术领域
本发明涉及计算机测试领域,特别是涉及一种兼容多框架页面的自动识别方法及装置。
背景技术
网页自动化测试通过软件或自动化工具自动操作浏览器和页面控件等完成网页的一系列测试,如何精准的定位到页面上的按钮、输入框等控件,成为自动化网页测试的重点和难点。现有技术中,只有Chrome浏览器基于JavaScript监听对页面进行识别,其通过当前获取鼠标焦点事件作为标记得到当前控件,逐层向上循环得到控件的相对页面的路径,定位其位置获取属性。
然而,基于JavaScript监听功能,无法识别IE浏览器页面中的控件;无法兼容复杂框架,比如Frame/Iframe多层嵌套;无法对第三方控件进行兼容。
发明内容
本发明的目的在于提供一种兼容多框架页面的自动识别方法,可以兼容IE浏览器及多种网页框架,降低测试使用者的技术门槛。
为实现上述目的,本发明提供了一种兼容多框架页面的自动识别方法,包括:
步骤1,调用WebBrowser控件启动IE浏览器,打开页面;
步骤2,判断打开的页面是否加载完成,如果加载完成,获取已打开页面的文档对象;
步骤3,判断文档对象是否为空,如果不为空,解析当前页面的文档对象,并给当前页面包含的所有控件绑定鼠标事件;
步骤4,判断所述文档对象是否含有Frame/Iframe对象,如果有,给文档对象中的Frame/Iframe对象及其多层子Frame/Iframe对象绑定鼠标事件,如果没有,执行下一步骤5;
步骤5,在当前页面触发鼠标事件,根据鼠标事件获取当前控件对象;
步骤6,解析并获取当前控件对象的属性;
步骤7,标记获取的控件并同步显示在页面上,保存当前控件属性到表格;
步骤8,移动鼠标到当前页面的其他控件,重复步骤5至步骤7。
可选的或优选的,创建IE浏览器页面对象后加载网页文档,页面元素通过html以文字、按钮以及输入框等形式渲染在页面上。
可选的或优选的,解析IE浏览器页面HtmlDocument对象时,通过网页元素e,获取当前控件的属性。
可选的或优选的,解析并获取该控件对象在当前层的xpath路径,同时获得其name值、id值等信息。
可选的或优选的,通过快速键操作保存当前控件对象的信息。
本发明的目的还提供一种兼容多框架页面的自动识别装置,包括:识别模块,其用来识别页面、检测操作事件、识别页面元素对象;解析模块,其用来解析页面DOM结构、解析页面层级结构、解析页面控件属性信息;记录模块,其用来记录操作轨迹、记录定位表达式、记录操作事件、记录操作属性值。
可选的或优选的,识别模块通过WebBroswer创建IE浏览器进程,并完成对网页内容的提取,操作鼠标获取当前控件并进行识别。
可选的或优选的,解析模块通过当前获取鼠标焦点的控件在DOM结构的层级特点以及当前控件在层级中的位置,得到该控件在html中的相对xpath值,同时获得其name值、id值等信息。
可选的或优选的,记录模块通过识别模块获取到当前控件并标记,并通过解析模块将信息实时显示在相应的显示框中,再将识别出的控件信息、操作步骤、操作事件等自行保存。
本发明提供的技术方案带来的有益效果是:应用该技术可以实现自动识别网页控件对象、位置信息、执行动作信息以及输入的对应参数值,自动生成测试步骤。能兼容多种前台框架,降低使用者技术门槛,快速便捷实现页面控件定位和页面解析。
附图说明
图1是本发明实施例提供的兼容多框架页面的自动识别方法流程图。
图2是本发明实施例提供的兼容多框架页面的自动识别装置原理图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。显然,所描述的实施例实际上仅仅是说明性的或者示例性的,决不作为对本发明及其应用或使用的任何限制。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的全部细节均已了解的情况下实施。下面对实施例的描述仅仅是为了通过展示本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例1
如图1所示,本实施例的兼容多框架页面的自动识别方法,具体包括如下步骤:
步骤1,调用WebBrowser控件启动IE浏览器,打开页面。
步骤2,判断打开的页面是否加载完成,如果加载完成,获取已打开页面的文档对象。
步骤3,判断文档对象是否为空,如果不为空,解析当前页面的文档对象,并给当前页面包含的所有控件绑定鼠标事件。
步骤4,判断所述文档对象是否含有Frame/Iframe对象,如果有,给文档对象中的Frame/Iframe对象及其多层子Frame/Iframe对象绑定鼠标事件,如果没有,执行下一步骤5。
步骤5,在当前页面触发鼠标事件,根据鼠标事件获取当前控件对象。
步骤6,解析并获取当前控件对象的属性。
步骤7,标记获取的控件并同步显示在页面上,保存当前控件属性到表格。
步骤8,移动鼠标到当前页面的其他控件,重复步骤5至步骤7。
为了具体详细说明本方案,提供如下具体操作步骤:
1、本工具自动创建一个IE浏览器进程,输入地址打开一个指定网页。
2、等待页面加载完成,获取当前页面的文档对象。
3、获取当前页面对象,利用循环递归的方法给其Frame对象及其子Frame对象添加鼠标事件。
4、监听鼠标对A元素、B元素的鼠标事件。
5、解析当前页面对象和A元素、B元素的控件属性,包括ID、NAME、CLASS、XPATH、CSS等,根据优先级进行选取,优先级排序为:ID>NAME>CLASS>XPATH>CSS。
6、对操作的A目标元素和B目标元素进行属性设置并且为其边缘添加红框。
7、按Alt+Q键,保存A元素的定位方式为id,定位路径为su,事件为click;保存B元素的定位方式为xpath,定位路径为***,执行事件为text,输入value为“你好”。
8、移动鼠标到新元素,重复5-7。
实施例2
如图2所示,本实施例的兼容多框架页面的自动识别装置,具体包括如下模块:
识别模块:用来识别页面,检测操作事件,识别页面元素对象。
本模块是实现本文所述方法的前提,主要利用WebBrowser调用IE内核调用IE浏览器访问网页,操作鼠标识别控件并保存其属性。
通过调用IE内核创建IE浏览器进程并访问目标网页,当页面内容加载完成后,页面元素通过html以文字、按钮以及输入框等形式渲染在页面上,相当于浏览器的功能。得到网页之后,鼠标即可在网页上操作,每当鼠标悬浮在某个控件上,获取鼠标事件的当前对象,判断当前对象的层级结构解析出最小控件,然后识别出的当前控件并标红。
解析模块:解析页面DOM结构,解析页面层级结构,解析页面控件属性信息;
本模块为装置的核心模块,主要完成对控件的信息解析以及提取。一个复杂的网页一般有多层嵌套结构组成,关联的鼠标事件只能传递到页面层级的最上层,通过获取到的页面整体句柄分析出层级结构,根据层级结构逐层绑定鼠标事件,解析每层的最小单元控件元素,获取该控件在当前层的xpath路径,同时获得其name值、id值等信息。根据层级位置递推得出当前元素在整个页面中的路径。
记录模块:记录操作轨迹,记录定位表达式,记录操作事件,记录操作属性值。
本模块对解析模块中的信息进行记录,并显示在页面上。通过识别模块获取到当前控件并标记,然后通过解析模块将信息实时显示在相应的显示框中,根据测试案例进行步骤操作,每操作一步都可将识别出的控件信息,操作步骤,操作事件自行按快捷键保存。
除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利发明说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。
以上所述仅为本发明的示例实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种兼容多框架页面的自动识别方法,其特征在于,包括:
步骤1,调用WebBrowser控件启动IE浏览器,打开页面;创建IE浏览器页面对象后加载网页文档,页面对象通过html以文字、按钮以及输入框形式渲染在页面上;
步骤2,判断打开的页面是否加载完成,如果加载完成,获取已打开页面的文档对象;所述文档对象为HtmlDocument;
步骤3,判断文档对象是否为空,如果不为空,解析当前页面的文档对象,并给当前页面包含的所有控件绑定鼠标事件;
步骤4,判断所述文档对象是否含有Frame/Iframe对象,如果有,给文档对象中的Frame/Iframe对象及其多层子Frame/Iframe对象绑定鼠标事件,如果没有,执行下一步骤5;
步骤5,在当前页面触发鼠标事件,根据鼠标事件获取当前控件对象;
步骤6,解析并获取当前控件对象的属性;通过网页元素e,获取当前控件对象的属性,通过控件对象的属性获得标签元素信息;解析所述IE浏览器页面对象时,通过获取到的页面整体句柄分析出层级结构,根据层级结构逐层绑定鼠标事件,解析并获取该控件在当前层的xpath路径,同时获得其name值和id值信息;
步骤7,标记获取的控件并同步显示在页面上,保存当前控件属性到表格;
步骤8,移动鼠标到当前页面的其他控件,重复步骤5至步骤7。
2.根据权利要求1所述的兼容多框架页面的自动识别方法,其特征在于,通过快速键保存所述当前控件对象属性。
3.根据权利要求1所述的兼容多框架页面的自动识别方法,其特征在于,解析所述IE浏览器页面对象时,通过获取到的页面整体句柄分析出层级结构,根据层级结构逐层绑定鼠标事件,解析并获取该控件在当前层的xpath路径,同时获得其name值和id值信息。
4.一种兼容多框架页面的自动识别装置,其特征在于,包括:识别模块,其用来识别页面、检测鼠标事件以及识别控件对象;识别模块通过WebBroswer完成创建IE浏览器进程,并完成对网页内容的提取,操作鼠标获取当前控件的鼠标事件并进行识别;
解析模块,其用来解析页面DOM结构、解析页面层级结构以及解析页面控件属性信息;解析模块通过获取到的页面整体句柄分析出层级结构,根据层级结构逐层绑定鼠标事件,解析每层的最小单元控件元素,获取该控件在当前层的xpath路径,同时获得其name值以及id值信息,根据层级位置递推得出当前元素在整个页面中的路径;
记录模块,其用来记录操作轨迹、记录定位表达式、记录操作事件以及记录操作属性值;
所述记录模块通过所述识别模块获取到当前控件对象并标记,然后通过所述解析模块将信息实时显示在相应的显示框中,再根据测试案例操作步骤将识别出的控件信息、操作步骤以及操作事件自行保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117656.7A CN111274156B (zh) | 2020-02-25 | 2020-02-25 | 兼容多框架页面的自动识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117656.7A CN111274156B (zh) | 2020-02-25 | 2020-02-25 | 兼容多框架页面的自动识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274156A CN111274156A (zh) | 2020-06-12 |
CN111274156B true CN111274156B (zh) | 2023-06-06 |
Family
ID=70997368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010117656.7A Active CN111274156B (zh) | 2020-02-25 | 2020-02-25 | 兼容多框架页面的自动识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274156B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268412B (zh) * | 2021-04-30 | 2022-08-30 | 摩尔元数(福建)科技有限公司 | Web系统测试用例录制的控件解析方法、装置、设备和介质 |
CN113126992A (zh) * | 2021-05-11 | 2021-07-16 | 南京炫佳网络科技有限公司 | 一种控件元素的控制方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999579A (zh) * | 2012-11-13 | 2013-03-27 | 北京奇虎科技有限公司 | 页面文本框处理浏览器和页面文本框元素处理方法 |
CN107798084A (zh) * | 2017-10-17 | 2018-03-13 | 广东广业开元科技有限公司 | 一种web前端页面的可视化编辑生成系统及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101618152B1 (ko) * | 2009-09-11 | 2016-05-04 | 주식회사 엘지유플러스 | 터치스크린을 구비한 모바일 단말 및 그의 웹 페이지 드래그 방법 |
CN102117290B (zh) * | 2009-12-30 | 2015-03-18 | 北京搜狗科技发展有限公司 | 一种展现网页中页面元素的方法及系统 |
US20160212184A1 (en) * | 2012-09-05 | 2016-07-21 | Hbr Labs Llc | Platform and method for real-time synchronized co-browsing of web pages |
CN104424193B (zh) * | 2013-08-20 | 2019-04-09 | 腾讯科技(深圳)有限公司 | 一种在网页上呈现上传组件的方法及装置 |
CN106845781B (zh) * | 2016-12-22 | 2024-07-19 | 中信银行股份有限公司 | 用于业务测试的场景及流程的生成系统和方法 |
CN107562454A (zh) * | 2017-08-14 | 2018-01-09 | 国云科技股份有限公司 | 跨浏览器实时网页同步装置及实现方法 |
CN110297759B (zh) * | 2019-05-22 | 2022-04-12 | 深圳壹账通智能科技有限公司 | 一种制作测试页面脚本的方法、装置、设备及存储介质 |
CN110333908B (zh) * | 2019-06-14 | 2021-02-09 | 广东广信通信服务有限公司 | 一种业务流程自动化处理方法及装置 |
-
2020
- 2020-02-25 CN CN202010117656.7A patent/CN111274156B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999579A (zh) * | 2012-11-13 | 2013-03-27 | 北京奇虎科技有限公司 | 页面文本框处理浏览器和页面文本框元素处理方法 |
CN107798084A (zh) * | 2017-10-17 | 2018-03-13 | 广东广业开元科技有限公司 | 一种web前端页面的可视化编辑生成系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111274156A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268361B (zh) | 网页中隐藏url的提取方法、装置和系统 | |
CN110968989B (zh) | 在前端页面展示纠错信息的方法及装置 | |
CN111274156B (zh) | 兼容多框架页面的自动识别方法及装置 | |
CN109828906B (zh) | Ui自动化测试方法、装置、电子设备及存储介质 | |
CN107391675A (zh) | 用于生成结构化信息的方法和装置 | |
US11550990B2 (en) | Machine first approach for identifying accessibility, non-compliances, remediation techniques and fixing at run-time | |
US20100262598A1 (en) | User interface recognition device and user interface recognition method | |
CN108090104A (zh) | 用于获取网页信息的方法和装置 | |
CN106951495A (zh) | 用于呈现信息的方法和装置 | |
CN109240700B (zh) | 关键代码定位方法与系统 | |
KR101340588B1 (ko) | 웹페이지 구성방법 및 그 장치 | |
CN112417338A (zh) | 一种页面适配方法、系统及设备 | |
Xu et al. | Identifying semantic blocks in Web pages using Gestalt laws of grouping | |
CN111475237A (zh) | 菜单处理方法、装置、电子设备及存储介质 | |
US7073122B1 (en) | Method and apparatus for extracting structured data from HTML pages | |
JP2011076152A (ja) | キャプチャシステム | |
US20130179365A1 (en) | Systems and methods of rapid business discovery and transformation of business processes | |
CN110515618B (zh) | 页面信息录入优化方法、设备、存储介质及装置 | |
CN109062784B (zh) | 接口参数约束代码入口定位方法与系统 | |
CN115437930B (zh) | 网页应用指纹信息的识别方法及相关设备 | |
CN115373649B (zh) | 动态互联网内容无障碍改造方法及装置及网站内容无障碍改造方法 | |
US20070208767A1 (en) | Legacy Software Multimedia Capture and Analysis | |
CN116451271A (zh) | 一种应用软件的隐私政策自动提取方法 | |
CN111027319A (zh) | 自然语言时间词的解析方法、装置和计算机设备 | |
CN114595191A (zh) | 网页处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |