CN111427760B - 页面测试方法、装置、设备及存储介质 - Google Patents
页面测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111427760B CN111427760B CN201910019677.2A CN201910019677A CN111427760B CN 111427760 B CN111427760 B CN 111427760B CN 201910019677 A CN201910019677 A CN 201910019677A CN 111427760 B CN111427760 B CN 111427760B
- Authority
- CN
- China
- Prior art keywords
- test
- page
- application system
- test case
- tested
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000001545 Page's trend test Methods 0.000 title abstract description 51
- 238000012360 testing method Methods 0.000 claims abstract description 392
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000009471 action Effects 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 abstract description 24
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000014509 gene expression 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
- 230000003068 static effect Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 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/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
本申请实施例提供一种页面测试方法、装置、设备及存储介质。在页面测试方法中,响应对应用***的测试操作,自动生成测试用例,接着可基于该测试规则,定位应用***中的待测元素,并模拟对待测元素的操作,进而,可有效降低页面测试过程对手动编写测试用例的依赖性,降低了对页面进行测试所花费的时间成本,提升了页面测试的效率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种页面测试方法、装置、设备及存储介质。
背景技术
用户界面测试,(User interface testing,简称UI测试),通常用于测试用户界面上的对象是否能完成预期的功能,以确保具有良好的用户体验。现有技术中,通常通过手动编写测试用例实现UI测试。但是,这种手动编写测试用例的UI测试方法所需的时间成本较高,尤其是在被测页面数量较多情况下。因此,一种解决方案亟待提出。
发明内容
本申请的多个方面提供一种页面测试方法、装置、设备及存储介质,用以有利于有效地降低页面测试所需的时间成本,提升页面测试的效率。
本申请实施例提供一种测试方法,包括:响应于对应用***的测试操作,生成与所述应用***对应的测试用例;运行所述测试用例,以定位所述应用***中的待测元素,并模拟对所述待测元素的操作。
本申请实施例还提供一种测试装置,包括:用例生成模块,用于响应于对应用***的测试操作,生成与所述应用***对应的测试用例;测试模块,用于运行所述测试用例,以定位所述应用***中的待测元素,并模拟对所述待测元素的操作。
本申请实施例还提供一种页面测试设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:响应于对应用***的测试操作,生成与所述应用***对应的测试用例;运行所述测试用例,以定位所述应用***中的待测元素,并模拟对所述待测元素的操作。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现本申请实施例提供的页面测试方法中的步骤。
本申请实施例提供了页面测试方法、装置、设备及存储介质,在页面测试方法中,响应对应用***的测试操作,自动生成测试用例,接着可基于该测试规则,定位应用***中的待测元素,并模拟对待测元素的操作,进而,可有效降低页面测试过程对手动编写测试用例的依赖性,降低了对页面进行测试所花费的时间成本,提升了页面测试的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的页面测试方法的流程示意图;
图2为本申请另一示例性实施例提供的页面测试方法的流程示意图;
图3a为本申请又一示例性实施例提供的页面测试方法的流程示意图;
图3b为本申请又一示例性实施例提供的应用***的逻辑结构的示意图;
图4为本申请又一示例性实施例提供的页面测试方法的流程示意图;
图5为本申请一示例性实施例提供的页面测试装置的结构示意图;
图6为本申请一示例性实施例提供的页面测试设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有技术中手动编写测试用例,进而导致页面测试的时间成本较高的技术问题,在本申请一些实施例中,提供了一种解决方案,在该解决方案中,响应对应用***的测试操作,自动生成测试用例,接着可基于该测试规则,定位应用***中的待测元素,并模拟对待测元素的操作,进而,可有效降低页面测试过程对手动编写测试用例的依赖性,降低了对页面进行测试所花费的时间成本,提升了页面测试的效率。以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的页面测试方法的流程示意图,如图1所示,该方法包括:
步骤101、响应于对应用***的测试操作,生成与该应用***对应的测试用例。
步骤102、运行该测试用例,以定位应用***中的待测元素,并模拟对该待测元素的操作。
在本实施例中,应用***,可包括各类网站、安装于电脑端的应用程序以及安装于移动智能设备上的应用程序等。
测试用例,指的是针对应用***编制的一组测试程序。通常,测试用例可包含测试的前提条件、测试的执行条件、测试的对象、测试过程中的输入以及预期结果的筛选规则等,以测试该应用***是否满足特定需求。
本实施例中,响应于对应用***的测试操作,可自动生成应用***对应的测试用例。该测试用例被运行时,可执行针对应用***中的待测元素的定位操作,并可在定位待测元素后,模拟对该待测元素的操作。
其中,待测元素,可包含应用***中的各种控件,例如文本标签、输入框、进度条、按钮、对话框等,还包括文字、图片、音频、动画、视频等可作为测试对象的元素,本实施例对此不做限制。
其中,定位应用***中的待测元素,指的是从应用***中筛选出用于作为测试对象的元素的过程。
通常,应用***中的待测元素可提供人机交互功能。模拟对该待测元素的操作,可以相当于模拟人机交互过程中,用户对该待测元素的操作。例如,模拟用户对待测元素的点击操作、滚动操作、长按操作、悬停操作等等,进而可测试待测元素是否符合用户需求,或者是否符合应用***的功能需求。
在本实施例中,响应对应用***的测试操作,自动生成测试用例,接着可基于该测试规则,定位应用***中的待测元素,并模拟对待测元素的操作,进而,可有效降低页面测试过程对手动编写测试用例的依赖性,降低了对页面进行测试所花费的时间成本,提升了页面测试的效率。
在一些示例性实施方式中,上述实施例记载的生成与应用***对应的测试用例的操作,可基于预先配置的测试规则和测试用例模板实现。
其中,测试规则,可指示测试对象、测试目标、测试方法、测试完成标准和/或测试结果输出要求等等,本实施例包含但不限于此。该测试规则,可由用户根据应用***的特征和/或测试需求进行自定义设置,本实施例不做限制。
其中,测试用例模板,可包含测试用例的必要格式、必要内容以及测试不同对象所需的通用参数等,可由用户根据测试经验预先编写。在页面测试的过程中,可结合预先配置的测试规则对测试用例模板进行配置,进而自动生成符合应用***的测试需求的测试用例,以降低页面测试所需的时间成本。在自动生成应用***对应的测试用例后,运行该测试用例,即可定位应用***包含的待测元素,并模拟对该待测元素的操作。以下将进行详细说明。
图2为本申请另一示例性实施例提供的页面测试方法的流程示意图,如图2所示,该方法包括:
步骤201、响应于对应用***的测试操作,获取预先配置的测试规则。
步骤202、根据测试规则包含的元素匹配规则、元素操作规则和错误识别规则,分别对测试用例模板中的元素定位参数、元素动作参数和错误识别参数进行设置,以得到应用***对应的测试用例。
步骤203、运行测试用例,以根据测试用例中的元素定位参数,从应用***中匹配待测元素,并按照元素动作参数,模拟对该待测元素的操作。
步骤204、根据测试用例中的错误识别参数,从模拟对待测元素的操作的结果中识别出错误结果,作为测试结果。
可选地,本实施例提供的页面测试方法可由页面测试设备实现。该页面测试设备包括能够运行测试用例的电子设备,例如计算机或者服务器等,本实施例不做限制。
步骤201中,对应用***的测试操作,可由用户发起,也可由页面测试设备发起。
在一些可选的实施方式中,页面测试设备可在检测到用户对页面测试设备的设定操作时,认为用户发起了对应用***的测试操作。例如,页面测试设备上可展示一测试图标,当检测到用户对该测试图标的触发操作时,页面测试设备可认为用户发起了针对应用***的测试操作。在另一些可选的实施方式中,页面测试设备可根据设定的测试周期,自动发起针对应用***的测试操作,本实施例对此不作限制。
可选地,在本实施例中,测试规则可包括:元素匹配规则、元素操作规则和错误识别规则。
首先,结合具体的例子,对元素匹配规则进行示例性说明。
元素匹配规则用于指示将应用***中的哪些元素作为测试对象进行测试。例如,元素匹配规则可包括:匹配页面上的按钮、匹配页面上的带连接的文本标签、匹配页面上的滚动条、匹配页面上的菜单栏控件等等。
在一些示例性实施例中,元素匹配规则可由页面测试设备根据页面测试过程中的通用元素配规则进行自动配置。例如,页面测试过程中的通用元素匹配规则可包括:匹配页面上的所有控件。
在另一些示例性实施例中,元素匹配规则可由用户进行自定义配置。在这种实施方式中,用户可自定义应用***中的部分元素作为测试对象,从而有利于页面测试设备执行针对性较高的页面测试操作,提升页面测试效率。
可选地,用户可将部分元素的定位路径配置为元素匹配规则。
在这种实施方式中,可选地,用户可基于Xpath(XML Path Language,XML路径语言)配置元素的定位路径。其中,XPath,是一种用来确定XML文档中的节点的语言。XPath使用路径表达式来选取XML文档中的节点或者节点集。路径表达式是从一个XML节点到另一个节点、或一组节点的书面步骤顺序,这些步骤以“/”字符分开。在本步骤中,XML文档中的节点可以是应用***中的元素。例如,用户可配置元素匹配规则为:匹配页面上定位路径为:address0/address1/ID=button1的元素。
可选地,用户可将部分元素的属性配置为元素匹配规则。其中,元素的属性包含但不仅限于元素的类型、名称、ID、样式等。例如,用户可配置元素匹配规则为:匹配页面上元素类型为按钮、名称为“确定”、ID为“button1”、背景色为灰色的元素。
在这种实施方式中,可选地,用户配置元素的属性的操作可通过CSS(CascadingStyle Sheets,层叠样式表)选择器实现。用户可在CSS选择器中,配置元素的类型、名称、ID以及样式中的至少一种。
除上述两种实施方式之外,用户也可以同时将部分元素的定位路径和属性作为元素匹配规则,以提升元素匹配的精确度,不再赘述。
接下来,结合具体的例子,对元素操作规则进行示例性说明。
元素操作规则,指示了在测试的过程中,需要对元素执行何种操作。通常,元素的操作规则可由元素和操作动作的对应关系组成。在本实施例中,操作动作包括但不限于:单击、双击、长按、滚动、移动以及输入动作中的一种或多种。
在一些示例性的实施方式中,元素操作规则可由页面测试设备根据页面测试过程中的通用元素操作规则进行自动配置。通常,页面测试过程中的通用元素操作规则,以较大的分类粒度描述了元素和操作动作的对应关系。例如,通用元素操作规则可包括:对页面上元素类型为按钮的元素执行点击操作;对页面上元素类型为带链接的文本标签的元素执行单击操作;对页面上元素类型为滚动条的元素执行滚动操作。
在另一些示例性的实施方式中,元素操作规则可由用户根据测试需求进行自定义配置。相较于根据通用元素操作规则进行自动配置的方案而言,用户自定义配置元素操作规则时,可根据测试需求,增加除了元素类型之外的其它与元素关联的描述信息,以进一步细化元素分类粒度,和/或,根据测试需求,增加除了操作类型之外的其它与操作关联的描述信息,以进一步细化操作分类粒度。
其中,与元素关联的其它描述信息可包括元素的ID、元素的名称、元素的样式、元素在页面上的布局位置等。与操作关联的其它描述信息,可包括操作的次数、单击的方式(例如,采用鼠标左键单击、采用鼠标右键单击)、滚动的幅度等等。基于这种实施方式,用户可进一步细化页面测试的规则,甚至可以“一对一”地定义对哪一个元素执行哪一种具体操作,从而有利于实现精准测试。
例如,用户可自定义配置元素操作规则为:对页面上元素类型为“按钮”、名称为“确定”、ID为“button1”、背景色为“灰色”的元素执行左击操作;对页面上元素类型为“按钮”、名称为“取消”、ID为“button2”、背景色为“白色”的元素执行右击操作;对页面上元素类型为“带链接的文本标签”、名称为“目录1”,ID为“label0”,标签上的字体为“楷体”的元素执行左击操作。
接下来,结合具体的例子,对错误识别规则进行示例性说明。
模拟对一待测元素的操作后,若该待测元素符合应用***的设计需求或者功能需求,则对其进行模拟操作的结果为正确的操作结果;反之,对其进行模拟操作的结果为错误的操作结果。错误识别规则,用于指示识别对哪些待测元素的模拟操作结果为错误的操作结果,以生成测试结果供用户查看。
在一些示例性的实施方式中,可根据页面测试过程中的通用错误识别规则自动配置错误识别规则。例如,通用错误识别规则可包括:识别对模拟操作无响应的操作结果,和/或识别对模拟操作响应超时的操作结果。
在另一些示例性的实施方式中,错误识别规则可由用户根据测试需求自定义配置。在这种实施方式中,用户可根据测试需求,对错误识别规则进行细化。例如,用户可配置错误识别规则为:识别对名称为“确定”的按钮进行点击操作时,按钮无响应的操作结果;识别对颜色为“灰色”的滚动条进行滚动操作时,滚动条不发生滚动的操作结果;识别对“带有链接L1”的文本标签进行点击操作时,未进入链接L1所指向的页面的操作结果,不再赘述。
在获取到预先配置的元素匹配规则、元素操作规则和错误识别规则后,接下来,可执行步骤202:根据元素匹配规则对测试用例模板中的元素定位参数进行设置;根据元素操作规则,对测试用例模板中的元素动作参数进行设置;以及,根据错误识别规则对测试用例模板中的错误识别参数进行设置,得到应用***对应的测试用例。
其中,元素定位参数,用于在执行测试用例的过程中,定位应用***中的待测元素;元素动作参数,用于在执行测试用例的过程中,模拟待测元素的目标操作;错误识别参数,用于从模拟对待测元素的操作的结果中,筛选出操作结果中不符合用户需求、不符合应用***的设计初衷或者不符合应用***的功能需求的结果。
可选地,根据元素匹配规则对测试用例模板中的元素定位参数进行配置的一种方式为:将元素匹配规则作为元素定位参数的值;例如,若用户通过Xpath配置元素的定位路径为:页面A0/菜单栏1,则可将“页面A0/菜单栏1”这一定位路径作为元素定位参数的值,以在运行测试用例时,定位页面A0上的菜单栏1作为待测元素。
可选地,根据元素操作规则对测试用例模板中的元素动作参数进行配置的一种方式为:将元素操作规则作为元素动作参数的值。例如,若用户配置的元素操作规则为:对按钮B1执行点击操作时,则可将“按钮B1和点击操作的对应关系”作为元素动作参数的值,以在运行测试用例时,将按钮B1作为待测对象,并对按钮B1执行点击操作。
可选地,根据错误识别规则对测试用例模板中的错误识别参数进行配置的一种方式为:将错误识别规则作为错误识别参数的值。例如,若用户配置的错误识别规则为:识别对名称为button1的按钮进行点击操作时,按钮无响应的操作结果;则可将“识别对名称为button1的按钮进行点击操作时,按钮无响应的操作结果”作为错误识别参数的值,以在运行测试用例时,判断对名称为button1的按钮进行点击操作时,该按钮是否有响应,并在该按钮无响应时,记录该按钮的名称、ID或者截图等信息,作为错误的操作结果并输出。
基于上述步骤生成应用***对应的测试用例后,接下来,可执行步骤203,运行应用***对应的测试用例。在运行测试用例的过程中,页面测试设备可将与测试用例中的元素定位参数匹配的元素作为待测元素,根据测试用例中的元素动作参数模拟执行对应的操作动作,并根据测试用例中的错误识别参数,从模拟操作的结果中识别出错误结果。
在本实施例中,响应对应用***的测试操作,获取预先配置的测试规则,接着可基于该测试规则和测试用例模板,自动生成应用***对应的测试用例,运行该测试用例以定位应用***中的待测元素,并模拟对待测元素的操作,进而,可有效降低了页面测试过程对手动编写测试用例的依赖性,降低了对页面进行测试所花费的时间成本,提升了页面测试的效率。
除此之外,这种对测试用例模板进行配置的方式,通过简单的配置即可快速复制到多种不同的应用***上执行页面检测操作,有利于减少页面测试的开发成本和维护成本。
在一些典型的应用场景中,用户的测试需求为:对应用***包含的部分元素进行测试。例如,当应用***为网站时,用户需对网站某些频道下的元素进行测试,或者对网站某些页面上的元素进行测试。在这种需求下,本申请还提供了一种页面测试方法,能够以页面为测试单元,用以灵活地完成对部分元素的测试需求。以下将具体说明。
图3a为本申请又一示例性实施例提供的页面测试方法的流程示意图,如图3a所示,该方法包括:
步骤301、响应于对应用***的测试操作,获取预先配置的测试规则。
步骤302、根据测试规则包含的元素匹配规则、元素操作规则和错误识别规则,分别对测试用例模板中的元素定位参数、元素动作参数和错误识别参数进行设置,以得到应用***对应的测试用例。
步骤303、根据预先配置的页面检测规则,获取应用***的逻辑结构描述信息。
步骤304、从该逻辑结构描述信息中,确定应用***包含的至少一个页面的定位信息。
步骤305、根据该至少一个页面的定位信息,对应用***对应的测试用例中的页面定位参数进行配置,以将应用***对应的测试用例划分为与该至少一个页面对应的至少一个测试用例。
步骤306、以并发方式运行该至少一个测试用例,以定位该至少一个页面上的待测元素,并模拟对该至少一个页面上的待测元素的操作。
步骤307、根据该至少一个测试用例各自包含的错误识别参数,从模拟对该至少一个页面上的待测元素的操作的结果中识别出错误结果,作为测试结果。
其中,步骤301和步骤302的可选实施方式可参考前述实施例的记载,此处不赘述。
在步骤303中,逻辑结构,指的是由网站或者应用程序内部的逻辑关系确定的结构。在一些实施方式中,可选地,该逻辑结构可表现为网站或者应用程序包含的页面之间的链接关系。
以下将以视频网站为例进行示例性说明。假设,通过视频网站的首页A0,可进入网站的频道页A1和频道页A2。通过频道页A1可进入视频内容页A11或视频内容页A12。通过频道页A2可进入视频内容页A21或者视频内容页A22。这种由首页A0链接至频道页A1和频道页A2、由频道页A1链接至视频内容页A11和视频内容页A12、由频道页A2链接至视频内容页A21和视频内容页A22的结构,可描述为视频网站的逻辑结构。
逻辑结构描述信息,用于对上述逻辑结构进行描述。可选地,在逻辑结构描述信息中,可采用页面的定位信息描述不同的页面,以对不同的页面做出区分。在本实施例中,页面的定位信息包括:页面的名称、页面的URL(Uniform Resource Locator,统一资源定位符)和/或链接至页面的元素的属性等。
在本实施例中,页面测试设备可根据页面检测规则,对应用***的逻辑结构进行检测,并根据检测结果生成逻辑结构描述信息。在本实施例中,逻辑结构描述信息,可以描述应用***的全部逻辑结构,也可只描述应用***的部分逻辑结构,视页面检测规则包含的内容而定,此处不做限制。
可选地,在本实施例中,页面检测规则可由页面测试设备根据页面测试过程中的通用页面检测规则自动配置。其中,通用页面检测规则可表现为:扫描应用***中所有的链接至页面的元素,以检测应用***包含的所有页面,并记录页面之间的链接关系。
可选地,页面检测规则也可由用户根据测试需求自定义配置。可选地,在这种实施方式中,用户可自定义配置链接至页面的元素的属性,作为页面检测规则。可选地,链接至页面的元素的属性可包括:元素的类型、名称、ID、样式、指向的链接等,本实施例包含但不限于此。其中,元素的类型可包括:文本、图像、动画、视频音乐、超链接、表格、表单和各类控件等等。在一些场景下,当应用***为网站时,用户可通过CSS选择器对上述元素的属性进行配置,不再赘述。
在一些示例性的实施方式中,针对网站而言,用户可自定义配置链接至页面的锚元素(anchor element)的属性,作为页面检测规则。锚元素用于指定在网页上显示的一个超链接引用(hyperlink reference,href)。其中,锚元素对应的超链接以<a>标记开始,</a>标记结束,开始和结束<a>标记之间为可以点击的超链接的文本,通常,锚元素也被称为a标签。
基于此,页面测试设备可根据该页面检测规则,扫描应用***,从应用***中筛选出符合用户配置的属性的锚元素。接着,模拟针对筛选出的锚元素的点击事件,并根据点击事件的响应结果,获取应用***的逻辑结构描述信息。
其中,点击事件的响应结果,可包括:锚元素是否可响应点击,点击后是否进入下一页面。若一锚元素响应点击事件进入下一页面,则可确定该锚元素所在的页面和点击该锚元素后进入的下一页面之间存在链接关系。此时,可获取锚元素所在页面的定位信息以及该下一页面的定位信息,并结合上述链接关系,生成网站的逻辑结构描述信息。
可选地,应用***的逻辑结构可以采用JSON(JavaScriptObjectNotation,JS对象简谱)格式进行描述,以生成逻辑结构描述信息。JSON格式易于阅读和编写,同时也易于机器解析和生成,有利于有效地提升逻辑结构描述信息的读写效率。
以下将结合具体的例子,对如何获取应用***的逻辑结构描述信息进行说明。
例如,如图3b所示:某一网站中,其首页的顶栏处展示有三个灰色的a标签(锚元素),名称分别为:“顶栏1”、“顶栏2”、“顶栏3”。其中,名称为“顶栏1”的a标签链接至第一频道页,该第一频道页的侧边栏上包含3个灰色的可链接至不同内容页的a标签,名称分别为:“侧边栏1-1”、“侧边栏1-2”、“侧边栏1-3”。名称为“顶栏2”的a标签连接至第二频道页,该第二频道页的侧边栏上包含1个灰色的可链接至内容页的a标签,名称分别:“侧边栏2-1”。名称为“顶栏3”的a标签连接至第三频道页,该第三频道页的侧边栏上包含2个灰色的可链接至不同内容页的a标签,名称分别为:“侧边栏3-1”、“侧边栏3-2”。
假设,用户通过CSS选择器配置的页面检测规则是:检测链接至页面的灰色a标签。则,页面测试设备根据该页面检测规则可检测到的应用***的逻辑结构为可为:
首页链接至第一频道页、第二频道页和第三频道页。第一频道页链接至第一内容页、第二内容页以及第三内容页。第二频道页链接至第四内容页。第三频道页链接至第五内容页和第六内容页。
当上述逻辑结构以JSON格式描述时,得到的逻辑结构描述信息可以为:
[{"headername1":"顶栏1","sidebars":[{"sidebar1-1":{"name":"侧边栏1-1","href":"http://xx.1.html"}}]}],其中,http://xx.1.html为第一内容页的URL。
[{"headername1":"顶栏1","sidebars":[{"sidebar1-2":{"name":"侧边栏1-2","href":"http://xx.2.html"}}]}],其中,http://xx.2.html为第二内容页的URL。
[{"headername1":"顶栏1","sidebars":[{"sidebar1-3":{"name":"侧边栏1-3","href":"http://xx.3.html"}}]}],其中,http://xx.3.html为第三内容页的URL。
[{"headername2":"顶栏2","sidebars":[{"sidebar2-1":{"name":"侧边栏2-1","href":"http://xx.4.html"}}]}],其中,http://xx.4.html为第四内容页的URL。
[{"headername3":"顶栏3","sidebars":[{"sidebar3-1":{"name":"侧边栏3-1","href":"http://xx.5.html"}}]}],其中,http://xx.5.html为第五内容页的URL。
[{"headername3":"顶栏3","sidebars":[{"sidebar3-2":{"name":"侧边栏3-1","href":"http://xx.6.html"}}]}],其中,http://xx.6.html为第六内容页的URL。
在获取到应用***的逻辑结构描述信息后,可执行步骤304,从该逻辑结构描述信息中,确定应用***包含的至少一个页面的定位信息。
其中,页面的定位信息,可包括页面的名称、URL和/或链接至页面的元素的属性等。例如,承接上述例子,第一频道页的定位信息可以是:链接至第一频道页的a标签的名称:顶栏1。第一内容页的定位信息可以是:链接至第一内容页的a标签的名称:侧边栏1-1,或者,还可以是第一内容页对应的URL。
在确定应用***包含的至少一个页面的定位信息后,可执行步骤305,根据该至少一个页面的定位信息,对应用***对应的测试用例中的页面定位参数进行配置,以将应用***对应的测试用例划分为与该至少一个页面对应的至少一个测试用例。
当该至少一个页面包含多个页面时,可分别根据多个页面的定位信息,对测试用例中的页面定位参数进行配置,以生成多个页面对应的测试用例。
例如,承接上述例子,可将链接至第一频道页的a标签的名称作为测试用例中的页面定位参数的值,进而得到第一频道页对应的第一测试用例。再例如,可将第一内容页对应的URL作为测试用例中的页面定位参数的值,进而得到第一内容页对应的第二测试用例。相应地,可根据应用***包含的其他页面的定位信息,生成其他页面对应的测试用例,不再赘述。
在步骤306中,可选地,可以并发方式运行上述步骤生成的一个或多个测试用例,以定位一个或多个页面上的待测元素,并模拟对该一个或多个页面上的待测元素的操作。
例如,承接上述例子,页面测试设备可运行第一频道页对应的第一测试用例,并在运行的过程中,根据第一测试用例中的页面定位参数的值,从应用***中定位第一频道页,根据第一测试用例中的元素定位参数定位第一频道页上的待测元素,根据第一测试用例中的元素动作参数模拟对第一频道页上的待测元素的操作。
与此同时,页面测试设备还可运行第一内容页对应的第二测试用例,并在运行的过程中,根据第二测试用例中的页面定位参数的值,从应用***中定位第一内容页,根据第二测试用例中的元素定位参数定位第一内容页上的待测元素,根据第二测试用例中的元素动作参数模拟对第一内容页上的待测元素的操作。
在本实施例中,除根据配置的测试规则自动生成应用***对应的测试用例之外,还可进一步获取应用***的逻辑结构,并根据该逻辑结构,自动生成应用***包含的页面对应的测试用例,进而,在测试的过程中,可以将页面作为测试单元,细化测试粒度,灵活地完成对部分页面上的元素的测试操作,提升页面测试效率。
图4为本申请又一示例性实施例提供的页面测试方法的流程示意图,如图4所示,该方法包括:
步骤401、响应于对应用***的测试操作,获取预先配置的测试规则。
步骤402、根据测试规则包含的元素匹配规则、元素操作规则和错误识别规则,分别对测试用例模板中的元素定位参数、元素动作参数和错误识别参数进行设置,以得到应用***对应的测试用例。
步骤403、根据预先配置的页面检测规则,获取应用***的逻辑结构描述信息。
步骤404、从该逻辑结构描述信息中,确定应用***包含的至少一个页面的定位信息。
步骤405、根据该至少一个页面的定位信息,对应用***对应的测试用例中的页面定位参数进行配置,以将应用***对应的测试用例划分为与该至少一个页面对应的至少一个测试用例。
步骤406、根据该逻辑结构描述信息包含的页面层级关系,对该至少一个页面进行分组,得到至少一组页面。
步骤407、以并发方式运行该至少一组页面对应的测试用例,以模拟对该至少一组页面上的待测元素的操作。
步骤408、按照该至少一组页面的分组情况,对运行该至少一组页面对应的测试用例得到的测试结果进行分组输出。
其中,步骤401-步骤405的可选实施方式可参考前述实施例的记载,此处不赘述。
在步骤406中,逻辑结构描述信息可参考前述实施例的记载,此处不再赘述。其中,页面层级关系,可表现为页面所属的分类层级下的分类目录。
当应用***包含N级分类层级时,可按照页面所属的一级、二级…、N级分类层级下的分类目录,对页面进行分组。其中,N的取值视实际需求而定,N为正整数。
例如,当一个应用***的一级分类层级包含三个分类目录时,若按照页面所属的一级分类层级对页面进行分类,则可将三个分类目录下的页面分别划分为三个页面组。当应用***的二级分类层级下包含六个分类目录时,若按照页面所属的二级分类层级对页面进行分类,则可将六个分类目录下的页面分别划分为六个页面组。
接下来,将以网站为例进行说明。
在一种常用的网站设计方式中,网站的逻辑结构分为三个分类层级,首页、栏目页以及内容页,每个分类层级可包含多个分类目录。其中,首页为第一分类层级,首页可包含多个栏目页的分类目录;栏目页为第二分类层级,每个栏目页可包含多个内容页的分类目录;内容详情页为第三分类层级。当然,在其他的网站设计方式中,网站的逻辑结构可根据应用需求设计为四个层级、五个层级甚至更多层级,本实施例不做限制。基于此,可按照网站中,页面所属的第一分类层级、第二分类层级、或者第三分类层级,对页面进行分组。
以图3b所示的网站为例,“顶栏”为网站第一层级包含的分类目录,以页面所属的第一分类层级对页面进行分类时,可将页面划分为与“顶栏”的数量相同的页面组,即:将第一频道页以及与第一频道页存在链接关系的第一内容页、第二内容页和第三内容页划分为第一组页面;将第二频道页以及与第二频道页存在链接关系的第四内容页划分为第二组页面;将第三频道页以及与第三频道页存在链接关系的第五内容页和第六内容页划分为第三组页面。
继续以图3b为例,“侧边栏”为网站第二层级包含的分类目录,若以页面所属的第二分类层级对页面进行分类时,可将页面划分为与侧边栏的数量相同的页面组,即:将第一内容页、第二内容页、第三内容页、第四内容页、第五内容页和第六内容页分别划分为不同组,共得到六组页面。
在得到至少一组页面后,接着,执行步骤407,以并发方式运行该至少一组页面对应的测试用例,以模拟对该至少一组页面上的待测元素的操作。例如,承接上述例子,可并发运行第一组页面、第二组页面以及第三组页面对应的测试用例。进而,可通过这种并发测试的方式,可有效提升页面测试的效率,降低页面测试所需的时间成本。
值得说明的是,在步骤408中,在获取并发运行该至少一组页面对应的测试用例得到的测试结果后,可按照该至少一组页面的分组情况,对获取到的测试结果进行分组输出。例如,将运行第一组页面对应的测试用例得到的测试结果,作为第一组测试结果并输出;将运行第二组页面对应的测试用例得到的测试结果,作为第二组测试结果并输出;将运行第三组页面对应的测试用例得到的测试结果,作为第三组测试结果并输出。这种分组输出测试结果的方式,有利于用户按照应用***的逻辑结构快速确定测试结果对应的页面,提升用户对测试结果进行分析的效率。
在本实施例中,获取应用***的逻辑结构之后,根据该逻辑结构,对应用***包含的至少一个页面对应的至少一个测试用例进行分组,进而,在测试的过程中,可按照应用***的逻辑结构,并发执行多组测试用例,进一步提升了页面测试效率。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤204的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以上描述了页面测试方法的可选实施方式,实际中,该页面测试方法可通过页面测试装置实现,如图5所示,该页面测试装置包括:
用例生成模块501,用于响应于对应用***的测试操作,生成与该应用***对应的测试用例;测试模块502,用于运行该测试用例,以定位该应用***中的待测元素,并模拟对该待测元素的操作。
进一步可选地,用例生成模块501在生成与该应用***对应的测试用例时,具体用于:基于预先配置的测试规则,对测试用例模板的参数进行设置,得到该应用***对应的测试用例。
进一步可选地,用例生成模块501在基于预先配置的测试规则,对测试用例模板的参数进行设置,得到该应用***对应的测试用例时,具体用于:根据该测试规则包含的元素匹配规则、元素操作规则和错误识别规则,分别对该测试用例模板中的元素定位参数、元素动作参数和错误识别参数进行设置,以得到该应用***对应的测试用例。
进一步可选地,测试模块502在运行测试用例,以定位该应用***中的待测元素,并模拟对该待测元素的操作时,具体用于:运行该测试用例,以根据该测试用例中的元素定位参数,从该应用***中匹配待测元素;按照该测试用例中的该元素动作参数,模拟对该待测元素的操作;以及根据该测试用例中的该错误识别参数,从模拟对该待测元素的操作的结果中识别出错误结果,作为测试结果。
进一步可选地,用例生成模块501还用于:将该应用***对应的测试用例划分为至少一个测试用例;该至少一个测试用例分别与该应用***包含的至少一个页面对应;测试模块502还用于:以并发方式运行该至少一个测试用例,以定位该至少一个页面上的待测元素,并模拟对该至少一个页面上的待测元素的操作。
进一步可选地,用例生成模块501在将该应用***对应的测试用例划分为至少一个测试用例时,具体用于:根据预先配置的页面检测规则,获取该应用***的逻辑结构描述信息;从该逻辑结构描述信息中,确定该应用***包含的至少一个页面的定位信息;根据该至少一个页面的定位信息,对该应用***对应的测试用例中的页面定位参数进行设置,以将该应用***对应的测试用例划分为至少一个测试用例。
进一步可选地,用例生成模块501还用于:根据该逻辑结构描述信息包含的页面层级关系,对该至少一个页面进行分组,得到至少一组页面;测试模块502还用于:以并发方式运行该至少一组页面对应的测试用例,以模拟对该至少一组页面上的待测元素的操作。
进一步可选地,测试模块502还用于:按照该至少一组页面的分组情况,对运行该至少一组页面对应的测试用例得到的测试结果进行分组输出。
进一步可选地,用例生成模块501在根据预先配置的页面检测规则,获取该应用***的逻辑结构描述信息时,具体用于:获取用户设置的锚元素的属性信息;根据该锚元素的属性信息,扫描该应用***中的锚元素,并模拟针对该锚元素的点击事件;根据该点击事件的响应结果,获取该应用***的包含的页面之间的层级关系,以获取该逻辑结构描述信息。
在本实施例中,页面测试装置可响应对应用***的测试操作,自动生成测试用例,接着可基于该测试规则,定位应用***中的待测元素,并模拟对待测元素的操作,进而,可有效降低页面测试过程对手动编写测试用例的依赖性,降低了对页面进行测试所花费的时间成本,提升了页面测试的效率。
上述实施例记载了页面测试装置的模块结构和各模块的功能,在一些实施例中,该页面测试装置可实现为一页面测试设备,如图6所示,该页面测试设备包括:存储器601和处理器602。
其中,存储器601,用于存储计算机程序,并可被配置为存储其它各种数据以支持在页面测试设备上的操作。这些数据的示例包括用于在页面测试设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器601可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器602,与存储器601耦合,用于执行存储器601中的计算机程序,以用于:响应于对应用***的测试操作,生成与该应用***对应的测试用例;运行该测试用例,以定位该应用***中的待测元素,并模拟对该待测元素的操作。
进一步可选地,处理器602在生成与该应用***对应的测试用例时,具体用于:基于预先配置的测试规则,对测试用例模板的参数进行设置,以得到该应用***对应的测试用例。
进一步可选地,处理器602在基于预先配置的测试规则,对测试用例模板的参数进行设置,得到该应用***对应的测试用例时,具体用于:根据该测试规则包含的元素匹配规则、元素操作规则和错误识别规则,分别对该测试用例模板中的元素定位参数、元素动作参数和错误识别参数进行设置,以得到该应用***对应的测试用例。
进一步可选地,处理器602在运行该测试用例,以定位该应用***中的待测元素,并模拟对该待测元素的操作时,具体用于:运行该测试用例,以根据该测试用例中的元素定位参数,从该应用***中匹配待测元素;按照该测试用例中的该元素动作参数,模拟对该待测元素的操作;以及根据该测试用例中的该错误识别参数,从模拟对该待测元素的操作的结果中识别出错误结果,作为测试结果。
进一步可选地,处理器602还用于:将该应用***对应的测试用例划分为至少一个测试用例;该至少一个测试用例分别与该应用***包含的至少一个页面对应;以并发方式运行该至少一个测试用例,以定位该至少一个页面上的待测元素,并模拟对该至少一个页面上的待测元素的操作。
进一步可选地,处理器602将该应用***对应的测试用例划分为至少一个测试用例时,具体用于:根据预先配置的页面检测规则,获取该应用***的逻辑结构描述信息;从该逻辑结构描述信息中,确定该应用***包含的至少一个页面的定位信息;根据该至少一个页面的定位信息,对该应用***对应的测试用例中的页面定位参数进行设置,以将该应用***对应的测试用例划分为至少一个测试用例。
进一步可选地,处理器602还用于:根据该逻辑结构描述信息包含的层级层级关系,对该至少一个页面进行分组,得到至少一组页面;以并发方式运行该至少一组页面对应的测试用例,以模拟对该至少一组页面上的待测元素的操作。
进一步可选地,处理器602还用于:按照该至少一组页面的分组情况,对运行该至少一组页面对应的测试用例得到的测试结果进行分组输出。
进一步可选地,处理器602在根据预先配置的页面检测规则,获取该应用***的逻辑结构描述信息时,具体用于:获取用户设置的锚元素的属性信息;根据该锚元素的属性信息,扫描该应用***中的锚元素,并模拟针对该锚元素的点击事件;根据该点击事件的响应结果,获取该应用***的包含的页面之间的层级关系,以获取该逻辑结构描述信息。
进一步,如图6所示,该页面测试设备还可包括:通信组件603、显示器604、电源组件605等其它组件。图6中仅示意性给出部分组件,并不意味着页面测试设备只包括图6所示组件。
其中,通信组件603被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G、5G等,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
其中,显示器604包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。该触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与该触摸或滑动操作相关的持续时间和压力。
其中,电源组件605,用于为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理***,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
在本实施例中,页面测试装置可响应对应用***的测试操作,自动生成测试用例,接着可基于该测试规则,定位应用***中的待测元素,并模拟对待测元素的操作,进而,可有效降低页面测试过程对手动编写测试用例的依赖性,降低了对页面进行测试所花费的时间成本,提升了页面测试的效率。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由页面测试设备执行的页面测试方法中的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种页面测试方法,其特征在于,包括:
响应于对应用***的测试操作,生成与所述应用***对应的测试用例;
运行所述测试用例,以定位所述应用***中的待测元素,并模拟对所述待测元素的操作;
其中,生成与所述应用***对应的测试用例,包括:基于预先配置的测试规则,对测试用例模板的参数进行设置,得到所述应用***对应的测试用例;其中,所述测试用例模板的参数包括:页面定位参数;
所述方法还包括:将所述应用***对应的测试用例划分为至少一个测试用例;所述至少一个测试用例分别与所述应用***包含的至少一个页面对应;所述至少一个测试用例,根据所述页面定位参数对所述应用***的测试用例进行划分得到;以并发方式运行所述至少一个测试用例,以定位所述至少一个页面上的待测元素,并模拟对所述至少一个页面上的待测元素的操作。
2.根据权利要求1所述的方法,其特征在于,基于预先配置的测试规则,对测试用例模板的参数进行设置,得到所述应用***对应的测试用例,包括:
根据所述测试规则包含的元素匹配规则、元素操作规则和错误识别规则,分别对所述测试用例模板中的元素定位参数、元素动作参数和错误识别参数进行设置,以得到所述应用***对应的测试用例。
3.根据权利要求2所述的方法,其特征在于,运行所述测试用例,以定位所述应用***中的待测元素,并模拟对所述待测元素的操作,包括:
运行所述测试用例,以根据所述测试用例中的元素定位参数,从所述应用***中匹配待测元素;
按照所述测试用例中的所述元素动作参数,模拟对所述待测元素的操作;以及,
根据所述测试用例中的所述错误识别参数,从模拟对所述待测元素的操作的结果中识别出错误结果,作为测试结果。
4.根据权利要求1所述的方法,其特征在于,将所述应用***对应的测试用例划分为至少一个测试用例,包括:
根据预先配置的页面检测规则,获取所述应用***的逻辑结构描述信息;
从所述逻辑结构描述信息中,确定所述应用***包含的至少一个页面的定位信息;
根据所述至少一个页面的定位信息,对所述应用***对应的测试用例中的页面定位参数进行设置,以将所述应用***对应的测试用例划分为至少一个测试用例。
5.根据权利要求4所述的方法,其特征在于,还包括:
根据所述逻辑结构描述信息包含的页面层级关系,对所述至少一个页面进行分组,得到至少一组页面;
以并发方式运行所述至少一组页面对应的测试用例,以模拟对所述至少一组页面上的待测元素的操作。
6.根据权利要求5所述的方法,其特征在于,还包括:
按照所述至少一组页面的分组情况,对运行所述至少一组页面对应的测试用例得到的测试结果进行分组输出。
7.根据权利要求1所述的方法,其特征在于,根据预先配置的页面检测规则,获取所述应用***的逻辑结构描述信息,包括:
获取用户设置的锚元素的属性信息;
根据所述锚元素的属性信息,扫描所述应用***中的锚元素,并模拟针对所述锚元素的点击事件;
根据所述点击事件的响应结果,获取所述应用***的包含的页面之间的层级关系,以获取所述逻辑结构描述信息。
8.一种页面测试装置,其特征在于,包括:
用例生成模块,用于响应于对应用***的测试操作,生成与所述应用***对应的测试用例;
测试模块,用于运行所述测试用例,以定位所述应用***中的待测元素,并模拟对所述待测元素的操作;
所述用例生成模块,具体用于:基于预先配置的测试规则,对测试用例模板的参数进行设置,得到所述应用***对应的测试用例;其中,所述测试用例模板的参数包括:页面定位参数;所述页面定位参数用于将所述应用***的测试用例划分为与所述应用***中的至少一个页面对应的至少一个测试用例;
所述用例生成模块还用于:将所述应用***对应的测试用例划分为至少一个测试用例;所述至少一个测试用例分别与所述应用***包含的至少一个页面对应;所述至少一个测试用例,根据所述页面定位参数对所述应用***的测试用例进行划分得到;以并发方式运行所述至少一个测试用例,以定位所述至少一个页面上的待测元素,并模拟对所述至少一个页面上的待测元素的操作。
9.一种页面测试设备,其特征在于,包括:存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令以用于:响应于对应用***的测试操作,生成与所述应用***对应的测试用例;运行所述测试用例,以定位所述应用***中的待测元素,并模拟对所述待测元素的操作;
所述处理器具体用于:基于预先配置的测试规则,对测试用例模板的参数进行设置,得到所述应用***对应的测试用例;其中,所述测试用例模板的参数包括:页面定位参数;
所述处理器还用于:将所述应用***对应的测试用例划分为至少一个测试用例;所述至少一个测试用例分别与所述应用***包含的至少一个页面对应;所述至少一个测试用例,根据所述页面定位参数对所述应用***的测试用例进行划分得到;以并发方式运行所述至少一个测试用例,以定位所述至少一个页面上的待测元素,并模拟对所述至少一个页面上的待测元素的操作。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被执行时能够实现权利要求1-7任一项所述的页面测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019677.2A CN111427760B (zh) | 2019-01-09 | 2019-01-09 | 页面测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019677.2A CN111427760B (zh) | 2019-01-09 | 2019-01-09 | 页面测试方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427760A CN111427760A (zh) | 2020-07-17 |
CN111427760B true CN111427760B (zh) | 2024-05-28 |
Family
ID=71545658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910019677.2A Active CN111427760B (zh) | 2019-01-09 | 2019-01-09 | 页面测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427760B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930629A (zh) * | 2020-08-14 | 2020-11-13 | 工银科技有限公司 | 页面测试方法、装置、电子设备及存储介质 |
CN112231229B (zh) * | 2020-11-09 | 2024-06-28 | 恩亿科(北京)数据科技有限公司 | Web UI自动化测试方法、***、电子设备及可读存储介质 |
CN113485880A (zh) * | 2021-07-12 | 2021-10-08 | 浙江网商银行股份有限公司 | 测试方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609352A (zh) * | 2011-01-19 | 2012-07-25 | 阿里巴巴集团控股有限公司 | 一种并行测试方法及并行测试服务器 |
CN104133765A (zh) * | 2013-12-23 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 网络活动的测试用例发送方法及测试用例服务器 |
CN104679658A (zh) * | 2015-03-17 | 2015-06-03 | 百度在线网络技术(北京)有限公司 | Web页面的测试方法和*** |
US9304893B1 (en) * | 2013-03-08 | 2016-04-05 | Emc Corporation | Integrated software development and test case management system |
CN106155877A (zh) * | 2015-03-23 | 2016-11-23 | Tcl集团股份有限公司 | 一种Android应用的模糊测试方法及*** |
CN106294107A (zh) * | 2015-05-27 | 2017-01-04 | 富士通株式会社 | 生成网页页面的测试用例的方法和装置 |
CN106547689A (zh) * | 2016-10-20 | 2017-03-29 | 金航数码科技有限责任公司 | 一种基于web的自动化测试用例开发***及方法 |
CN106991045A (zh) * | 2017-03-24 | 2017-07-28 | 广州酷狗计算机科技有限公司 | 页面校验方法及装置 |
CN107122301A (zh) * | 2017-04-27 | 2017-09-01 | 武汉斗鱼网络科技有限公司 | 界面测试方法及装置 |
CN107704392A (zh) * | 2017-09-30 | 2018-02-16 | 华为技术有限公司 | 一种测试用例的处理方法及服务器 |
CN108197026A (zh) * | 2017-12-30 | 2018-06-22 | 北京金风科创风电设备有限公司 | 风力发电机组仿真软件测试方法、装置、设备及存储介质 |
CN109032943A (zh) * | 2018-07-26 | 2018-12-18 | 威创软件南京有限公司 | 一种基于robot framework测试用例并发执行的方法 |
CN109144863A (zh) * | 2018-08-10 | 2019-01-04 | 广东电网有限责任公司信息中心 | 一种基于电网***的自动化测试方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378120B2 (en) * | 2011-11-09 | 2016-06-28 | Tata Consultancy Services Limited | Automated test execution plan derivation system and method |
US9983984B2 (en) * | 2015-01-05 | 2018-05-29 | International Business Machines Corporation | Automated modularization of graphical user interface test cases |
-
2019
- 2019-01-09 CN CN201910019677.2A patent/CN111427760B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609352A (zh) * | 2011-01-19 | 2012-07-25 | 阿里巴巴集团控股有限公司 | 一种并行测试方法及并行测试服务器 |
US9304893B1 (en) * | 2013-03-08 | 2016-04-05 | Emc Corporation | Integrated software development and test case management system |
CN104133765A (zh) * | 2013-12-23 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 网络活动的测试用例发送方法及测试用例服务器 |
CN104679658A (zh) * | 2015-03-17 | 2015-06-03 | 百度在线网络技术(北京)有限公司 | Web页面的测试方法和*** |
CN106155877A (zh) * | 2015-03-23 | 2016-11-23 | Tcl集团股份有限公司 | 一种Android应用的模糊测试方法及*** |
CN106294107A (zh) * | 2015-05-27 | 2017-01-04 | 富士通株式会社 | 生成网页页面的测试用例的方法和装置 |
CN106547689A (zh) * | 2016-10-20 | 2017-03-29 | 金航数码科技有限责任公司 | 一种基于web的自动化测试用例开发***及方法 |
CN106991045A (zh) * | 2017-03-24 | 2017-07-28 | 广州酷狗计算机科技有限公司 | 页面校验方法及装置 |
CN107122301A (zh) * | 2017-04-27 | 2017-09-01 | 武汉斗鱼网络科技有限公司 | 界面测试方法及装置 |
CN107704392A (zh) * | 2017-09-30 | 2018-02-16 | 华为技术有限公司 | 一种测试用例的处理方法及服务器 |
CN108197026A (zh) * | 2017-12-30 | 2018-06-22 | 北京金风科创风电设备有限公司 | 风力发电机组仿真软件测试方法、装置、设备及存储介质 |
CN109032943A (zh) * | 2018-07-26 | 2018-12-18 | 威创软件南京有限公司 | 一种基于robot framework测试用例并发执行的方法 |
CN109144863A (zh) * | 2018-08-10 | 2019-01-04 | 广东电网有限责任公司信息中心 | 一种基于电网***的自动化测试方法 |
Non-Patent Citations (2)
Title |
---|
实时并发软件的测试软件开发;李伟华,周兴社;西北工业大学学报;19950830(第03期);全文 * |
面向云测试的并行测试用例自动生成方法;刘晓强;解筱梦;杜明;常姗;蔡立志;刘振宇;;计算机应用;20150410(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111427760A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11409640B2 (en) | Machine learning based test case prediction and automation leveraging the HTML document object model | |
CN111427760B (zh) | 页面测试方法、装置、设备及存储介质 | |
CN110955428A (zh) | 一种页面显示方法、装置、电子设备及介质 | |
US20160380915A1 (en) | Rules-Based Workflow Messaging | |
CN110928763A (zh) | 测试方法、装置、存储介质及计算机设备 | |
CN104699602A (zh) | 用于检测影响的方法和计算机 | |
CN106933887B (zh) | 一种数据可视化方法及装置 | |
CN108319687B (zh) | 一种基于js拖拽技术的sql规则生成器 | |
US20220350857A1 (en) | Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors | |
CN110618941B (zh) | 一种界面元素处理方法及装置 | |
US9715483B2 (en) | User interface for testing and asserting UI elements with natural language instructions | |
CN110968314B (zh) | 一种页面生成方法及装置 | |
US10460019B2 (en) | Computer implemented system and method for transforming web content for display on multiple form factors | |
CN112445693B (zh) | 一种页面更新检测方法、装置、设备及存储介质 | |
US20160321165A1 (en) | Annotated test interfaces | |
CN111679976A (zh) | 一种页面对象的查找方法及装置 | |
CN113535587B (zh) | 目标应用检测方法、装置及计算机设备 | |
Gundecha | Selenium Testing Tools Cookbook | |
US9104573B1 (en) | Providing relevant diagnostic information using ontology rules | |
JP2021174096A (ja) | テスト支援装置、テスト支援プログラムおよび、テスト支援方法 | |
CN117389538A (zh) | 页面组件内容开发方法、装置、设备以及存储介质 | |
US20230195825A1 (en) | Browser extension with automation testing support | |
CN110597812A (zh) | 菜单配置方法、装置、终端及可读存储介质 | |
CN107341038B (zh) | 兼容性处理方法、装置及电子设备 | |
Sterca et al. | Primary building blocks for web automation |
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 |