CN106354649A - 一种分层式网页自动化测试脚本设计方法 - Google Patents
一种分层式网页自动化测试脚本设计方法 Download PDFInfo
- Publication number
- CN106354649A CN106354649A CN201610827816.0A CN201610827816A CN106354649A CN 106354649 A CN106354649 A CN 106354649A CN 201610827816 A CN201610827816 A CN 201610827816A CN 106354649 A CN106354649 A CN 106354649A
- Authority
- CN
- China
- Prior art keywords
- layer
- web page
- page element
- script
- webpage
- 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.)
- Pending
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
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)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种分层式网页自动化测试脚本设计方法,具体方法如下:第一步,对脚本进行设计时进行分层式编写,编写为网页元素索引层、网页元素定位封装层、元素基础操作封装层、测试步骤编写层;第二步,将每一层进行模块化处理;第三步,执行脚本并进行测试。本发明针对传统未分层网页自动化测试脚本设计方法,通过分层编写脚本并进行模块化处理和封装,减少脚本设计的耦合度,从而降低自动化测试脚本的维护成本。
Description
技术领域
本发明涉及网页测试技术相关领域,具体地说是一种分层式网页自动化测试脚本设计方法。
背景技术
现有的网页自动化测试中,脚本的设计方法主要是直线型结构,即按实际操作步骤对脚本进行设计编写。如需定位元素时则在所需使用的地方进行定位,同一个元素多次使用时也会导致多次重复定位。
本方法最大的问题在于后期维护脚本时庞大的工作量,随着网页开发的版本更迭,很多网页元素的定位及网页操作步骤会随着网页版本产生变化,故自动化测试脚本中的元素定位和操作步骤也必须跟随网页实际变化进行调整。同一个元素的定位表达式不同,可能导致测试脚本中多处修改,甚至导致部分更改的遗漏,使测试脚本的维护变得耗时耗力。
发明内容
本发明的技术任务是提供一种一种分层式网页自动化测试脚本设计方法。
本发明的技术任务是按以下方式实现的,一种分层式网页自动化测试脚本设计方法,方法如下:第一步,对脚本进行设计时进行分层式编写,编写为网页元素索引层、网页元素定位封装层、元素基础操作封装层、测试步骤编写层;第二步,将每一层进行模块化处理;第三步,执行脚本并进行测试。
优选的,其中:所述的网页元素索引层,将网页元素的定位表达式单独存储为一个网页元素索引库;
所述的网页元素定位封装层,按照网页分类对页面元素进行定位并封装;
所述的元素基础操作封装层,实现网页元素的基本操作,例如点击按键,输入文本等。
所述的测试步骤编写层,对网页元素的基本操作进行拼装组合并完成测试步骤。
优选的,所述的网页元素索引层,在HTML为主流的网页测试中,使用id定位、css定位或Xpath定位方式,通过将以上定位表达式以文本方式存储并指定为定位库进行使用,从而完成网页元素索引层的编写;存储方式为,元素名称-定位表达式类型-具体定位表达式,调用时只需要指定元素名称获取具体定位方法;如果网页元素的位置及定位方法改变,只需修改本索引库而不必修改上层程序接口。
优选的,所述的网页元素定位封装层,通过使用定位命令对元素进行定位,所需定位表达式从网页元素索引层获取;本层对网页元素进行定位并封装,将同一个页面中的所有元素归类在同一个程序类概念中,通过初始化此类,通过调用类的公共变量方法直接获取本页面中所有元素,网页中元素的变更等可通过修改定位层进行调整。
优选的,所述的元素基础操作封装层,将基本网页操作进行编写,使用网页元素时调用上层网页元素定位层的公共变量,本层主要集中于编写基础操作动作组,对网页中的操作进行模块化分类整理,对每一个小模块编写网页操作步骤并封装到脚本中,只有当网页操作流程改变时,本层脚本才需进行相应修改。
优选的,所述的测试步骤编写层,通过调用上一层的网页基本操作,完成操作模块间的组合,进而完成整个网页测试,本层极少随网页改变而修改,可保证整体程序架构的稳定。
本发明的一种分层式网页自动化测试脚本设计方法和现有技术相比,对脚本进行设计时将网页元素索引、网页元素定位、网页元素操作、测试动作步骤进行分层式编写,将每一层进行模块化处理,从而达到网页元素定位、网页元素操作分离的目的,进而减少程序设计的耦合度,降低维护修改脚本时的复杂度,针对传统未分层网页自动化测试脚本设计方法,通过分层编写脚本并进行模块化处理和封装,减少脚本设计的耦合度,从而降低自动化测试脚本的维护成本。
附图说明
图1为自动化测试脚本分层设计示意图。
具体实施方式
针对传统未分层网页自动化测试脚本设计方法,通过分层编写脚本并进行模块化处理和封装,减少脚本设计的耦合度。本方法的创新之处在于脚本设计中层次的定义和使用。如果在脚本设计之初便使用多层次结构,对每一层网页的操作进行模块化封装,在实际网页更改时只需修改相对应的模块和层次,从而实现降低维护成本的目的。
针对传统未分层网页自动化测试脚本设计方法,通过分层编写脚本并进行模块化处理和封装,减少脚本设计的耦合度。
实施例1:
1、编写网页元素索引库:获取网页操作所需元素的定位表达式,可包括id定位、css定位或者Xpath定位。将所有定位表达式存放在统一的文本文档中方便上层结构调用。文本格式可使用“元素名称-定位表达式类型-具体定位表达式”的方式,指明使用什么定位方式以及定位表达式的具体内容。
2、编写网页元素定位封装层:在编写完网页元素索引库的基础上,按页面不同对元素进行分类,并用测试工具实际使用的定位命令对元素进行定位,每一个页面保存为一个单独程序文件,文件中定位所有本页面中用到的元素作为公共变量方便上层调用。
3、编写元素基础动作操作层:完成网页元素定位封装层后,将对网页元素常用的操作单元进行编写封装。每一个动作封装为一个单独的程序文件,动作以常用操作最小程度进行划分,例如点击按键、清空并输入文本等网页操作。编写完成的动作作为公共方法供上层调用。
4、编写测试步骤层:本层对基础动作操作层的单元操作进行拼装组合并完成整个每一个测试用。每个用例可调用多个基础动作并可加入逻辑判断。
5、执行脚本并进行测试:按测试用例执行脚本,每一个用例对应使用一个测试步骤编写层的程序文件。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (6)
1.一种分层式网页自动化测试脚本设计方法,其特征在于,方法如下:
第一步,对脚本进行设计时进行分层式编写,编写为网页元素索引层、网页元素定位封装层、元素基础操作封装层、测试步骤编写层;
第二步,将每一层进行模块化处理;
第三步,执行脚本并进行测试。
2.根据权利要求1所述的一种分层式网页自动化测试脚本设计方法,其特征在于,其中:所述的网页元素索引层,将网页元素的定位表达式单独存储为一个网页元素索引库;
所述的网页元素定位封装层,按照网页分类对页面元素进行定位并封装;
所述的元素基础操作封装层,实现网页元素的基本操作;
所述的测试步骤编写层,对网页元素的基本操作进行拼装组合并完成测试步骤。
3.根据权利要求2所述的一种分层式网页自动化测试脚本设计方法,其特征在于,所述的网页元素索引层,在HTML为主流的网页测试中,使用id定位、css定位或Xpath定位方式,通过将以上定位表达式以文本方式存储并指定为定位库进行使用,从而完成网页元素索引层的编写;存储时方式为,元素名称-定位表达式类型-具体定位表达,调用时只需要指定元素名称获取具体定位方法。
4.根据权利要求2所述的一种分层式网页自动化测试脚本设计方法,其特征在于,所述的网页元素定位封装层,通过使用定位命令对元素进行定位,所需定位表达式从网页元素索引层获取;本层对网页元素进行定位并封装,将同一个页面中的所有元素归类在同一个程序类概念中,通过初始化此类,通过调用类的公共变量方法直接获取本页面中所有元素。
5.根据权利要求2所述的一种分层式网页自动化测试脚本设计方法,其特征在于,所述的元素基础操作封装层,将基本网页操作进行编写,使用网页元素时调用上层网页元素定位层的公共变量,本层主要集中于编写基础操作动作组,对网页中的操作进行模块化分类整理,对每一个小模块编写网页操作步骤并封装到脚本中。
6.根据权利要求2所述的一种分层式网页自动化测试脚本设计方法,其特征在于,所述的测试步骤编写层,通过调用上一层的网页基本操作,完成操作模块间的组合,进而完成整个网页测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610827816.0A CN106354649A (zh) | 2016-09-18 | 2016-09-18 | 一种分层式网页自动化测试脚本设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610827816.0A CN106354649A (zh) | 2016-09-18 | 2016-09-18 | 一种分层式网页自动化测试脚本设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106354649A true CN106354649A (zh) | 2017-01-25 |
Family
ID=57858635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610827816.0A Pending CN106354649A (zh) | 2016-09-18 | 2016-09-18 | 一种分层式网页自动化测试脚本设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354649A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153614A (zh) * | 2017-05-12 | 2017-09-12 | 郑州云海信息技术有限公司 | 一种自动化测试页面导航组织方法 |
CN107733741A (zh) * | 2017-10-30 | 2018-02-23 | 中国电力科学研究院有限公司 | 用于协议一致性测试的软件架构方法及平台 |
CN107957948A (zh) * | 2017-12-07 | 2018-04-24 | 郑州云海信息技术有限公司 | 一种用户界面自动化测试装置及方法 |
CN108733571A (zh) * | 2018-05-28 | 2018-11-02 | 北京五八信息技术有限公司 | 一种测试方法、装置、设备及计算机可读存储介质 |
CN108897684A (zh) * | 2018-06-28 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种基于TestNG的回馈式网页自动化测试脚本设计方法 |
CN113505060A (zh) * | 2021-06-25 | 2021-10-15 | 北京控制工程研究所 | 一种面向航天器姿轨控软件的Python自动测试脚本编写方法 |
CN117591438A (zh) * | 2024-01-19 | 2024-02-23 | 易方信息科技股份有限公司 | 一种ui组件原子化的自动化测试方法及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996131A (zh) * | 2009-08-19 | 2011-03-30 | 航天信息股份有限公司 | 基于xml封装关键字的gui自动测试方法及自动测试平台 |
US20120124495A1 (en) * | 2009-11-23 | 2012-05-17 | Nitsan Amichai | System and method for object relationship identification in a user interface |
-
2016
- 2016-09-18 CN CN201610827816.0A patent/CN106354649A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996131A (zh) * | 2009-08-19 | 2011-03-30 | 航天信息股份有限公司 | 基于xml封装关键字的gui自动测试方法及自动测试平台 |
US20120124495A1 (en) * | 2009-11-23 | 2012-05-17 | Nitsan Amichai | System and method for object relationship identification in a user interface |
CN102667696A (zh) * | 2009-11-23 | 2012-09-12 | 惠普发展公司,有限责任合伙企业 | 用于用户界面中的对象标识的系统与方法 |
Non-Patent Citations (2)
Title |
---|
张添: "基于Selenium的Web自动化测试", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
秦海光: "基于Selenium自动化测试框架的改进与应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153614A (zh) * | 2017-05-12 | 2017-09-12 | 郑州云海信息技术有限公司 | 一种自动化测试页面导航组织方法 |
CN107733741A (zh) * | 2017-10-30 | 2018-02-23 | 中国电力科学研究院有限公司 | 用于协议一致性测试的软件架构方法及平台 |
CN107957948A (zh) * | 2017-12-07 | 2018-04-24 | 郑州云海信息技术有限公司 | 一种用户界面自动化测试装置及方法 |
CN108733571A (zh) * | 2018-05-28 | 2018-11-02 | 北京五八信息技术有限公司 | 一种测试方法、装置、设备及计算机可读存储介质 |
CN108733571B (zh) * | 2018-05-28 | 2022-05-31 | 北京五八信息技术有限公司 | 一种测试方法、装置、设备及计算机可读存储介质 |
CN108897684A (zh) * | 2018-06-28 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种基于TestNG的回馈式网页自动化测试脚本设计方法 |
CN113505060A (zh) * | 2021-06-25 | 2021-10-15 | 北京控制工程研究所 | 一种面向航天器姿轨控软件的Python自动测试脚本编写方法 |
CN113505060B (zh) * | 2021-06-25 | 2023-11-10 | 北京控制工程研究所 | 一种面向航天器姿轨控软件的Python自动测试脚本编写方法 |
CN117591438A (zh) * | 2024-01-19 | 2024-02-23 | 易方信息科技股份有限公司 | 一种ui组件原子化的自动化测试方法及相关装置 |
CN117591438B (zh) * | 2024-01-19 | 2024-05-14 | 易方信息科技股份有限公司 | 一种ui组件原子化的自动化测试方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354649A (zh) | 一种分层式网页自动化测试脚本设计方法 | |
US11080435B2 (en) | System architecture with visual modeling tool for designing and deploying complex models to distributed computing clusters | |
CN103441900B (zh) | 集中式跨平台自动化测试系统及其控制方法 | |
CN107220064B (zh) | 一种数控系统界面组态开发方法 | |
CN103019928B (zh) | 一种自动化测试方法和系统 | |
CN101661460B (zh) | 管理系统报表生成方法和装置 | |
CN103677789B (zh) | 基于grid组件的列表数据展现方法及系统 | |
CN103500087A (zh) | 一种基于maven插件和freemarker模版的代码生成方法及装置 | |
CN105022615A (zh) | 一种界面的生成方法和系统 | |
CN107729230A (zh) | 一种基于控件模式下的web自动化测试装置及测试方法 | |
CN106648587A (zh) | 一种基于注解的Web应用代码生成方法 | |
CN101567028A (zh) | 一种模块化硬件原理图自动生成方法 | |
CN105183450A (zh) | 一种前后台分离的电子政务表单模型配置化系统 | |
CN104615431A (zh) | 一种Web应用的实现方法和装置 | |
CN106991243A (zh) | 一种快速检查丝印层和阻焊层重叠的方法 | |
CN105893063A (zh) | 一种基于xml格式配置文件的应用程序界面及其构建方法 | |
CN102722616A (zh) | 一种基于Excel绘制勘探点平面图的方法 | |
CN105808853A (zh) | 一种面向工程应用的本体构建管理与本体数据自动获取方法 | |
CN104978411A (zh) | 一种高速列车的车型开发方法和装置 | |
CN104484163A (zh) | 一种基于统一建模环境的异构模型转换方法 | |
CN102142114A (zh) | 一种复杂产品可靠性数据建模方法 | |
CN103984548A (zh) | 一种web应用前端框架及其构建方法、系统 | |
CN109976732A (zh) | 可将相同编程模型映射成不同语言代码程序的方法及系统 | |
CN107608664A (zh) | 一种使用zTree加载大量数据的方法 | |
CN102156789B (zh) | Fpga约束文件自动生成系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170125 |