CN115543807A - 一种自动化回归测试方法、装置、计算机设备及存储介质 - Google Patents
一种自动化回归测试方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115543807A CN115543807A CN202211237685.2A CN202211237685A CN115543807A CN 115543807 A CN115543807 A CN 115543807A CN 202211237685 A CN202211237685 A CN 202211237685A CN 115543807 A CN115543807 A CN 115543807A
- Authority
- CN
- China
- Prior art keywords
- test
- page
- tested
- case
- determining
- 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
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
- 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/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及回归测试技术领域,提出一种自动化回归测试方法、装置、计算机设备及存储介质,调用待测试案例中的测试页面,根据测试页面中对应的页面元素地址,获取页面元素地址对应的页面对象,获取用户对页面对象配置参数,根据配置参数,确定测试模式,解析测试模式,得到操作手段的可执行脚本,确定操作的反馈数据为待测试案例的目标测试报告,本发明基于Puppeteer框架预先建立的可视化回归测试平台上进行自动化测试,通过操作模式与页面元素地址对待测试案例进行自动化测试,测试人员在不需要掌握很多前端编写脚本的知识的情况下,就可完成测试工作,易于操作,减少了测试人员的工作量和测试成本,提高了测试效率。
Description
技术领域
本发明涉及回归测试技术领域,尤其涉及一种自动化回归测试方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的快速发展,需要对页面不断更新以满足用户的需求,在页面正式上线前,由于开发人员需要针对不断出现的问题以及用户需求对页面进行改进,故相应地也需要对页面进行回归测试,如测试页面功能是否可以使用、页面样式是否符合预期,页面性能是否达到要求。
通常在面对复杂、繁多的页面回归测试时,都会使用浏览器模拟框架来编写自动化测试脚本,现在比较常用的是常用的框架是selenium和puppeteer,puppeteer与selenium相比,优势在于其提供了的网络拦截与性能管理功能。并且由于puppeteer是一个node库,不需要复杂的安装环境。但在使用该框架测试页面时,往往需要掌握很多前端编写脚本的知识,导致维护测试脚本代码的工作量太大,降低了测试效率,因此,如何在回归测试的过程中,提高测试效率,成为亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种自动化回归测试方法、装置、计算机设备及存储介质,以解决在回归测试的过程中,测试效率较低的问题。
本申请实施例的第一方面提供了一种自动化回归测试方法,所述自动化回归测试方法包括:
调用待测试案例中的测试页面;
根据所述测试页面中对应的页面元素地址,获取所述页面元素地址对应的页面对象;
获取用户对所述页面对象配置参数,根据所述配置参数,确定测试模式,所述测试模式包括至少一个操作手段;
解析所述测试模式,得到所述操作手段的可执行脚本,执行所述可执行脚本对所述测试页面进行操作,确定操作的反馈数据为所述待测试案例的目标测试报告。
本申请实施例的第二方面提供了一种自动化回归测试装置,所述装置包括:
调用模块,用于调用待测试案例中的测试页面;
页面对象确定模块,用于根据所述测试页面中对应的页面元素地址,获取所述页面元素地址对应的页面对象;
测试模式确定模块,用于获取用户对所述页面对象配置参数,根据所述配置参数,确定测试模式,所述测试模式包括至少一个操作手段;
测试模块,用于解析所述测试模式,得到所述操作手段的可执行脚本,执行所述可执行脚本对所述测试页面进行操作,确定操作的反馈数据为所述待测试案例的目标测试报告。
第三方面,本发明实施例提供一种计算机设备,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的自动化回归测试方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的自动化回归测试方法。
本发明与现有技术相比存在的有益效果是:
调用待测试案例中的测试页面,根据测试页面中对应的页面元素地址,获取页面元素地址对应的页面对象,根据页面对象,获取用户对页面对象配置参数,根据配置参数,确定测试模式,解析测试模式,得到操作手段的可执行脚本,确定操作的反馈数据为待测试案例的目标测试报告,本发明基于Puppeteer框架预先建立的可视化回归测试平台上进行自动化测试,通过操作模式与页面元素地址对待测试案例进行自动化测试,测试人员在不需要掌握很多前端编写脚本的知识的情况下,就可完成测试工作,易于操作,减少了测试人员的工作量和测试成本,提高了测试效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种自动化回归测试方法的一应用环境示意图;
图2是本发明一实施例提供的一种自动化回归测试方法的流程示意图;
图3是本发明一实施例提供的一种自动化回归测试方法的流程示意图;
图4是本发明一实施例提供的一种自动化回归测试方法的流程示意图;
图5是本发明一实施例提供的一种自动化回归测试装置的结构示意图;
图6是本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
应理解,以下实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
为了说明本发明的技术方案,下面通过具体实施例来进行说明。
本发明一实施例提供的一种自动化回归测试方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等计算机设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
参见图2,是本发明一实施例提供的一种自动化回归测试方法的流程示意图,上述自动化回归测试可以应用于图1中的服务端,上述服务端连接相应的客户端,如图2所示,该自动化回归测试方法可以包括以下步骤。
S201:调用待测试案例中的测试页面。
在步骤S201中,待测试案例则为需要对其进行测试的系统中所包含的页面,也即待测试页面,且待测试案例可以为多个。
本实施例中,在可视化界面中选取待测试案例,根据选取的待测试案例调用对应的测试页面。调用待测试案例的测试页面时,可以通过获取测试页面的地址URL进行调用,URL给资源的位置提供了一种抽象的识别方法,并用这种方法实现资源定位,使系统可以对资源进行各种操作,如存取、更新、替换和查找其属性。
待测试案例为在开发环境下完成的未正式上线的系统模块,在基准功能的基础上进行了增删、修改等改进操作,待测试案例中的测试页面在上线前均需通过测试来确保代码运行无误,并可实现升级版本预定的功能。基准功能的待测试案例中的测试页面为在当前生产环境上允许运行的线上代码,即已运用于实际应用场景,其代码运行结果能够较好地达到预想。
需要说明的是,本实施例中的可视化界面是基于Puppeteer框架预先建立的可视化回归测试平台中的界面,Puppeteer框架可用于模拟浏览器的行为,它是基于Chrome内核的headless浏览器模拟框架,可以通过Puppeteer框架提供的API直接控制Chrome内核来模拟大部分用户的操作行为,如访问、点击等行为,本发明的页面测试也基于此。在基于Puppeteer框架下预先建立一个可视化回归测试平台,利用该可视化回归测试平台访问测试页面的地址,生成测试结果,以实现测试页面的自动化测试。
需要说明的是,待测试案例是指对一特定对象(例如,软件产品,功能节点,应用页面等)所执行的测试任务的描述,体现测试方案、方法、技术和策略。其内容包括但不限于以下至少之一:测试目标,测试环境,输入数据,测试步骤,预期结果,测试脚本等,最终形成文档。
例如,对于一个页面,其对应的测试用例可以但不限于包括以下信息:页面标识,页面地址,测试元素以及对应的点击路径,测试步骤,预期结果(入口可用性,可以跳转,无崩溃等),测试脚本。
待测试案例中的测试页面可以有多个,在进行测试时,可分别对各个测试页面进行测试,得到各个待测试页面的测试结果。多个待测试页面可以是顺序测试的,也可以是并行测试的。
需要说明的是,在测试页面为多个时,选取测试页面和对测试页面进行测试可以是顺序执行的:先选取出所有的测试页面,然后再对各个页面进行测试,也可以是并行执行的:选取测试页面的同时对选取的测试页面进行测试。
待测试案例是根据测试页面的操作历史信息自动生成的,测试页面的操作历史信息可以体现出用户操作待试页面的偏好,也就是,对于测试页面,用户使用该页面中提供的哪些信息,以及如何控制页面为其提供需要的信息。根据操作历史信息,可以生成待测试用例,以模拟用户使用该页面所执行的操作,来测试该页面的可以可用性、稳定性等多个方面的性能。
需要说明的是,本实施例中还可以预先设置待测试案例对应的权限配置信息,例如,权限配置信息一般包括在这个待测试系统中,哪些角色可以访问当前待测试案例,哪些角色不可以访问当前待测试案例。
S202:根据测试页面中对应的页面元素地址,获取页面元素地址对应的页面对象。
在步骤S202中,页面元素地址为测试页面中各个页面元素对应的地址,其中,每个页面元素地址对应一个页面元素,页面对象为获取到的页面元素地址对应的页面元素。
本实施例中,页面元素地址用于指示页面元素内容的存储路径,例如,若页面元素为图片元素,则元素路径信息即为该图片元素中的图片的路径信息;再比如,若页面元素为音频元素,则元素路径信息即为该音频元素中的音频的路径信息。
本实施例中,通过使用XPath路径语言储存页面元素路径地址,其中XPath是一门在XML文档中查找信息的语言,可以通过XPath路径获取对应的页面元素,XML文档主体中的数据是通过树形结构进行组织的。Xpath将XML的文档结构视为一个树形结构,元素、属性、文本、注释以及处理指令都是这个树形结构上的节点,对于XML文档中元素、属性、文本、注释以及处理指令的访问实际上是按顺序遍历这棵树。
XPath使用路径表达式来选取XML文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。例如,当页面元素为点击操作元素时,在检测到用户点击对应页面上的A元素后,根据该页面的XML文件,该页面元素A的所有祖先元素为html、body、div、div,其中,html元素为该页面的根元素。此时,根据所获取到的祖先元素和元素页面A,生成该页面元素A的Xpath路径,其中,页面元素A的Xpath路径为:/html/body/div[4]/div[2]/A。路径表达式是从一个XML节点到另一个节点、或一组节点的书面步骤顺序,其可以定位到XML文档中的一个节点或者节点集合,从而定位到对应的页面元素。
例如,以待测试案例中的登录系统为例,在登录界面文字页面元素以及按键页面元素,其中,该文字页面元素存储于与该文字页面元素对应的存储路径中,而该按键页面元素存储于与该按键页面元素对应的存储路径中,且该文字页面元素与按键页面元素的配置参数均写入到XML文档中,当需要获取到对应页面元素时,通过XML文档中的页面元素地址获取地址对应的页面元素。
需要说明的是,在生成页面元素地址的过程中,通过ID选择器,优先选择页面元素对应的地址。
S203:获取用户对页面对象配置参数,根据配置参数,确定测试模式。
在步骤S203中,配置参数为页面元素预先配置的参数信息,配置的参数至少包括页面元素在在测试页面中的位置参数以及页面元素的尺寸参数,当然,页面元素配置的参数信息不限于上述的位置参数和尺寸参数,根据具体应用场景的不同,页面元素的配置参数还可以包括其它的参数数据。
本实施例中,根据页面对象,获取页面对象配置参数,其中页面对象配置参数包括:页面元素的尺寸参数、功能参数以及页面元素在测试页面中的位置参数等等一系列参数。
例如,页面元素中按钮操作,对应的页面对象配置参数可以为“点击”按钮、“长按”按钮、“滑动”按钮、“坐标点击”按钮以及“断言”按钮。以及对应“点击”按钮的时长信息,“长按”按钮的时长信息,“滑动”按钮的滑动长度信息与滑动起止位置信息等。点击操作时,“点击”对应的页面对象配置参数可以包括参数配置项“名称”、“睡眠”以及“点击次数(次)”。在待测试案例中页面转换时,例如,在待测试案例的首页中,包括文字页面元素以及按键页面元素,其中,该文字页面元素用于显示对应的文字样式,该按键页面元素中有“下一步”提示文字,且按下该按键页面元素时可以跳转到下一个页面。
S204:解析测试模式,得到操作手段的可执行脚本,执行可执行脚本对测试页面进行操作,确定操作的反馈数据为待测试案例的目标测试报告。
在步骤S204中,在回归自动化测试过程中,根据参数配置,启动预设测试模式对应的操作手段,其中,对应的操作手段可以为点击、输入、断言、上传文件、执行函数等,测试完成后,生成对应的测试报告。
本实施例中,根据页面对象配置参数,启动预设测试模式对应的操作手段,例如点击、输入、断言、上传文件、执行函数等。对于复杂的操作,可以通过预设的函数操作浏览器,比如需要设置固定时间间隔的日期、操作富文本编辑器等。
例如,当测试界面展示、用户界面之间的跳转和逻辑、动画效果等内容等案例时,根据自动测试中得到的执行脚本中的测试控件对button进行点击操作,并测试是否可以成功进行下一页面,应当理解的是,此处对测试操作的举例仅为方便理解,不用于限定本发明。
可选地,测试模式包括断言操作,解析测试模式,得到操作手段的可执行脚本,执行可执行脚本对测试页面进行操作,确定操作的反馈数据为待测试案例的目标测试报告,包括:
解析测试模式,得到断言操作的可执行脚本;
执行可执行脚本对测试页面进行判断,若判断结果不满足预设条件,则中止测试,将中止测试的结果作为待测试案例的目标测试报告。
本实施例中,解析测试模式,得到断言操作的可执行脚本,执行可执行脚本对测试页面进行判断,若判断结果不满足预设条件,则中止测试,将中止测试的结果作为待测试案例的目标测试报告。
解析测试模式,得到各个配置项,根据各个配置项获取对应自动化测试中的执行脚本,运行执行脚本,对测试页面进行测试,生成待测试案例的测试报告。自动化执行脚本用于进行自动化测试工作,测试人员可在该Mac系统的本地或者云端编写该自动化测试脚本,该自动化测试脚本的编写语言可是Python语言、Java语言或其他可以实现脚本编写的计算机程序语言,该自动化执行脚本中包含测试保险业务的相关数据,应当理解的是,此处对自动化执行脚本的举例仅为方便理解,不用于限定本发明。
本实施例中,执行脚本,一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。为了提高执行脚本的可维护性和可复用性,必须在执行脚本之前对它们进行构建。执行脚本是自动执行测试过程(或部分测试过程)的计算机可读指令。执行脚本可以被创建(记录)或使用测试自动化工具自动生成,或用编程语言编程来完成。通俗理解为,待测试案例是为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。执行脚本是为了进行自动化测试而编写的脚本。测试脚本的编写必须对应相应的测试用例。
执行可执行脚本对测试页面进行判断,若判断结果不满足预设条件,则中止测试,将中止测试的结果作为待测试案例的目标测试报告,其中预设条件为预先设置的满足测试结果的条件。
可选地,若判断结果不满足预设条件,则中止测试,将中止测试的结果作为待测试案例的目标测试报告,包括:
若判断结果不满足预设条件,则中止测试,对终止测试时对应的终止页面进行截图,得到终止页面的页面快照;
将页面快照写入待测试案例的目标测试报告。
本实施例中,操作手段中的断言模式,断言(assert)是指一些布尔表达式,用于待测试案例中的程序进行调试,确定某些被测试函数是否工作正常(即比较实际的值和预期的值是否一样),断言是对于执行结构的判断,而不是对于业务流程的判断。断言是单元测试最基本的组成部分,断言相当于一个if()语句,如果满足断言的执行程序,如果不满足则抛错误。每种类型的断言都有两种形式,一种包含接收一个message参数,message表示出错时的提示信息,另外一个则没有message参数。例如,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,在测试时启用断言,在部署时禁用断言。程序投入运行后,在遇到问题时可以重新启用断言。使用断言可以创建更稳定、品质更好且不易于出错的代码。当需要在一个值为FALSE时中断当前操作的话,使用断言即可,单元测试必须使用断言(Junit/JunitX)。断言还可用于确定各种特性是否在程序中得到维护的极好。
断言模式是对测试过程中,在测试过程中不能输出期望值时,则终止测试,并对吃结果页面进行页面截图,得到终止页面的页面快照,将页面快照写入待测试案例的目标测试报告。
可选地,执行可执行脚本对测试页面进行判断之后,还包括:
若判断结果满足预设条件,解析测试模式,得到操作手段的可执行脚本,执行可执行脚本对测试页面进行操作,确定操作的反馈数据为待测试案例的目标测试报告。
本实施例中,若判断结果满足预设条件,解析测试模式,得到操作手段的可执行脚本,其中,操作手段可以包括点击,拖曳,填充等,执行可执行脚本对测试页面进行操作,确定操作的反馈数据为待测试案例的目标测试报告。
可选地,执行可执行脚本对测试页面进行操作,确定操作的反馈数据为待测试案例的目标测试报告,包括:
执行可执行脚本对测试页面进行监控,记录测试页面为待测试案例的首页时的测试时间与测试页面的数据请求量;
将测试时间与测试页面的数据请求量,写入待测试案例的目标测试报告。
本实施例中,当执行可执行脚本时,对执行脚本进行监控,获取到待测试案例中,测试页面为待测试案例的首页时,测试页面的测试时间,以及测试页面的数据请求量,将测试时间与测试页面的数据请求量,将吃时间与数据请求量组我诶反馈数据,写入待测试案例的目标测试报告。
调用待测试案例中的测试页面,根据测试页面中对应的页面元素地址,获取页面元素地址对应的页面对象,根据页面对象,获取用户对页面对象配置参数,根据配置参数,确定测试模式,解析测试模式,得到操作手段的可执行脚本,确定操作的反馈数据为待测试案例的目标测试报告,,本发明基于Puppeteer框架预先建立的可视化回归测试平台上进行自动化测试,通过操作模式与页面元素地址对待测试案例进行自动化测试,测试人员在不需要掌握很多前端编写脚本的知识的情况下,就可完成测试工作,易于操作,减少了测试人员的工作量和测试成本,提高了测试效率。
参见图3,是本发明一实施例提供的一种自动化回归测试方法的流程示意图,如图3,该自动化回归测试方法可以包括以下步骤:
S301:获取用户配置的测试场景,解析测试场景,确定N个测试接口;
S302:获取用户配置的测试方式,根据测试方式,依次调用N个测试接口对待测试案例进行测试,生成测试页面,或者,同时调用N个测试接口对待测试案例进行测试,生成测试页面。
S303:根据待测试案例对应的测试场景,确定待测试案例的测试方式。
本实施例中,获取用户配置的测试场景,解析测试场景,确定N个测试接口,获取用户配置的测试方式,根据测试方式,依次调用N个测试接口对待测试案例进行测试,生成测试页面,或者,同时调用N个测试接口对待测试案例进行测试,生成测试页面,根据待测试案例对应的测试场景,确定待测试案例的测试方式,测试方式包括单独测试方式,并行测试方式与串行测试方式。
例如,当测试场景为注册场景时,确定与注册场景相关的测试接口,注册场景的测试方式为同时调用N个测试接口进行测试,当在测试页面输入对应的测试内容,如姓名测试,身份测试等,同时调用姓名认证的接口与身份认证的接口等。同时调用多个接口的测试方式为并行测试方式。
S304:调用待测试案例中的测试页面;
S305:根据测试页面中对应的页面元素地址,获取页面元素地址对应的页面对象;
S306:获取用户对页面对象配置参数,根据配置参数,确定测试模式;
S307:解析测试模式,得到操作手段的可执行脚本,执行可执行脚本对测试页面进行操作,确定操作的反馈数据为待测试案例的目标测试报告。
其中,上述步骤S304至步骤S307与上述步骤S201至步骤S204的内容相同,可参考上述步骤S201至步骤S204的描述,在此不再赘述。
参见图4,是本发明一实施例提供的一种自动化回归测试方法的流程示意图,如图4,该自动化回归测试方法可以包括以下步骤:
S401:调用待测试案例中的测试页面;
S402:根据测试页面中对应的页面元素地址,获取页面元素地址对应的页面对象;
S403:获取用户对页面对象配置参数,根据配置参数,确定测试模式;
S404:解析测试模式,得到操作手段的可执行脚本,执行可执行脚本对测试页面进行操作,确定操作的反馈数据为待测试案例的目标测试报告。
其中,上述步骤S401至步骤S404与上述步骤S201至步骤S204的内容相同,可参考上述步骤S201至步骤S204的描述,在此不再赘述。
S405:根据待测试案例,获取待测试案例的历史测试报告,比对目标测试报告与历史测试报告,确定待测试案例的测试结果。
本实施例中,将待测试案例中生成的测试报告与待测试案例中的历史测试报告进行比对,获取比对结果,根据比对结果确定待测试案例的测试结果。
需要说明的是,测试报告中包括待测试页面的性能数据、测试步骤的执行结果、执行失败步骤的页面快照,性能数据包括首页白屏时间、首页加载时间、HTTP请求数量。测试报告与历史测试报告进行比对时,在比对执行失败步骤的页面快照时,通过使用预设对比算法,例如image diff算法对测试报告中的页面快照与历史测试报告中的页面快照进行比对,对比得出两组页面快照之间的差异信息,将差异信息作为测试结果的参考。其中,预设对比算法还可以是其他能够实现快照对比的对比算法,本发明实施例对此不做限定。
需要说明的是,当比对结果大于预设阈值时,则认为待测试案例的回归测试结果达到了预期效果,当比对结果小于预设阈值时,则认为待测试案例的回归测试结果没有达到预期效果。
请参阅图5,图5是本发明实施例提供的一种自动化回归测试装置的结构示意图。本实施例中该终端包括的各单元用于执行图2至图4对应的实施例中的各步骤。具体请参阅图2至图4以及图2至图4所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图5,自动化回归测试装置50包括:调用模块51,页面对象确定模块52,测试模式确定模块53,测试模块54。
调用模块51,用于调用待测试案例中的测试页面;
页面对象确定模块52,用于根据测试页面中对应的页面元素地址,获取页面元素地址对应的页面对象;
测试模式确定模块53,用于获取用户对页面对象配置参数,根据配置参数,确定测试模式,测试模式包括至少一个操作手段;
测试模块54,用于解析测试模式,得到操作手段的可执行脚本,执行可执行脚本对测试页面进行操作,确定操作的反馈数据为待测试案例的目标测试报告。
可选的是,上述测试模块54包括:
解析单元,用于解析测试模式,得到断言操作的可执行脚本;
判断单元,执行可执行脚本对测试页面进行判断,若判断结果不满足预设条件,则中止测试,将中止测试的结果作为待测试案例的目标测试报告。
可选的是,上述判断单元包括:
截图子单元,用于若判断结果不满足预设条件,则中止测试,对终止测试时对应的终止页面进行截图,得到终止页面的页面快照;
写入子单元,用于将页面快照写入待测试案例的目标测试报告。
执行子单元,用于若判断结果满足预设条件,解析测试模式,得到操作手段的可执行脚本,执行可执行脚本对测试页面进行操作,确定操作的反馈数据为待测试案例的目标测试报告。
可选的是,上述执行子单元包括:
监控子单元,用于执行可执行脚本对测试页面进行监控,记录测试页面为待测试案例的首页时的测试时间与测试页面的数据请求量;
目标测试报告确定子单元,用于将测试时间与测试页面的数据请求量,写入待测试案例的目标测试报告。
可选的是,上述自动化回归测试装置50还包括:
解析模块,用于获取用户配置的测试场景,解析测试场景,确定N个测试接口;
调用模块,用于获取用户配置的测试方式,根据测试方式,依次调用N个测试接口对待测试案例进行测试,生成测试页面,或者,同时调用N个测试接口对待测试案例进行测试,生成测试页面。
测试方式确定模块,用于根据待测试案例对应的测试场景,确定待测试案例的测试方式,测试方式包括单独测试方式,并行测试方式与串行测试方式。
需要说明的是,上述单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图6是本发明实施例提供的一种计算机设备的结构示意图。如图6所示,该实施例的计算机设备包括:至少一个处理器(图6中仅示出一个)、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个自动化回归测试方法实施例中的步骤。
该计算机设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图6仅仅是计算机设备的举例,并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括网络接口、显示屏和输入装置等。
所称处理器可以是CPU,该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器包括可读存储介质、内存储器等,其中,内存储器可以是计算机设备的内存,内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。可读存储介质可以是计算机设备的硬盘,在另一些实施例中也可以是计算机设备的外部存储设备,例如,计算机设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,该其他程序如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本发明实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种自动化回归测试方法,其特征在于,所述自动化回归测试方法包括:
调用待测试案例中的测试页面;
根据所述测试页面中对应的页面元素地址,获取所述页面元素地址对应的页面对象;
获取用户对所述页面对象配置参数,根据所述配置参数,确定测试模式,所述测试模式包括至少一个操作手段;
解析所述测试模式,得到所述操作手段的可执行脚本,执行所述可执行脚本对所述测试页面进行操作,确定操作的反馈数据为所述待测试案例的目标测试报告。
2.如权利要求1所述的自动化回归测试方法,其特征在于,所述调用待测试案例中的测试页面之前,还包括:
获取用户配置的测试场景,解析所述测试场景,确定N个测试接口;
获取所述用户配置的测试方式,根据所述测试方式,依次调用所述N个测试接口对待测试案例进行测试,生成测试页面,或者,同时调用所述N个测试接口对待测试案例进行测试,生成测试页面;
根据所述待测试案例对应的测试场景,确定所述待测试案例的测试方式,所述测试方式包括单独测试方式,并行测试方式与串行测试方式。
3.如权利要求1所述的自动化回归测试方法,其特征在于,所述测试模式包括断言操作,解析所述测试模式,得到所述操作手段的可执行脚本,执行所述可执行脚本对所述测试页面进行操作,确定操作的反馈数据为所述待测试案例的目标测试报告,包括:
解析所述测试模式,得到所述断言操作的可执行脚本;
执行所述可执行脚本对所述测试页面进行判断,若判断结果不满足预设条件,则中止测试,将所述中止测试的结果作为所述待测试案例的目标测试报告。
4.如权利要求3所述的自动化回归测试方法,其特征在于,所述若判断结果不满足预设条件,则中止测试,将所述中止测试的结果作为所述待测试案例的目标测试报告,包括:
若判断结果不满足预设条件,则中止测试,对所述终止测试时对应的终止页面进行截图,得到所述终止页面的页面快照;
将所述页面快照写入所述待测试案例的目标测试报告。
5.如权利要求3所述的自动化回归测试方法,其特征在于,所述执行所述可执行脚本对所述测试页面进行判断之后,还包括:
若判断结果满足预设条件,解析所述测试模式,得到所述操作手段的可执行脚本,执行所述可执行脚本对所述测试页面进行操作,确定操作的反馈数据为所述待测试案例的目标测试报告。
6.如权利要求5所述的自动化回归测试方法,其特征在于,所述执行所述可执行脚本对所述测试页面进行操作,确定操作的反馈数据为所述待测试案例的目标测试报告,包括:
执行所述可执行脚本对所述测试页面进行监控,记录所述测试页面为所述待测试案例的首页时的测试时间与所述测试页面的数据请求量;
将所述测试时间与所述测试页面的数据请求量,写入所述待测试案例的目标测试报告。
7.如权利要求1所述的自动化回归测试方法,其特征在于,所述确定操作的反馈数据为所述待测试案例的目标测试报告之后,还包括:
根据所述待测试案例,获取所述待测试案例的历史测试报告,比对所述目标测试报告与所述历史测试报告,确定所述待测试案例的测试结果。
8.一种自动化回归测试装置,其特征在于,所述装置包括:
调用模块,用于调用待测试案例中的测试页面;
页面对象确定模块,用于根据所述测试页面中对应的页面元素地址,获取所述页面元素地址对应的页面对象;
测试模式确定模块,用于获取用户对所述页面对象配置参数,根据所述配置参数,确定测试模式,所述测试模式包括至少一个操作手段;
测试模块,用于解析所述测试模式,得到所述操作手段的可执行脚本,执行所述可执行脚本对所述测试页面进行操作,确定操作的反馈数据为所述待测试案例的目标测试报告。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的自动化回归测试方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的自动化回归测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211237685.2A CN115543807A (zh) | 2022-10-10 | 2022-10-10 | 一种自动化回归测试方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211237685.2A CN115543807A (zh) | 2022-10-10 | 2022-10-10 | 一种自动化回归测试方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115543807A true CN115543807A (zh) | 2022-12-30 |
Family
ID=84734529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211237685.2A Pending CN115543807A (zh) | 2022-10-10 | 2022-10-10 | 一种自动化回归测试方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115543807A (zh) |
-
2022
- 2022-10-10 CN CN202211237685.2A patent/CN115543807A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9846638B2 (en) | Exposing method related data calls during testing in an event driven, multichannel architecture | |
Ocariza et al. | An empirical study of client-side JavaScript bugs | |
CN108959068B (zh) | 软件界面测试方法、设备及存储介质 | |
US8584079B2 (en) | Quality on submit process | |
CN111552627A (zh) | 用户界面测试方法、装置、存储介质及计算机设备 | |
US20240045850A1 (en) | Systems and methods for database orientation transformation | |
US20140075242A1 (en) | Testing rest api applications | |
US20130339931A1 (en) | Application trace replay and simulation systems and methods | |
CN109815119B (zh) | 一种app链接渠道的测试方法及装置 | |
CN113760704A (zh) | Web UI的测试方法、装置、设备以及存储介质 | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
US20120198365A1 (en) | User interface style guide compliance | |
US20120198367A1 (en) | User interface style guide compliance forecasting | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN115422063A (zh) | 一种低代码接口自动化系统、电子设备及存储介质 | |
CN111679976A (zh) | 一种页面对象的查找方法及装置 | |
CN117112060A (zh) | 组件库构建方法、装置、电子设备及存储介质 | |
CN117632710A (zh) | 测试代码的生成方法、装置、设备及存储介质 | |
CN114217789A (zh) | 功能组件拓展方法、装置、设备、存储介质及程序产品 | |
US9104573B1 (en) | Providing relevant diagnostic information using ontology rules | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN115599683A (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN117707917A (zh) | 业务测试方法、装置及设备、介质、产品 | |
CN114942887A (zh) | 一种程序安全测试方法、装置、设备和介质 | |
CN115543807A (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 |