CN112597031A - 一种web页面测试用例生成装置及方法 - Google Patents
一种web页面测试用例生成装置及方法 Download PDFInfo
- Publication number
- CN112597031A CN112597031A CN202011569162.9A CN202011569162A CN112597031A CN 112597031 A CN112597031 A CN 112597031A CN 202011569162 A CN202011569162 A CN 202011569162A CN 112597031 A CN112597031 A CN 112597031A
- Authority
- CN
- China
- Prior art keywords
- url
- target
- control
- test
- crawling
- 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
- 238000001545 Page's trend test Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012360 testing method Methods 0.000 claims abstract description 109
- 230000009193 crawling Effects 0.000 claims abstract description 46
- 238000013500 data storage Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 4
- 238000004801 process automation Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 229910052711 selenium Inorganic materials 0.000 description 3
- 239000011669 selenium Substances 0.000 description 3
- 238000013522 software testing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 125000003748 selenium group Chemical group *[Se]* 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/146—Coding or compression of tree-structured data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种web页面测试用例生成装置及方法,其中该装置包括:通用爬虫模块,用于爬取目标URL,下载该目标URL对应的HTML数据;HTML解析器模块,用于根据通用爬虫模块下载的HTML数据生成DOM树结构,并且遍历该DOM树结构,根据该DOM树结构中包括的目标控件和目标控件对应的操作生成测试操作;自动化测试工具驱动模块,用于根据HTML解析器模型生成的测试操作,生成web页面测试的测试用例。该装置节省了人工编写测试用例、录制测试用例的工作,从而达到提升web页面测试效率的目标。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种web页面测试用例生成装置及方法。
背景技术
随着企业的发展和业务的扩张,企业必须不断更新或者开发更多的软件系统,以应对日益增加的客户需求。在客户对软件系统质量要求越来越高的今天,软件测试工作已成为各大企业保障系统质量的重要一环,其中自动化测试已经日益凸显出其在软件测试领域的重要性。各大互联网企业或者涉互联网相关企业,在软件开发测试过程中都在大力推行自动化进程,如能在软件测试过程中提升自动化程度,不仅能更好的保障系统的质量,也能为企业提升效率,节约成本。
按照项目总体来划分,测试可以分为web页面测试、接口测试和移动端测试,其中,web页面测试包括链接测试、表单测试、搜索测试、删除测试以及数据库测试,在日常的测试工作中,web测试会占据很大一部分工作量。目前市面上web页面测试的自动化测试工具有很多,如selenium、Robot Framework、QTP等,但是每种工具都需要人工录制测试用例,自动化测试工具更偏向于执行自动化测试用例。
由此可见,如何提高web页面测试中生成测试用例这一过程的自动化程度,已成为目前亟待解决的问题。
发明内容
本申请实施例提供了一种web页面测试装置和方法,能够自动生成web页面测试的测试用例。
有鉴于此,本申请第一方面提供了一种web页面测试用例生成装置,所述装置包括:
通用爬虫模块,用于爬取目标统一资源定位符URL,下载所述目标URL对应的超文本标记语言HTML数据;
HTML解析器模块,用于根据所述HTML数据生成文档对象模型DOM树结构;遍历所述DOM树结构,根据所述DOM树结构中包括的目标控件和所述目标控件对应的操作生成测试操作;
自动化测试工具驱动模块,用于根据所述测试操作生成测试用例。
可选的,所述通用爬虫模块包括:
权限认证子模块,用于向所述目标URL对应的登录页面发送用户名和密码,获取所述用户名和所述密码验证通过后下发的认证通过信息;
队列调度子模块,用于基于所述认证通过信息,爬取所述目标URL;
数据爬取子模块,用于爬取所述目标URL对应的HTML数据;
数据预处理子模块,用于从所述目标URL中包括的子URL中,筛选出有效URL填写至待爬取URL列表,并将所述待爬取URL列表传输给所述队列调度子模块,以便所述队列调度子模块对所述待爬取URL列表中的URL进行爬取操作;
数据存储子模块,用于存储所述目标URL对应的HTML数据和所述待爬取URL列表。
可选的,所述队列调度子模块还用于:
根据所述待爬取URL列表,确定每次爬取的URL的数量;
配置URL爬取优先等级和先后顺序;
设置URL爬取等待时间。
可选的,所述目标控件包括:输入类控件、选择类控件和点击类控件;所述输入类控件、所述选择类控件和所述点击类控件分别对应于第一操作集合、第二操作集合和第三操作集合;
在所述DOM树结构中包括所述输入类控件、所述选择类控件和所述点击类控件的情况下,所述HTML解析器模块具体用于:
从所述第一操作集合、所述第二操作集合和所述第三操作集合中各选择一种操作,组成所述测试操作。
本申请第二方面提供了一种web页面测试用例生成方法,所述方法包括:
爬取目标统一资源定位符URL,下载所述目标URL对应的超文本标记语言HTML数据;
根据所述HTML数据生成文档对象模型DOM树结构;遍历所述DOM树结构,根据所述DOM树结构中包括的目标控件和所述目标控件对应的操作生成测试操作;
根据所述测试操作生成测试用例。
可选的,所述爬取目标统一资源定位符URL,下载所述目标URL对应的超文本标记语言HTML数据,包括:
向所述目标URL对应的登录页面发送用户名和密码,获取所述用户名和所述密码验证通过后下发的认证通过信息;
基于所述认证通过信息,爬取所述目标URL;
爬取所述目标URL对应的HTML数据;
从所述目标URL中包括的子URL中,筛选出有效URL填写至待爬取URL列表;
存储所述目标URL对应的HTML数据和所述待爬取URL列表。
可选的,所述方法还包括:
根据所述待爬取URL列表,确定每次爬取的URL的数量;
配置URL爬取优先等级和先后顺序;
设置URL爬取等待时间。
可选的,所述目标控件包括:输入类控件、选择类控件和点击类控件;所述输入类控件、所述选择类控件和所述点击类控件分别对应于第一操作集合、第二操作集合和第三操作集合;
在所述DOM树结构中包括所述输入类控件、所述选择类控件和所述点击类控件的情况下,所述遍历所述DOM树结构,根据所述DOM树结构中包括的目标控件和所述目标控件对应的操作生成测试操作,包括:
从所述第一操作集合、所述第二操作集合和所述第三操作集合中各选择一种操作,组成所述测试操作。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种web页面测试用例生成装置,该装置包括通用爬虫模块、超文本标记语言(Hyper Text Markup Language,HTML)解析器模块和自动化测试工具驱动模块。其中,通用爬虫模块,用于爬取目标统一资源定位符(Uniform Resource Locator,URL),下载该目标URL对应的HTML数据;HTML解析器模块,用于根据通用爬虫模块下载的HTML数据,生成文档对象模型(Document Object Model,DOM)树结构,并且遍历该DOM树结构,根据该DOM树结构中包括的目标控件和目标控件对应的操作生成测试操作;自动化测试工具驱动模块,用于根据HTML解析器模型生成的测试操作,生成web页面测试的测试用例。上述web页面测试用例生成装置利用爬虫技术和自动化测试驱动工具,将人工录制测试用例的过程转化为自动生成测试用例的过程,为全流程自动化的实现提供了一种可实现的装置,节省了人工编写测试用例、录制测试用例的工作,从而达到提升web页面测试效率的目标。
附图说明
图1为本申请实施例提供的web页面测试用例生成装置的结构示意图;
图2为本申请实施例提供的web页面测试用例生成方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中,web页面测试主要分为两类:一类是人工测试,即由测试人员阅读分析需求方提供的接口说明文档,进而手工编写web页面测试用例,编写完成测试用例后,再依据测试用例手动执行web页面测试流程;另一类是自动化测试,测试人员使用自动化测试工具开启录制功能,然后去手动操作页面,将基于录制的脚本使用工具执行回归测试。
通过以上方案进行web页面测试时,主要需要通过人工录制的方式生成测试用例,然而目前很多项目都处于敏捷开发模式,需求更新迭代快,脚本录制完成后,由于需求的频繁迭代,录制的测试用例需要返工或者更新,未出成本很高。并且,人工录制测试用例的方式将耗费大量的人力成本和时间成本,影响web页面测试的效率。
针对上述相关技术存在的问题,本申请实施例提供了一种web页面测试用例生成装置,该装置可以自动生成web页面测试的测试用例。具体的,该web页面测试用例生成装置包括通用爬虫模块、超文本标记语言(Hyper Text Markup Language,HTML)解析器模块和自动化测试工具驱动模块。其中,通用爬虫模块,用于爬取目标统一资源定位符(UniformResource Locator,URL),下载该目标URL对应的HTML数据;HTML解析器模块,用于根据通用爬虫模块下载的HTML数据,生成文档对象模型(Document Object Model,DOM)树结构,并且遍历该DOM树结构,根据该DOM树结构中包括的目标控件和目标控件对应的操作生成测试操作;自动化测试工具驱动模块,用于根据HTML解析器模型生成的测试操作,生成web页面测试的测试用例。上述web页面测试用例生成装置利用爬虫技术和自动化测试驱动工具,将人工录制测试用例的过程转化为自动生成测试用例的过程,为全流程自动化的实现提供了一种可实现的装置,节省了人工编写测试用例、录制测试用例的工作,从而达到提升web页面测试效率的目标。
下面通过装置实施例对本申请提供的web页面测试用例生成装置进行详细介绍。
参见图1,图1为本申请实施例提供的web页面测试用例生成装置的结构示意图。如图1所示,该web页面测试用例生成装置包括:
通用爬虫模块101,用于爬取目标URL,并且下载该目标URL对应的HTML数据。
具体的,该通用爬虫模块101包括:权限认证子模块、数据爬取子模块、数据预处理子模块和数据存储子模块。其中,权限认证子模块,用于向目标URL对应的登录页面发送用户名和密码,并在用户名和密码验证通过后获取所下发的认证通过信息;队列调取模块,用于基于权限认证子模块获取到的认证通过信息,爬取目标URL;数据爬取子模块,用于爬取目标URL对应的HTML数据;数据预处理子模块,用于从目标URL中包括的子URL中,筛选出有效URL填写至待爬取URL列表,并将待爬取URL列表传输给队列调度子模块,以便该队列调度子模块对待爬取URL列表中的URL进行爬取操作;数据存储子模块,用于存储目标URL对应的HTML数据和待爬取URL列表。
通常情况下,web系统都有登录拦截机制,若检测到请求页面URL内容时未检测到登录认证信息,会直接返回登录页面,因此在抓取页面内容之前,需要先完成登录验证。因为是针对测试系统web页面进行爬取,用户名和密码都是已知的,因此,权限认证子模块可以通过http请求将用户名和密码作为参数传递至登录页面,进而在该用户名和密码被验证通过后,获取认证通过信息即cookie信息,后续抓取web页面内容时将认证通过信息作为参数一起发送,便可以达到通过登录验证的目标。
队列调度子模块,用于基于认证通过信息爬取目标URL;此外,该队列调度子模块还可以用于确定爬取URL的策略。具体的,队列调度子模块可以根据待爬取URL列表,确定每次爬取URL的数量;配置URL爬取优先等级和先后顺气;设置爬取完一个web页面的等待时间,处理爬取超时的URL;定时检测URL队列是否还有待爬取URL列表,列表为空则隔一段时间再检测一次,列表不为空则按照爬取策略依次爬取页面内容。
数据爬取子模块,用于爬取目标URL对应的HTML数据,即将目标URL对应的网页内容下载下来,将下载下来的HTML数据保存在页面数据库中,该页面数据库中保存的数据与用户使用浏览器访问得到的HTML源码一致,该页面数据库由数据存储子模块管理;并且,将该目标URL写入已爬取URL列表,该已爬取URL列表也由数据存储子模块管理。
数据预处理子模块,用于对爬取的页面内容进行初步的处理,具体的,可以从目标URL对应的web页面中筛选出所有的子URL,由于一个项目内部所有的页面URL请求前缀都是固定的,因此,可以根据前缀筛选出所有有效的URL,并去掉其中前缀为js和css的URL,将所筛选出的URL写入待爬取URL列表,并将该待爬取URL列表传输给队列调度子模块,以便其对该待爬取URL列表中的URL进行爬取操作。
数据存储子模块,用于存储目标URL对应的HTML数据和待爬取URL列表。即数据存储子模块可以采取数据库存储相关信息,主要保存的内容包括HTML数据、待爬取URL列表和已爬取URL列表。
HTML解析器模块102,用于根据HTML数据生成DOM树结构,遍历该DOM树结构,根据该DOM树结构中包括的目标控件和目标控件对应的操作生成测试操作。
具体的,HTML数据的基本组成单位是标签,用“<”和“>”表示,标签在页面一般是成对出现的,如<body></body>,也有单独出现的,如<hr/>。HTML解析器模块是针对项目测试设计的,因此只需要分析测试过程中使用的控件标签,主要包括input、select、textarea、lable、table、ul、li、ol等标签。确定标签后,需要将这些标签从HTML数据中解析出来,目前已有很多成熟的标记化算法用于根据HTML数据生成DOM树结构,本申请在存储所生成的DOM树结构时,只存储上述主要标签的相关信息。
本申请将所需解析处理的目标控件主要分为三类,分别是输入类控件、选择类控件和点击类控件,其中,输入类控件包括输入框、文本框等,选择类控件包括下拉框、单选按钮、多选框等,点击类控件包括表格、树形控件等。并且,各类控件分别对应于不同的操作集合,输入类控件对应于第一操作集合,即定义操作为输入(以S标识),对应的第一操作集合包括单个字符、多个字符、单个数字、多个数字、特殊字符和转义字符;选择类控件对应于第二操作集合,即定义操作为选择(以X标识),对应的第二操作集合包括选择第一个可选项、选择第二个可选项、……、选择第Y个可选项,其中,Y表示选择类控件的总选项数量,例如,如若下拉框有三个可选项,则Y的取值为3;点击类控件对应于第三操作集合,即定义操作为点击(以C标识),对应的第三操作集合包括点击第一项、点击第二项、……、点击第Z项,其中,Z表示可点击项数量,例如,一个树控件,Z表示树节点数量。
在根据HTML数据生成的DOM树结构中包括输入类控件、选择类控件和点击类控件的情况下,HTML解析器模块可以从上述第一操作集合、第二操作集合和第三操作集合中各选择一种操作,组成测试操作。即,遍历DOM树结构,将对应的控件和操作集合对应起来,每个控件从对应的操作集合里面选择一种进行组合,得到n个组合:(控件1:操作1-1,控件2:操作2-1,控件3,操作3-1,......,控件x:操作x-1),(控件1:操作1-2,控件2:操作2-2,控件2,操作3-2,......,控件x:操作X-2),……,(控件1:操作1-Y,控件2:操作2-Y,控件3,操作3-Y,......,控件x:操作X-Y)。其中,操作X-Y表示控件X的操作集中第Y个操作。
自动化测试工具驱动模块103,用于根据测试操作生成测试用例。示例性的,可以编码调用selenium驱动,依次处理每个操作组合(即测试操作):selenium根据控件元素标签定位到控件,然后根据操作值对操作进行初始化,根据操作去执行,从而生成一条可执行的测试脚本用例。
本申请实施例提供的web页面测试用例生成装置包括通用爬虫模块、超文本标记语言(Hyper Text Markup Language,HTML)解析器模块和自动化测试工具驱动模块。其中,通用爬虫模块,用于爬取目标统一资源定位符(Uniform Resource Locator,URL),下载该目标URL对应的HTML数据;HTML解析器模块,用于根据通用爬虫模块下载的HTML数据,生成文档对象模型(Document Object Model,DOM)树结构,并且遍历该DOM树结构,根据该DOM树结构中包括的目标控件和目标控件对应的操作生成测试操作;自动化测试工具驱动模块,用于根据HTML解析器模型生成的测试操作,生成web页面测试的测试用例。上述web页面测试用例生成装置利用爬虫技术和自动化测试驱动工具,将人工录制测试用例的过程转化为自动生成测试用例的过程,为全流程自动化的实现提供了一种可实现的装置,节省了人工编写测试用例、录制测试用例的工作,从而达到提升web页面测试效率的目标。
本申请实施例还提供了一种web页面测试用例生成方法,参见图2,图2为本申请实施例提供的web页面测试用例生成方法的流程示意图。如图2所示,该方法包括:
步骤201:爬取目标统一资源定位符URL,下载所述目标URL对应的超文本标记语言HTML数据;
步骤202:根据所述HTML数据生成文档对象模型DOM树结构;遍历所述DOM树结构,根据所述DOM树结构中包括的目标控件和所述目标控件对应的操作生成测试操作;
步骤203:根据所述测试操作生成测试用例。
可选的,所述爬取目标统一资源定位符URL,下载所述目标URL对应的超文本标记语言HTML数据,包括:
向所述目标URL对应的登录页面发送用户名和密码,获取所述用户名和所述密码验证通过后下发的认证通过信息;
基于所述认证通过信息,爬取所述目标URL;
爬取所述目标URL对应的HTML数据;
从所述目标URL中包括的子URL中,筛选出有效URL填写至待爬取URL列表;
存储所述目标URL对应的HTML数据和所述待爬取URL列表。
可选的,所述方法还包括:
根据所述待爬取URL列表,确定每次爬取的URL的数量;
配置URL爬取优先等级和先后顺序;
设置URL爬取等待时间。
可选的,所述目标控件包括:输入类控件、选择类控件和点击类控件;所述输入类控件、所述选择类控件和所述点击类控件分别对应于第一操作集合、第二操作集合和第三操作集合;
在所述DOM树结构中包括所述输入类控件、所述选择类控件和所述点击类控件的情况下,所述遍历所述DOM树结构,根据所述DOM树结构中包括的目标控件和所述目标控件对应的操作生成测试操作,包括:
从所述第一操作集合、所述第二操作集合和所述第三操作集合中各选择一种操作,组成所述测试操作。
上述web页面测试用例生成方法利用爬虫技术和自动化测试驱动工具,将人工录制测试用例的过程转化为自动生成测试用例的过程,为全流程自动化的实现提供了一种可实现的装置,节省了人工编写测试用例、录制测试用例的工作,从而达到提升web页面测试效率的目标。
本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种web页面测试方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种web页面测试方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种web页面测试用例生成装置,其特征在于,所述装置包括:
通用爬虫模块,用于爬取目标统一资源定位符URL,下载所述目标URL对应的超文本标记语言HTML数据;
HTML解析器模块,用于根据所述HTML数据生成文档对象模型DOM树结构;遍历所述DOM树结构,根据所述DOM树结构中包括的目标控件和所述目标控件对应的操作生成测试操作;
自动化测试工具驱动模块,用于根据所述测试操作生成测试用例。
2.根据权利要求1所述的装置,其特征在于,所述通用爬虫模块包括:
权限认证子模块,用于向所述目标URL对应的登录页面发送用户名和密码,获取所述用户名和所述密码验证通过后下发的认证通过信息;
队列调度子模块,用于基于所述认证通过信息,爬取所述目标URL;
数据爬取子模块,用于爬取所述目标URL对应的HTML数据;
数据预处理子模块,用于从所述目标URL中包括的子URL中,筛选出有效URL填写至待爬取URL列表,并将所述待爬取URL列表传输给所述队列调度子模块,以便所述队列调度子模块对所述待爬取URL列表中的URL进行爬取操作;
数据存储子模块,用于存储所述目标URL对应的HTML数据和所述待爬取URL列表。
3.根据权利要求2所述的装置,其特征在于,所述队列调度子模块还用于:
根据所述待爬取URL列表,确定每次爬取的URL的数量;
配置URL爬取优先等级和先后顺序;
设置URL爬取等待时间。
4.根据权利要求1所述的装置,其特征在于,所述目标控件包括:输入类控件、选择类控件和点击类控件;所述输入类控件、所述选择类控件和所述点击类控件分别对应于第一操作集合、第二操作集合和第三操作集合;
在所述DOM树结构中包括所述输入类控件、所述选择类控件和所述点击类控件的情况下,所述HTML解析器模块具体用于:
从所述第一操作集合、所述第二操作集合和所述第三操作集合中各选择一种操作,组成所述测试操作。
5.一种web页面测试用例生成方法,其特征在于,所述方法包括:
爬取目标统一资源定位符URL,下载所述目标URL对应的超文本标记语言HTML数据;
根据所述HTML数据生成文档对象模型DOM树结构;遍历所述DOM树结构,根据所述DOM树结构中包括的目标控件和所述目标控件对应的操作生成测试操作;
根据所述测试操作生成测试用例。
6.根据权利要求5所述的方法,其特征在于,所述爬取目标统一资源定位符URL,下载所述目标URL对应的超文本标记语言HTML数据,包括:
向所述目标URL对应的登录页面发送用户名和密码,获取所述用户名和所述密码验证通过后下发的认证通过信息;
基于所述认证通过信息,爬取所述目标URL;
爬取所述目标URL对应的HTML数据;
从所述目标URL中包括的子URL中,筛选出有效URL填写至待爬取URL列表;
存储所述目标URL对应的HTML数据和所述待爬取URL列表。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述待爬取URL列表,确定每次爬取的URL的数量;
配置URL爬取优先等级和先后顺序;
设置URL爬取等待时间。
8.根据权利要求5所述的方法,其特征在于,所述目标控件包括:输入类控件、选择类控件和点击类控件;所述输入类控件、所述选择类控件和所述点击类控件分别对应于第一操作集合、第二操作集合和第三操作集合;
在所述DOM树结构中包括所述输入类控件、所述选择类控件和所述点击类控件的情况下,所述遍历所述DOM树结构,根据所述DOM树结构中包括的目标控件和所述目标控件对应的操作生成测试操作,包括:
从所述第一操作集合、所述第二操作集合和所述第三操作集合中各选择一种操作,组成所述测试操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011569162.9A CN112597031A (zh) | 2020-12-26 | 2020-12-26 | 一种web页面测试用例生成装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011569162.9A CN112597031A (zh) | 2020-12-26 | 2020-12-26 | 一种web页面测试用例生成装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112597031A true CN112597031A (zh) | 2021-04-02 |
Family
ID=75202539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011569162.9A Pending CN112597031A (zh) | 2020-12-26 | 2020-12-26 | 一种web页面测试用例生成装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597031A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238949A (zh) * | 2021-05-19 | 2021-08-10 | 北京仁科互动网络技术有限公司 | 一种测试方法、装置、电子设备及存储介质 |
CN114385514A (zh) * | 2022-03-23 | 2022-04-22 | 杭州天谷信息科技有限公司 | 一种检测网页元素的方法、设备及存储介质 |
CN115328812A (zh) * | 2022-10-11 | 2022-11-11 | 深圳华锐分布式技术股份有限公司 | 基于网络爬虫的ui界面测试方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488560A (zh) * | 2012-06-12 | 2014-01-01 | 腾讯科技(深圳)有限公司 | 一种用于网页测试的测试目标处理方法和装置 |
CN106547689A (zh) * | 2016-10-20 | 2017-03-29 | 金航数码科技有限责任公司 | 一种基于web的自动化测试用例开发系统及方法 |
CN107729230A (zh) * | 2017-09-18 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于控件模式下的web自动化测试装置及测试方法 |
CN107957939A (zh) * | 2016-10-14 | 2018-04-24 | 北京京东尚科信息技术有限公司 | 网页交互界面测试方法及系统 |
CN108595329A (zh) * | 2018-04-23 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 一种应用测试方法、装置及计算机存储介质 |
CN109254910A (zh) * | 2018-08-08 | 2019-01-22 | 北京城市网邻信息技术有限公司 | 一种应用程序的测试方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-26 CN CN202011569162.9A patent/CN112597031A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488560A (zh) * | 2012-06-12 | 2014-01-01 | 腾讯科技(深圳)有限公司 | 一种用于网页测试的测试目标处理方法和装置 |
CN107957939A (zh) * | 2016-10-14 | 2018-04-24 | 北京京东尚科信息技术有限公司 | 网页交互界面测试方法及系统 |
CN106547689A (zh) * | 2016-10-20 | 2017-03-29 | 金航数码科技有限责任公司 | 一种基于web的自动化测试用例开发系统及方法 |
CN107729230A (zh) * | 2017-09-18 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于控件模式下的web自动化测试装置及测试方法 |
CN108595329A (zh) * | 2018-04-23 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 一种应用测试方法、装置及计算机存储介质 |
CN109254910A (zh) * | 2018-08-08 | 2019-01-22 | 北京城市网邻信息技术有限公司 | 一种应用程序的测试方法、装置、电子设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238949A (zh) * | 2021-05-19 | 2021-08-10 | 北京仁科互动网络技术有限公司 | 一种测试方法、装置、电子设备及存储介质 |
CN114385514A (zh) * | 2022-03-23 | 2022-04-22 | 杭州天谷信息科技有限公司 | 一种检测网页元素的方法、设备及存储介质 |
CN115328812A (zh) * | 2022-10-11 | 2022-11-11 | 深圳华锐分布式技术股份有限公司 | 基于网络爬虫的ui界面测试方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112597031A (zh) | 一种web页面测试用例生成装置及方法 | |
US7599956B2 (en) | Reusable online survey engine | |
US9996613B2 (en) | System and method for accessibility assessment of a web application | |
US11902394B2 (en) | System and method analyzing actual behavior of website visitors | |
US7313564B2 (en) | Web-interactive software testing management method and computer system including an integrated test case authoring tool | |
US10901730B2 (en) | Identifying equivalent javascript events | |
AU2019443684A1 (en) | GUI element acquisition using a plurality of alternative representations of the GUI element | |
CN105205144A (zh) | 用于数据诊断优化的方法和系统 | |
CN106598991A (zh) | 一种使用会话方式实现与网站交互表单自动提取的网络爬虫系统 | |
CN104331369A (zh) | 基于浏览器的网页检测方法及装置、服务器 | |
US20060150111A1 (en) | Methods and apparatus for evaluating aspects of a web page | |
CN109408763B (zh) | 一种对不同模板的简历进行管理的方法及系统 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
US20180210819A1 (en) | System and method of controlling a web browser plug-in for testing analytics | |
CN108388796B (zh) | 动态域名验证方法、系统、计算机设备和存储介质 | |
CN103544271B (zh) | 一种浏览器中加载图片处理窗口的方法和装置 | |
CN112148343A (zh) | 规则发布方法、装置及终端设备 | |
CN111367521A (zh) | 消息发送方法及装置、消息接收方法及装置 | |
CN116340169A (zh) | 一种页面元素的XPath路径检测方法及装置 | |
CN114880239A (zh) | 一种基于数据驱动的接口自动化测试框架及方法 | |
CN104391956B (zh) | 网站更新内容的检测方法及装置 | |
CN106202319B (zh) | 一种异常url验证方法及系统 | |
Sugimura et al. | New web-usability evaluation method: scenario-based walkthrough | |
CN113485693B (zh) | 接口配置方法、装置、设备及存储介质 | |
CN110879705B (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 |