CN117573561B - 一种自动化测试系统、方法、电子设备和存储介质 - Google Patents
一种自动化测试系统、方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117573561B CN117573561B CN202410052619.0A CN202410052619A CN117573561B CN 117573561 B CN117573561 B CN 117573561B CN 202410052619 A CN202410052619 A CN 202410052619A CN 117573561 B CN117573561 B CN 117573561B
- Authority
- CN
- China
- Prior art keywords
- test
- data
- page
- layer
- data index
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 438
- 238000000034 method Methods 0.000 title claims abstract description 191
- 238000010998 test method Methods 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 238000012423 maintenance Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3664—Environments for testing or debugging software
-
- 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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种自动化测试系统、方法、电子设备和存储介质,涉及自动化测试技术领域。该自动化测试系统包括:测试用例层、测试页面层、数据索引层和测试数据层;测试用例层用于存储所有测试用例;测试页面层包括至少一个测试页面;数据索引层包括至少一个数据索引区;基于测试页面的页面访问顺序,以及操作方法的方法执行顺序,从测试数据层调用与数据索引相对应的测试数据,并基于页面访问顺序、方法执行顺序以及每个操作方法在对应测试页面的元素定位位置对每个测试页面进行自动化测试,解决了现有技术中测试数据冗余、数据无法复用以及数据过大导致维护成本高的问题,大大降低测试数据的占用内存以及降低了测试数据的维护成本。
Description
技术领域
领域
本发明涉及自动化测试技术领域,尤其涉及一种自动化测试系统、方法、电子设备和存储介质。
背景技术
在计算机测试领域,根据不同的测试目的与方法可以将测试划分为多种类型,包括功能测试,性能测试,安全测试,兼容性测试,可靠性测试等等。其中界面测试可采用自动化方式执行,通过运行测试脚本,自动模拟页面点击,输入操作,从而验证页面运行正确性,这种测试成为界面自动化测试。
目前,采用数据驱动,将测试数据与测试用例脚本分离,每条测试数据对应一条实际测试用例,是界面自动化测试用例编写过程中一种常用的方法,图1为根据现有技术提供的一种基于页面对象模型(Page Object Model,POM)的数据驱动模式示意图,如图1所示,在界面自动化测试领域中,为了提升测试用例的可维护性,采用POM,为每个页面创建Page类,以页面对象形式组织测试用例,使代码更加模块化。
然而,在大规模、长链路、大数据量的界面自动化测试中数据驱动模式的使用存在着明显的不足,在一个数据文件中维护大量的测试数据会增加字段的查找成本,字段的编辑维护非常不便,图2为根据现有技术提供的一种界面自动化测试过程中一个完整测试用例过程示意图,如图2所示,一个完整测试用例需要依次经过A,B,C,D等多个页面,但在前面A,B,C三个页面,测试用例每次需要输入的数据是相同的,只是在D页面会输入不同的数据进行测试,会存在大量的测试数据冗余,且传统数据驱动模式下,每个测试用例的测试数据作为一个整体进行保存,不同测试用例的测试数据无法进行共享。
发明内容
本发明提供了一种自动化测试系统、方法、电子设备和存储介质,解决了现有技术中测试数据冗余、数据无法复用以及数据过大导致维护成本高的问题,大大降低了测试数据的占用内存。
第一方面,本发明实施例提供了一种自动化测试系统,包括:
测试用例层、测试页面层、数据索引层和测试数据层;其中,测试用例层、测试页面层、数据索引层与测试数据层均为逻辑分离的对象;
测试用例层用于存储所有测试用例,每个测试用例用于描述需要访问的所有测试页面以及每个测试页面的页面访问顺序,以及在每个测试页面上的所有操作方法以及每个操作方法的方法执行顺序,以及每个操作方法对应的所有数据索引;
测试页面层包括至少一个测试页面,测试页面用于描述所包含的操作方法,以及所包含的所有元素的元素定位位置,并描述每个操作方法对应元素的元素定位位置;
数据索引层包括至少一个数据索引区;每个数据索引区包含至少一个数据索引,并且每个数据索引指向对应测试数据;
基于测试用例中每个测试页面的页面访问顺序,以及每个测试页面中每个操作方法的方法执行顺序,从测试数据层调用与数据索引相对应的测试数据,并基于页面访问顺序、方法执行顺序以及每个操作方法在对应测试页面的元素定位位置对每个测试页面进行自动化测试。
第二方面,本发明实施例还提供了一种自动化测试方法,包括:
获取每个测试用例包含的所有测试页面以及每个测试页面对应的页面访问顺序,每个测试页面中每个操作方法以及每个操作方法对应的方法执行顺序,以及每个操作方法对应的数据索引和元素定位位置;
基于数据索引从测试数据层调用对应的测试数据;
基于页面访问顺序、方法执行顺序以及每个操作方法在对应测试页面的元素定位位置对每个测试页面自动化测试。
第三方面,本发明实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明实施例中任一项的自动化测试方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明实施例中任一项的自动化测试方法。
根据本发明实施例的技术方案,通过包含了测试用例层、测试页面层、数据索引层和测试数据层的自动化测试系统,其中,测试用例层、测试页面层、数据索引层与测试数据层均为逻辑分离的对象,测试页面层包括至少一个测试页面;数据索引层包括至少一个数据索引区;基于测试页面的页面访问顺序,以及操作方法的方法执行顺序,从测试数据层调用与数据索引相对应的测试数据,并基于页面访问顺序、方法执行顺序以及每个操作方法在对应测试页面的元素定位位置对每个测试页面进行自动化测试。本发明实施例通过按照操作方法对测试数据进行分割拆分,并通过操作方法所绑定的数据索引调用对应的测试数据,避免了数据文件过大,导致测试数据维护编辑不便的问题,降低了测试数据的维护成本;同时,只需要在操作方法上绑定对应的测试数据即可,从而实现了多个测试用例之间测试数据的共享,从而相同的测试数据无需进行多次重复拷贝,解决了测试数据冗余的问题,大大降低了测试数据的占用内存。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据现有技术提供的一种基于页面对象模型(Page Object Model,POM)的数据驱动模式示意图;
图2为根据现有技术提供的一种界面自动化测试过程中一个完整测试用例过程示意图;
图3为根据本发明实施例提供的一种自动化测试系统的示意图;
图4为根据本发明实施例提供的一种自动化测试方法的流程图;
图5为根据本发明实施例提供的另一种自动化测试方法的流程图;
图6为根据本发明实施例提供的一种自动化测试装置的结构示意图;
图7为根据本发明实施例提供的一种自动化测试装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在一实施例中,图3为根据本发明实施例提供的一种自动化测试系统的示意图,本实施例可适用于在界面自动化测试领域进行数据驱动的情况。需要说明的是,自动化测试系统中测试用例层可以包括多个测试数据区,每个测试数据区中可以包括多个测试数据。测试用例层可以包括多个测试用例,每个测试用例中可以包括多个页面,每个页面中可以包括多个操作方法,每个操作方法可以对应多个数据索引。测试页面层可以包括多个测试页面,每个测试页面中可以包括多个操作方法及多个元素定位。数据索引层中可以包括多个数据索引区,每个数据索引区中可以包括多个数据索引。示例性地,以自动化测试系统中测试数据层包括R个测试数据区(即测试数据区1、测试数据区2、…测试数据区R),测试数据区中包括S个测试数据(即测试数据1-1、测试数据1-2、…测试数据1-S)。以及测试用例层包括N个测试用例(即测试用例1、测试用例2、…测试用例N),测试用例包括M个页面(即页面1、页面2、…页面M),页面包括P个操作方法(即操作方法1、操作方法2、…操作方法P),每个操作系统对应X个数据索引。测试页面层包含M个测试页面(即页面1、页面2、…页面M),测试页面1中包括P个操作方法(即操作方法1、操作方法2、…操作方法P),以及Q个元素定位(即元素定位1、元素定位2、…元素定位Q)。数据索引层中包括R个数据索引区(即数据索引区1、数据索引区2、…数据索引区R),数据索引区1中包括S个数据索引(即数据索引1-1、数据索引1-2、…数据索引1-S)为例,对自动化测试系统的结构进行说明,其中,R、S、N、M、P、Q和X为自然数。
如图3所示,本实施例提供的一种自动化测试系统可以包括:
测试用例层10、测试页面层11、数据索引层12和测试数据层13;测试用例层10、测试页面层11、数据索引层12和测试数据层13均为逻辑分离的对象;测试用例层10用于存储所有测试用例,每个测试用例用于描述需要访问的所有测试页面以及每个测试页面的页面访问顺序,以及在每个测试页面上的所有操作方法以及每个操作方法的方法执行顺序,以及每个操作方法对应的所有数据索引;
测试页面层11包括至少一个测试页面,测试页面用于描述所包含的操作方法,以及所包含的所有元素的元素定位位置,并描述每个操作方法对应元素的元素定位位置;
数据索引层12包括至少一个数据索引区;每个数据索引区包含至少一个数据索引,并且每个数据索引指向对应测试数据;
基于测试用例中每个测试页面的页面访问顺序,以及每个测试页面中每个操作方法的方法执行顺序,从测试数据层13调用与数据索引相对应的测试数据,并基于页面访问顺序、方法执行顺序以及每个操作方法在对应测试页面的元素定位位置对每个测试页面进行自动化测试。
本发明实施例中,测试用例可以包括所涉及到的一个或多个测试页面,并且在每个测试页面中包括需要测试的一个或多个元素,以及相关的一个或多个操作方法等。测试数据可以理解为在自动化测试过程中,测试页面上需要输入的数据,比如,测试数据可以包括但不限于用户名和用户密码等。可以采用数据索引指向对应的测试数据,并且,数据索引与测试数据之间是一一对应关系。一般来说,数据索引可以为一个符号,也可以为一个指针,从而可以通过数据索引找到对应的测试数据。操作方法可以包括在测试页面中所需要执行的操作,比如,操作方法可以包括但不限于输入、点击和删除等操作;元素定位位置可以理解为测试页面中包含的元素的定位位置,可以包括按钮、输入框和文本等元素在测试页面中的位置。
具体的,自动化测试系统可以包括测试用例层、测试页面层、数据索引层和测试数据层,在测试用例层可以含有多个测试用例,在测试页面层可以含有多个测试页面,在数据索引层可以含有多个数据索引区,以及在测试数据层包含多个测试数据区,并且,每个测试数据区可以包括多个测试数据。测试用例层、测试页面层、数据索引层和测试数据层均可以为逻辑分离的对象,测试用例层可以用于存储自动化测试中所有的测试用例,每个测试用例可以用于描述需要访问的所有测试页面以及描述所有测试页面之间的页面访问顺序。其中,页面访问顺序用于表征在自动化测试过程中每个测试页面的先后执行顺序;每个测试用例还可以描述在每个测试页面上涉及到的所有操作方法,以及描述每个操作方法之间的方法执行顺序,方法执行顺序可以理解为在需进行测试的页面中操作方法的先后顺序。每个测试用例也可以描述每个操作方法所对应的所有数据索引。测试页面层可以包括至少一个测试页面,进一步的,测试页面可以用于描述该测试页面内所包含的所有操作方法,以及该测试页面内所包含的所有元素的元素定位位置。示例性地,测试页面中的元素可以包括按钮、输入框和文本等,并可以描述测试页面内每个操作方法所对应元素的元素定位位置。示例性的,“登录页面”描述“输入用户名”操作、“输入密码”操作和“点击登录”操作;描述“用户名输入框”、“密码输入框”和“点击登录按钮”的元素定位位置;描述“输入用户名”操作和“用户名输入框”的关联关系,描述“输入密码”操作和“密码输入框”的关联关系,描述“点击登录”操作和“点击登录按钮”的关联关系;“用户查询页面”描述“输入用户角色”操作、“输入用户部门”操作和“点击查询”操作;描述“输入用户角色输入框”、“输入用户部门输入框”和“点击查询按钮”的元素定位位置;描述“输入用户角色”操作和“输入用户角色输入框”的关联关系,描述“输入用户部门”操作和“输入用户角色输入框”的关联关系,描述“点击查询”操作和“点击登录按钮”的关联关系。数据索引层可以包括至少一个数据索引区,以及每个数据索引区可以包含至少一个数据索引,并且每个数据索引可以指向对应测试数据,可以通过数据索引调用对应的测试数据。可以基于测试用例中每个测试页面的页面访问顺序,以及每个测试页面中每个操作方法的方法执行顺序,从测试数据层中调用与数据索引相对应的测试数据,并可以基于页面访问顺序、方法执行顺序以及每个操作方法在对应测试页面的元素定位位置对每个测试页面进行自动化测试。
在一实施例中,操作方法和数据索引之间的关联关系采用注解方式进行绑定。
具体的,测试页面中的操作方法与数据索引之间的关联关系可以采用注解方式进行绑定,以便可以根据操作方法找到对应的数据索引,来找到所需的测试数据,注解可以理解为引用函数,示例性的,注解可以采用下述方式进行表征:
@数据索引2-1,
操作方法A。
其中,该注解可以理解为操作方法A引用数据索引2-1对应的测试数据。
示例性的,某应用系统具有以下功能:1)在“登录页面”输入用户名和密码完成系统登录;2)在“用户查询页面”可根据相关查询条件进行用户搜索,“登录页面”中所包含的元素可以包括搜索字段,搜索字段可以包括用户名,用户角色,用户部门,用户状态,以及用户所在地区等;3)在“用户编辑页面”可对查找到的用户可进行相应的编辑,重置密码等操作。测试用例1描述为:用户依次访问“登录页面”-“用户查询页面”两个页面,其中“登录页面”描述为“输入用户名”操作、“输入密码”操作和“点击登录”操作,“输入用户名”操作涉及用户1的数据索引,“输入密码”操作涉及密码1的数据索引,“点击登录”操作不涉及数据索引;“用户查询页面”描述为“输入用户角色”操作、“输入用户部门”操作和“点击查询”操作,“输入用户角色”操作涉及用户角色1的数据索引,“输入用户部门”操作涉及用户部门1的数据索引,“点击查询”操作不涉及数据索引。
具体的,可以基于测试用例中每个测试页面的页面访问的先后顺序,以及每个测试页面中每个操作方法的方法执行的先后顺序,根据操作方法对应的数据索引,从测试数据层调用与数据索引相对应的测试数据,并可以基于测试页面的访问顺序、测试页面中操作方法的执行顺序以及每个操作方法在对应测试页面的元素定位位置对每个测试页面进行自动化测试。示例性的,可以根据用户依次访问“登录页面”-“用户查询页面”两个页面的先后顺序,在“登录页面”用户依次进行“输入用户名”操作、“输入密码”操作和“点击登录”操作的先后顺序,在“用户查询页面”用户依次进行“输入用户角色”操作、“输入用户部门”操作和“点击查询”操作的先后顺序,以及在“登录页面”中“输入用户名”操作对应的“用户名输入框”的元素定位位置,“输入密码”操作对应的“密码输入框”的元素定位位置,“点击登录”操作对应的“点击登录按钮”的元素定位位置,在“用户查询页面”中“输入用户角色”操作对应的“输入用户角色输入框”的元素定位位置,“输入用户部门”操作对应的“输入用户部门输入框”的元素定位位置,“点击查询”操作对应的“点击查询按钮”的元素定位位置进行自动化测试。
根据本发明实施例的技术方案,通过按照操作方法对测试数据进行分割拆分,并通过操作方法所绑定的数据索引调用对应的测试数据,避免了数据文件过大,导致测试数据维护编辑不便的问题,降低了测试数据的维护成本;同时,只需要在操作方法上绑定对应的测试数据即可,从而实现了多个测试用例之间测试数据的共享,从而相同的测试数据无需进行多次重复拷贝,解决了测试数据冗余的问题,大大降低了测试数据的占用内存。
在上述实施例基础上,在操作方法对应的元素定位位置为至少两个的情况下,测试页面还用于描述每个操作方法所对应每个元素的元素访问顺序;
操作方法按照元素访问顺序调用元素定位位置进行页面相关操作。
其中,元素访问顺序用于表征一个操作方法对每个元素的调用及执行顺序。具体的,在测试页面中操作方法对应的元素定位位置为两个及两个以上的情况下,测试页面还需要对每个操作方法所对应元素的元素访问顺序进行描述,从而可以根据每个操作方法所对应元素的元素访问顺序,调用对应的元素定位位置,以按照元素访问顺序在元素定位位置调用并执行该元素,从而完成该测试页面的相关操作。
在上述实施例基础上,测试数据层包括至少一个测试数据区,并且,每个测试数据区包含多个测试数据。
具体的,测试数据层可以包括至少一个测试数据区,且每个测试数据区可以包含多个测试用例需调用的测试数据。示例性的,如图3所示,测试数据层可以包含R个数据测试区,数据测试区1中可以包含s个测试数据。
在上述实施例基础上,数据索引至少包括:数据索引区标识和数据索引位置标识。
其中,数据索引区标识用于表示数据索引对应的数据索引区的编号,数据索引位置标识用于表示数据索引在对应的数据索引区内位置,且数据索引区标识和数据索引位置标识相对于对应的数据索引都是唯一的,可以根据数据索引区标识和数据索引位置标识来表明数据索引所处的位置。示例性的,数据索引2-1中2指的是对应的数据索引区,1指的是该数据索引区中的具体位置编号。
在一实施例中,图4为根据本发明实施例提供的一种自动化测试方法的流程图,本实施例中的自动化测试方法可以由上述的自动化测试系统来执行,该自动化测试系统可以采用硬件和/或软件的形式实现。
如图4所示,本实施例提供的一种自动化测试方法可以包括:
S210、获取每个测试用例包含的所有测试页面以及每个测试页面对应的页面访问顺序,每个测试页面中每个操作方法以及每个操作方法对应的方法执行顺序,以及每个操作方法对应的数据索引和元素定位位置。
具体的,可以获取自动化测试过程中在测试用例层、测试页面层中每个测试用例包含的所有测试页面以及每个测试页面对应的页面访问的先后顺序。测试页面可以包括用户登录页面和用户查询页面等,每个测试页面中每个操作方法以及每个操作方法对应的方法执行的先后顺序。操作方法可以包括输入用户名操作、输入密码操作和点击登录操作等,以及每个操作方法对应的数据索引和元素定位位置,设定操作方法对应的元素定位位置可以让自动化测试系统感知操作方法对应的元素信息的位置。
S220、基于数据索引从测试数据层调用对应的测试数据。
具体的,可以基于上述得到的测试页面中操作方法对应的数据索引从测试数据层调用对应的测试数据,数据索引与测试数据一一对应,可以根据数据索引的数据索引区标识和数据索引位置标识在测试数据层找到对应的数据索引区以及数据索引区内测试数据的位置。
S230、基于页面访问顺序、方法执行顺序以及每个操作方法在对应测试页面的元素定位位置对每个测试页面自动化测试。
具体的,可以依次按照获取的测试页面访问顺序、操作方法执行顺序以及在每个操作方法对应测试页面的元素定位位置调用对应的测试数据来完成对每个测试页面的自动化测试。
根据本发明实施例的技术方案,通过按照操作方法对测试数据进行分割拆分,并通过操作方法所绑定的数据索引调用对应的测试数据,避免了数据文件过大,导致测试数据维护编辑不便的问题,降低了测试数据的维护成本;同时,只需要在操作方法上绑定对应的测试数据即可,从而实现了多个测试用例之间测试数据的共享,从而相同的测试数据无需进行多次重复拷贝,解决了测试数据冗余的问题,大大降低了测试数据的占用内存。
在一实施例中,测试页面包含于测试页面层,并且,测试页面用于描述所包含的操作方法,以及所包含的所有元素的元素定位位置,并描述每个操作方法对应元素的元素定位位置。
在一实施例中,在操作方法对应的元素定位位置为至少两个的情况下,测试页面还用于描述每个操作方法所对应每个元素的元素访问顺序;
操作方法按照元素访问顺序调用元素定位位置进行页面相关操作。
在一实施例中,数据索引包含于数据索引层,数据索引层包括至少一个数据索引区;每个数据索引区包含至少一个数据索引,并且每个数据索引指向对应测试数据。
在一实施例中,测试数据层包括至少一个测试数据区,并且,每个测试数据区包含多个测试数据。
在一实施例中,操作方法与数据索引之间的关联关系采用注解方式进行绑定。
在一实施例中,数据索引至少包括:数据索引区标识和数据索引位置标识。
需要说明的是,自动化测试方法中涉及到的测试用例、页面访问顺序、操作方法、方法执行顺序、数据索引、元素定位位置、测试页面、元素访问顺序等参数的解释,可参见上述自动化测试系统的实施例中对应参数的描述,在此不再赘述。
在一实施例中,图5为根据本发明实施例提供的另一种自动化测试方法的流程图,在上述各实施例的基础上,本实施例作为优选实施例,针对自动化测试过程中的数据驱动,以在登录页面输入用户名和密码完成系统登录,在用户查询页面可根据相关查询条件进行用户搜索,搜索字段包括用户名,用户角色,用户部门,用户状态,用户所在地区等,在用户编辑页面可对查找到的用户可进行相应的编辑,重置密码等操作为测试用例为例来进一步说明。
如图5所示,本实施例提供的另一种自动化测试方法可以包括:
S310、获取测试用例中包含的登录页面、用户查询页面和用户编辑页面以及页面的访问顺序,页面中的操作方法及操作方法执行顺序,以及每个操作方法对应的数据索引和元素定位位置。
具体的,可以获取测试用例中包含的登录页面、用户查询页面和用户编辑页面以及这些测试页面之间的访问先后顺序,这些测试页面之间的访问先后顺序为登录页面、用户查询页面和用户编辑页面。还可以获取登录页面中的输入用户名操作、输入密码操作和点击登录操作,这些操作方法执行先后顺序为用户名操作、输入密码操作、点击登录操作;获取用户查询页面中的输入用户角色操作、输入用户部门操作和点击查询操作,这些操作方法执行先后顺序为输入用户角色操作、输入用户部门操作、点击查询操作;获取用户编辑页面中的填写新密码操作和点击提交新密码操作,这些操作方法执行先后顺序为填写新密码操作、点击提交新密码操作。以及获取输入用户名操作涉及用户1的数据索引(数据索引1-1),输入密码操作涉及密码1的数据索引(数据索引2-1),点击登录操作不涉及数据索引,输入用户角色操作涉及用户角色1的数据索引(数据索引3-1),输入用户部门操作涉及用户部门1的数据索引(数据索引4-1),点击查询操作不涉及数据索引,填写新密码操作涉及密码1的数据索引(数据索引2-2),点击提交新密码操作不涉及数据索引。以及获取用户名输入框、密码输入框和点击登录按钮的元素定位位置,输入用户角色输入框、输入用户部门输入框和点击查询按钮的元素定位位置,新密码输入框和点击提交新密码按钮的元素定位位置。
S320、根据操作方法对应的数据索引调用测试数据。
具体的,可以根据上述登录页面、用户查询页面和用户编辑页面中各个操作方法对应的数据索引的数据索引区标识和数据索引位置标识在测试数据层找到对应的测试数据。示例性的,根据登录页面中的输入用户名操作涉及用户1的数据索引1-1,找到对应的测试数据张三。
S330、对登录页面、用户查询页面和用户编辑页面进行自动化测试。
具体的,可以根据上述得到的登录页面、用户查询页面和用户编辑页面的访问顺序、页面中操作方法的执行顺序以及每个操作方法在对应测试页面的元素定位位置。以及根据数据索引找到的对应测试数据,将测试数据输入对应的元素定位位置,并按照顺序完成对登录页面、用户查询页面和用户编辑页面的自动化测试。
本发明实施例提供的技术方案,通过获取测试用例中包含的登录页面、用户查询页面和用户编辑页面以及页面的访问顺序,页面中的操作方法及操作方法执行顺序,以及每个操作方法对应的数据索引和元素定位位置,根据操作方法对应的数据索引调用测试数据,对登录页面、用户查询页面和用户编辑页面进行自动化测试,解决了测试数据冗余的问题,实现了测试数据与操作方法的绑定及了测试数据用例间的共享,降低了测试数据的维护成本。
在一实施例中,图6为根据本发明实施例提供的一种自动化测试装置的结构示意图。本实施例可以执行上述实施方式。本实施例可适用于在界面自动化测试领域进行数据驱动的情况,该装置可以采用硬件/软件的方式来实现,并可配置在电子设备中。
如图6所示,本实施例中提供的顺序获取模块401、测试数据调用模块402、自动化测试模块403,其中:
顺序获取模块401,用于获取每个测试用例包含的所有测试页面以及每个测试页面对应的页面访问顺序,每个测试页面中每个操作方法以及每个操作方法对应的方法执行顺序,以及每个操作方法对应的数据索引和元素定位位置。
测试数据调用模块402,用于基于数据索引从测试数据层调用对应的测试数据。
自动化测试模块403,用于基于页面访问顺序、方法执行顺序以及每个操作方法在对应测试页面的元素定位位置对每个测试页面自动化测试。
在一实施例中,测试页面包含于测试页面层,并且,测试页面用于描述所包含的操作方法,以及所包含的所有元素的元素定位位置,并描述每个操作方法对应元素的元素定位位置。
在一实施例中,在操作方法对应的元素定位位置为至少两个的情况下,测试页面还用于描述每个操作方法所对应每个元素的元素访问顺序;
操作方法按照元素访问顺序调用元素定位位置进行页面相关操作。
在一实施例中,数据索引包含于数据索引层,数据索引层包括至少一个数据索引区;每个数据索引区包含至少一个数据索引,并且每个数据索引指向对应测试数据。
在一实施例中,测试数据层包括至少一个测试数据区,并且,每个测试数据区包含多个测试数据。
在一实施例中,操作方法与数据索引之间的关联关系采用注解方式进行绑定。
在一实施例中,数据索引至少包括:数据索引区标识和数据索引位置标识。
本发明实施例通过按照操作方法对测试数据进行分割拆分,并通过操作方法所绑定的数据索引调用对应的测试数据,避免了数据文件过大,导致测试数据维护编辑不便的问题,降低了测试数据的维护成本;同时,只需要在操作方法上绑定对应的测试数据即可,从而实现了多个测试用例之间测试数据的共享,从而相同的测试数据无需进行多次重复拷贝,解决了测试数据冗余的问题,大大降低了测试数据的占用内存。
本发明实施例提供的一种自动化测试装置可执行本发明实施例所提供的任意的自动化测试方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本发明任意方法实施例中的描述。
在一实施例中,图7为根据本发明实施例提供的一种电子设备的结构示意图。可以用来实施本发明的实施例的电子设备50,电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图7所示,电子设备50包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(ROM)52、随机访问存储器(RAM)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(ROM)52中的计算机程序或者从存储单元58加载到随机访问存储器(RAM)53中的计算机程序,来执行各种适当的动作和处理。在RAM 53中,还可存储电子设备50操作所需的各种程序和数据。处理器51、RAM 52以及RAM 53通过总线54彼此相连。输入/输出(I/O)接口55也连接至总线54。
电子设备50中的多个部件连接至I/O接口55,包括:输入单元55,例如键盘、鼠标等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许电子设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器51可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器51的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器51执行上文所描述的各个方法和处理,例如自动化测试方法。
在一些实施例中,自动化测试方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元58。在一些实施例中,计算机程序的部分或者全部可以经由ROM 52和/或通信单元59而被载入和/或安装到电子设备50上。当计算机程序加载到RAM53并由处理器51执行时,可以执行上文描述的自动化测试方法的一个或多个步骤。备选地,在其他实施例中,处理器51可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行自动化测试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (7)
1.一种自动化测试系统,其特征在于,包括:测试用例层、测试页面层、数据索引层和测试数据层;其中,所述测试用例层、所述测试页面层、所述数据索引层与所述测试数据层均为逻辑分离的对象;
所述测试用例层用于存储所有测试用例,每个所述测试用例用于描述需要访问的所有测试页面以及每个所述测试页面的页面访问顺序,以及在每个所述测试页面上的所有操作方法以及每个所述操作方法的方法执行顺序,以及每个所述操作方法对应的所有数据索引;
所述测试页面层包括至少一个测试页面,所述测试页面用于描述所包含的操作方法,以及所包含的所有元素的元素定位位置,并描述每个所述操作方法对应元素的元素定位位置;所述数据索引层包括至少一个数据索引区;每个所述数据索引区包含至少一个数据索引,并且每个所述数据索引指向对应测试数据,所述数据索引与所述测试数据之间是一一对应关系;
基于所述测试用例中每个所述测试页面的页面访问顺序,以及每个所述测试页面中每个所述操作方法的方法执行顺序,从所述测试数据层调用与所述数据索引相对应的测试数据,并基于所述页面访问顺序、所述方法执行顺序以及每个所述操作方法在对应测试页面的元素定位位置对每个所述测试页面进行自动化测试;
其中,所述页面访问顺序用于表征在自动化测试过程中每个所述测试页面的先后执行顺序;
其中,在所述操作方法对应的所述元素定位位置为至少两个的情况下,所述测试页面还用于描述每个所述操作方法所对应每个元素的元素访问顺序;
所述操作方法按照所述元素访问顺序调用元素定位位置进行页面相关操作。
2.根据权利要求1所述的系统,其特征在于,所述测试数据层包括至少一个测试数据区,并且,每个所述测试数据区包含多个测试数据。
3.根据权利要求1所述的系统,其特征在于,所述操作方法与所述数据索引之间的关联关系采用注解方式进行绑定。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述数据索引至少包括:数据索引区标识和数据索引位置标识。
5.一种自动化测试方法,其特征在于,包括:
获取每个测试用例包含的所有测试页面以及每个测试页面对应的页面访问顺序,每个所述测试页面中每个操作方法以及每个操作方法对应的方法执行顺序,以及每个操作方法对应的数据索引和元素定位位置;
基于所述数据索引从测试数据层调用对应的测试数据,所述数据索引与所述测试数据之间是一一对应关系;
基于所述页面访问顺序、所述方法执行顺序以及每个所述操作方法在对应测试页面的元素定位位置对每个所述测试页面自动化测试;
其中,所述页面访问顺序用于表征在自动化测试过程中每个所述测试页面的先后执行顺序;
其中,在所述操作方法对应的所述元素定位位置为至少两个的情况下,所述测试页面还用于描述每个所述操作方法所对应每个元素的元素访问顺序;
所述操作方法按照所述元素访问顺序调用元素定位位置进行页面相关操作。
6.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求5所述的自动化测试方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求5所述的自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410052619.0A CN117573561B (zh) | 2024-01-15 | 2024-01-15 | 一种自动化测试系统、方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410052619.0A CN117573561B (zh) | 2024-01-15 | 2024-01-15 | 一种自动化测试系统、方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117573561A CN117573561A (zh) | 2024-02-20 |
CN117573561B true CN117573561B (zh) | 2024-04-26 |
Family
ID=89886520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410052619.0A Active CN117573561B (zh) | 2024-01-15 | 2024-01-15 | 一种自动化测试系统、方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573561B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521834A (zh) * | 2009-04-02 | 2009-09-02 | 深圳市茁壮网络技术有限公司 | 一种自动化测试的方法、装置和系统 |
CN103729285A (zh) * | 2012-10-11 | 2014-04-16 | 腾讯科技(深圳)有限公司 | 一种网页测试方法、设备及系统 |
CN113268684A (zh) * | 2021-06-24 | 2021-08-17 | 深圳平安智汇企业信息管理有限公司 | 数据处理方法、装置、终端设备以及存储介质 |
CN117370203A (zh) * | 2023-10-27 | 2024-01-09 | 华润数字科技有限公司 | 自动化测试方法、系统、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10445224B2 (en) * | 2017-04-25 | 2019-10-15 | Microsoft Technology Licensing, Llc | Visible elements-based application testing |
-
2024
- 2024-01-15 CN CN202410052619.0A patent/CN117573561B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521834A (zh) * | 2009-04-02 | 2009-09-02 | 深圳市茁壮网络技术有限公司 | 一种自动化测试的方法、装置和系统 |
CN103729285A (zh) * | 2012-10-11 | 2014-04-16 | 腾讯科技(深圳)有限公司 | 一种网页测试方法、设备及系统 |
CN113268684A (zh) * | 2021-06-24 | 2021-08-17 | 深圳平安智汇企业信息管理有限公司 | 数据处理方法、装置、终端设备以及存储介质 |
CN117370203A (zh) * | 2023-10-27 | 2024-01-09 | 华润数字科技有限公司 | 自动化测试方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117573561A (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114021156A (zh) | 漏洞自动化聚合的整理方法、装置、设备以及存储介质 | |
CN115599769A (zh) | 一种数据迁移方法、装置、电子设备及存储介质 | |
CN115016321A (zh) | 一种硬件在环自动化测试方法、装置及系统 | |
CN117573561B (zh) | 一种自动化测试系统、方法、电子设备和存储介质 | |
CN116009847A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN116467161A (zh) | 一种应用的测试方法、装置、电子设备及存储介质 | |
CN116185389A (zh) | 一种代码生成方法、装置、电子设备及介质 | |
CN115269431A (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN114896418A (zh) | 知识图谱构建方法、装置、电子设备及存储介质 | |
CN113079046A (zh) | 数据接入方法及装置、电子设备和介质 | |
CN109697141B (zh) | 用于可视化测试的方法及装置 | |
CN115859926B (zh) | 一种电子表单数据关系处理方法、装置、电子设备及介质 | |
CN114924987A (zh) | 脚本输入指令的检测方法、装置、设备和介质 | |
CN116225943A (zh) | 交互界面测试方法、装置、电子设备及存储介质 | |
CN117609054A (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN114428739A (zh) | 文件合并方法、装置、设备、存储介质及产品 | |
CN115525295A (zh) | 一种代码自动编辑方法、装置、电子设备及存储介质 | |
CN115563149A (zh) | 指标计算方法、装置、电子设备及存储介质 | |
CN115329999A (zh) | 一种运维任务的处理方法、装置、平台及存储介质 | |
CN116400669A (zh) | 安全级仪控系统的自动测试方法、装置、测试设备及介质 | |
CN117931176A (zh) | 一种业务应用生成方法、装置、平台及介质 | |
CN116521866A (zh) | 一种训练样本构建方法、装置、电子设备及介质 | |
CN115686479A (zh) | 一种文件的创建方法和相关装置 | |
CN116400956A (zh) | 一种代码合并信息确定方法、装置、电子设备及存储介质 | |
CN116974929A (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 |