CN117076292A - 一种网页测试方法、装置、计算机设备、存储介质 - Google Patents
一种网页测试方法、装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN117076292A CN117076292A CN202310868798.0A CN202310868798A CN117076292A CN 117076292 A CN117076292 A CN 117076292A CN 202310868798 A CN202310868798 A CN 202310868798A CN 117076292 A CN117076292 A CN 117076292A
- Authority
- CN
- China
- Prior art keywords
- test
- executed
- target
- information
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 296
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000008859 change Effects 0.000 claims abstract description 36
- 238000004590 computer program Methods 0.000 claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 238000012795 verification Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 238000001545 Page's trend test Methods 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims description 3
- 238000010998 test method Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- 229910052711 selenium Inorganic materials 0.000 description 2
- 239000011669 selenium Substances 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect 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
- 238000013522 software testing 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/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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
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
技术领域
本申请涉及软件测试技术领域,特别是涉及一种网页测试方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着信息化发展水平的提高,企业的办公、运营的现代化程度已经成为了一个重要的标志。而基于Web网站的信息化系统已经成为各大企业开展业务不可或缺的组成部分。在软件产品或系统的开发过程中,测试是非常重要的环节。对于开发完毕的软件进行必要的测试,可以保证软件的质量和稳定性,从而满足客户的应用需求,帮助企业赢得市场竞争。
然而,传统的人工测试方式效率低下,同时也浪费了大量的人力资源。对于企业的信息化系统开发和测试而言,自动化测试已经成为了一种必要的选择。采用自动化测试工具和框架,可以提高测试效率,减少测试成本,保证软件的质量和稳定性。
相关技术中,为了解决对Web网站进行测试的问题,通常采用例如Selenium的Web自动化测试引擎,通过编写Java测试代码来模拟人工操作Web进行功能测试,从而实现了提高测试效率的目的,同时也减少了测试人员的工作强度,降低了测试成本。
然而,目前的网页测试方法,存在如下的技术问题:
在网页自动化测试中,需要按照预编写的代码所指定的测试流程进行测试,测试功能和测试流程上的灵活性较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高测试流程的可编辑性以及实际测试流程的灵活性的一种网页测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种网页测试方法。所述方法包括:
获取待执行任务信息,所述待执行任务信息包括目标测试驱动以及网页测试流程;
创建状态变量,将所述目标测试驱动的初始状态信息存储至所述状态变量;
获取所述目标测试驱动的状态变更信息,基于所述状态变更信息更新所述状态变量;
监测所述目标测试驱动的断点事件,所述断点事件包括所述网页测试流程的内容变更以及所述目标测试驱动的状态变更;
在所述断点事件发生的情况下,通过所述状态变量获取所述断点事件前最近一次所述目标测试驱动的状态变量,根据所述状态变量恢复所述目标测试驱动的状态信息。
在其中一个实施例中,所述获取待执行任务信息,所述待执行任务信息包括目标测试驱动以及网页测试流程包括:
提取所述待执行任务信息中的驱动标识信息,基于所述驱动标识信息在若干个候选测试驱动中确定与所述待执行任务信息对应的目标测试驱动,若干个所述候选测试驱动的进程相互独立;
基于所述待执行任务信息在所述目标测试驱动中创建第一测试实例,所述第一测试实例在独立线程中运行。
在其中一个实施例中,所述基于所述待执行任务信息在所述目标测试驱动中创建第一测试实例,所述第一测试实例在独立线程中运行包括:
根据所述驱动标识信息确定目标待执行任务列表,将所述待执行任务信息添加至所述目标待执行任务列表;
基于预设的排序规则为所述目标待执行任务列表中的测试任务分配线程。
在其中一个实施例中,所述基于预设的排序规则为所述目标待执行任务列表中的测试任务分配线程之前,还包括:
获取与所述目标测试驱动适配的目标参数规范;
将所述待执行任务信息中的参数转换至符合所述目标参数规范。
在其中一个实施例中,所述方法还包括:
获取待测试页面的待测试元素的元素属性,所述待测试元素与所述操作事件相关联;
在所述待测试元素的若干种元素属性中确定所述待测试元素在所述待测试页面的元素定位方式,建立所述元素定位方式与所述操作事件的映射关系。
在其中一个实施例中,所述方法还包括:
当监测到所述待测试页面中触发了预设的所述操作事件时,基于与所述操作事件相关联的所述元素定位方式验证所述待测试元素;
根据所述待测试页面在预设的断言验证周期内是否出现所述待测试元素,确定待测试页面的测试结果。
第二方面,本申请还提供了一种网页测试装置。所述装置包括:
任务信息模块,用于获取待执行任务信息,所述待执行任务信息包括目标测试驱动以及网页测试流程;
状态变量模块,用于创建状态变量,将所述目标测试驱动的初始状态信息存储至所述状态变量;
变量更新模块,用于获取所述目标测试驱动的状态变更信息,基于所述状态变更信息更新所述状态变量;
断点监测模块,用于监测所述目标测试驱动的断点事件,所述断点事件包括所述网页测试流程的内容变更以及所述目标测试驱动的状态变更;
进程恢复模块,用于在所述断点事件发生的情况下,通过所述状态变量获取所述断点事件前最近一次所述目标测试驱动的状态变量,根据所述状态变量恢复所述目标测试驱动的状态信息。
在其中一个实施例中,所述任务信息包括:
驱动标识模块,用于提取所述待执行任务信息中的驱动标识信息,基于所述驱动标识信息在若干个候选测试驱动中确定与所述待执行任务信息对应的目标测试驱动,若干个所述候选测试驱动的进程相互独立;
测试实例模块,用于基于所述待执行任务信息在所述目标测试驱动中创建第一测试实例,所述第一测试实例在独立线程中运行。
在其中一个实施例中,所述测试实例模块包括:
任务列表模块,用于根据所述驱动标识信息确定目标待执行任务列表,将所述待执行任务信息添加至所述目标待执行任务列表;
任务分配模块,用于基于预设的排序规则为所述目标待执行任务列表中的测试任务分配线程。
在其中一个实施例中,所述任务分配模块之前,还包括:
参数规范模块,用于获取与所述目标测试驱动适配的目标参数规范;
规范转换模块,用于将所述待执行任务信息中的参数转换至符合所述目标参数规范。
在其中一个实施例中,所述装置还包括:
元素属性模块,用于获取待测试页面的待测试元素的元素属性,所述待测试元素与所述操作事件相关联;
元素映射模块,用于在所述待测试元素的若干种元素属性中确定所述待测试元素在所述待测试页面的元素定位方式,建立所述元素定位方式与所述操作事件的映射关系。
在其中一个实施例中,所述装置还包括:
事件监测模块,用于当监测到所述待测试页面中触发了预设的所述操作事件时,基于与所述操作事件相关联的所述元素定位方式验证所述待测试元素;
断言判别模块,用于根据所述待测试页面在预设的断言验证周期内是否出现所述待测试元素,确定待测试页面的测试结果。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面中任意一项实施例所述的一种网页测试方法中的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任意一项实施例所述的一种网页测试方法中的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面中任意一项实施例所述的一种网页测试方法中的步骤。
上述一种网页测试方法、装置、计算机设备、存储介质和计算机程序产品,通过独权中的技术特征进行推导,能够达到对应背景技术中的技术问题的如下
有益效果:
在处理待执行的测试任务时,首先获取待执行任务信息,通过待执行任务信息确定需要使用的目标测试驱动以及需要执行的网页测试流程,随后创建并存储状态变量以记录目标测试驱动的状态信息,通过状态信息对目标测试驱动内进行的动态的流程状态进行静态的记录。在测试流程中,对目标测试驱动中发生的断点事件的情况进行监测,当监测到断点事件发生后,通过访问并读取状态变量而得知断点事件发生前的断点状态信息,并将目标测试驱动恢复至断点事件前的状态。在实施中,有助于在测试流程需要变更或目标测试驱动因外因发生中断或暂停等场景时,对已经完成的测试流程进行恢复,从而有助于提高测试流程调整的灵活性,同时还有助于在测试驱动不稳定时,对测试流程进行恢复,从而保证测试流程整体的稳定性。
附图说明
图1为一个实施例中一种网页测试方法的第一流程示意图;
图2为另一个实施例中一种网页测试方法的第二流程示意图;
图3为另一个实施例中一种网页测试方法的第三流程示意图;
图4为另一个实施例中一种网页测试方法的第四流程示意图;
图5为另一个实施例中一种网页测试方法的第五流程示意图;
图6为另一个实施例中一种网页测试方法的第六流程示意图;
图7为一个实施例中一种网页测试装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
相关技术中,为了解决对Web网站进行测试的问题,通常采用例如Selenium的Web自动化测试引擎,通过编写Java测试代码来模拟人工操作Web进行功能测试,从而实现了提高测试效率的目的,同时也减少了测试人员的工作强度,降低了测试成本。
然而,目前的网页测试方法,存在如下的技术问题:
在网页自动化测试中,需要按照预编写的代码所指定的测试流程进行测试,测试功能和测试流程上的灵活性较差。
基于此,本申请实施例提供了一种网页测试方法。
在一个实施例中,如图1所示,提供了一种网页测试方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤101:获取待执行任务信息,所述待执行任务信息包括目标测试驱动以及网页测试流程。
其中,待执行任务信息可以指用于描述待处理任务的相关信息的数据,相关信息可以为任务标识、测试任务内容以及测试环境的配置要求等。具体地,待执行任务信息可以包括目标测试驱动以及网页测试流程,其中目标测试驱动可以指用于实现网页测试流程的测试环境,可以为浏览器驱动等。网页测试流程可以指对浏览器功能进行测试时需要依序执行的测试步骤,例如:步骤1:启动浏览器;步骤2:初始化浏览器;步骤3:测试浏览器具体功能A,提交表单字段;......;步骤N-1:验证提交结果;步骤N:完成测试。
示例性地,终端可以在获取充分授权的前提下,从外部获取待执行任务信息。
步骤103:创建状态变量,将所述目标测试驱动的初始状态信息存储至所述状态变量。
其中,状态变量可以指在用于对测试驱动的状态进行记录和存储的变量。状态信息可以指用于描述目标测试驱动状态的信息,可以为测试驱动的浏览器会话、页面状态等。
示例性地,终端可以在底层代码中确定一个合适的变量空间,可以为测试驱动的初始化或配置部分,然后在变量空间中声明一个状态变量,状态变量可以为全局静态变量。这样,终端得以创建状态变量。随后,终端可以获取目标测试驱动当前的初始状态信息,并将初始状态信息以变量的形式存储至状态变量中。
步骤105:获取所述目标测试驱动的状态变更信息,基于所述状态变更信息更新所述状态变量。
其中,状态变更信息可以指在目标测试驱动的驱动环境或因网页测试流程的推进导致驱动状态变更时,所产生的变化的信息。
示例性地,终端可以对目标测试驱动进行监测,从而在目标测试驱动的状态变更时获取目标测试驱动的状态变更信息。随后,终端可以提取出状态变更信息中发生变化的部分,根据发生变化的部分更新状态变量。
这样,状态变量中的参数得以始终跟随目标测试驱动的状态进行更新,从而终端始终得以对目标测试驱动的状态进行记录。
步骤107:监测所述目标测试驱动的断点事件,所述断点事件包括所述网页测试流程的内容变更以及所述目标测试驱动的状态变更。
其中,断点状态可以指目标测试驱动中的网页测试流程出现异常的状态,可以包括当前测试内容已测试完毕的断点,也可以指测试步骤错误的断点,也可以指当前测试流程变更的断点。断点事件可以指用于确定目标测试驱动处于断点状态的预设事件。相应的,断点事件可以包括网页测试流程的内容变更相关的事件,还可以包括目标测试驱动的状态变更相关的事件。断点事件发生时,目标测试驱动可以暂停测试流程的执行,并保留已经执行完的测试步骤。
示例性地,终端可以对目标测试驱动的状态进行监测,并根据预设的断点事件模板来识别目标测试驱动中是否发生了断点事件。
步骤109:在所述断点事件发生的情况下,通过所述状态变量获取所述断点事件前最近一次所述目标测试驱动的状态变量,根据所述状态变量恢复所述目标测试驱动的状态信息。
示例性地,当终端监测到断点事件发生时,此时目标测试驱动中测试流程处于暂停状态。为了避免在继续执行测试流程时,目标测试驱动重启后,重复执行已经完成的测试步骤。终端可以通过访问状态变量来获取断点事件前最近一次目标测试驱动的状态变量,并根据从状态变量中读取的信息,来确定目标测试驱动在断点事件前所处的状态。
这样,终端可以通过读取到的状态变量来将目标测试驱动的状态信息进行恢复,相应的,在断点事件前已完成的测试流程,以及目标测试驱动的状态能够被恢复,不需要再重复执行以及调节。
上述一种网页测试方法中,结合实施例中的技术特征进行合理推导,能够实现解决背景技术中所提出的技术问题的如下有益效果:
在处理待执行的测试任务时,首先获取待执行任务信息,通过待执行任务信息确定需要使用的目标测试驱动以及需要执行的网页测试流程,随后创建并存储状态变量以记录目标测试驱动的状态信息,通过状态信息对目标测试驱动内进行的动态的流程状态进行静态的记录。在测试流程中,对目标测试驱动中发生的断点事件的情况进行监测,当监测到断点事件发生后,通过访问并读取状态变量而得知断点事件发生前的断点状态信息,并将目标测试驱动恢复至断点事件前的状态。在实施中,有助于在测试流程需要变更或目标测试驱动因外因发生中断或暂停等场景时,对已经完成的测试流程进行恢复,从而有助于提高测试流程调整的灵活性,同时还有助于在测试驱动不稳定时,对测试流程进行恢复,从而保证测试流程整体的连续性和稳定性。
在一个实施例中,如图2所示,步骤101包括:
步骤201:提取所述待执行任务信息中的驱动标识信息,基于所述驱动标识信息在若干个候选测试驱动中确定与所述待执行任务信息对应的目标测试驱动,若干个所述候选测试驱动的进程相互独立。
其中,驱动标识信息可以指用于指明待执行任务应该由哪个测试驱动来执行的标识信息。候选测试驱动可以指若干个可选的,独立运行的测试驱动。
示例性地,终端在获取待执行任务信息后,可以提取出其中的驱动标识信息,从而根据驱动标识信息在若干个候选测试驱动中确定与待执行任务信息对应的目标测试驱动。
步骤203:基于所述待执行任务信息在所述目标测试驱动中创建第一测试实例,所述第一测试实例在独立线程中运行。
其中,测试实例可以指用于完成网页测试流程的驱动实例,第一测试实例可以在独立的线程中运行,这样,第一测试实例与其他测试实例之间可以相互独立。
示例性地,终端可以根据待执行任务信息在目标测试驱动中创建第一测试实例。
本实施例中,为了提高测试效率,终端中可以存在多个测试驱动并行处理测试任务的情况,相应的,终端可以在获取待执行任务信息后获取驱动标识信息,从而实现测试驱动的选取,并可以在目标测试驱动中创建相应的测试实例。本实施例提供了并行处理的方案,有助于提高测试任务的执行效率。
在一个实施例中,测试驱动对测试任务的处理容量有限,因此在为待执行任务定位目标测试驱动后,还需要对待执行任务进行有序处理,因此相应的,可以如图3所示,步骤203包括:
步骤301:根据所述驱动标识信息确定目标待执行任务列表,将所述待执行任务信息添加至所述目标待执行任务列表。
其中,待执行任务列表可以指对测试任务进行排列整理的信息集合的列表。待执行任务列表可以基于测试驱动进行分类,相应的,目标待执行任务列表可以指与目标测试驱动相关联的待执行任务列表。
示例性地,终端可以根据驱动标识信息来确定待执行任务所对应的目标待执行任务列表,并将待执行任务信息添加至目标待执行任务列表中,等待遍历处理。
步骤303:基于预设的排序规则为所述目标待执行任务列表中的测试任务分配线程。
其中,排序规则可以指由技术人员预设的、用于对目标待执行任务列表中的测试任务进行有序处理的处理次序规则,可以为时间顺序、也可以为优先级排序。
示例性地,终端可以基于预设的排序规则为目标待执行任务列表中的测试任务分配可用的独立线程。
本实施例中,基于驱动标识信息将任务列表进行分类处理,并根据任务列表创建有序的任务处理队列,有助于将任务信息的登记获取与测试任务的处理解耦合,有助于在提高测试任务效率的同时提高测试任务处理的稳定性。
在一个实施例中,不同来源的任务信息中所记载的参数可能存在不同,对测试驱动的适配性要求较高,因此相应的,可用如图4所示,步骤303包括:
步骤401:获取与所述目标测试驱动适配的目标参数规范。
其中,目标参数规范可用指目标测试驱动中所能读取、适配的参数规范。
示例性地,终端可用在获取充分授权和许可的前提下,读取目标测试驱动的目标参数规范。
步骤403:将所述待执行任务信息中的参数转换至符合所述目标参数规范。
示例性地,终端可用对待执行任务信息中的参数进行格式转换,使得待执行任务信息中的参数符合目标参数规范。
本实施例中,对待执行任务信息中的参数进行参数规范的转换和适配,有助于降低任务信息识别异常的可能性,进而有助于提高测试任务执行的稳定性。
在一个实施例中,如图5所示,所述方法还可以包括:
步骤501:获取待测试页面的待测试元素的元素属性,所述待测试元素与所述操作事件相关联。
其中,元素可以指网页界面中所存在的内容元素,可以为文字、图像、可点击按钮、超链接内容等。元素属性可以指用于描述元素的相关代码中所记载的内容,例如包括元素id、元素的相对地址xpath、元素的css样式。相应的,一个元素可以同时具备多种属性。待测试元素可以指在页面中的大量元素中,与测试流程相关联的元素。操作事件可以指测试流程中发生的操作、交互事件。
示例性地,终端可以获取待测试页面的待测试元素的元素属性。
步骤503:在所述待测试元素的若干种元素属性中确定所述待测试元素在所述待测试页面的元素定位方式,建立所述元素定位方式与所述操作事件的映射关系。
其中,元素定位方式可以指用于对某一元素进行检索、定位的定位规则,例如待测试元素为按钮,其元素属性中元素id为su,元素样式class为bgs-btn。若元素样式class为bgs-btn的元素有多个,而元素id为su的元素仅有一个,则可以以元素id为su作为待测试元素的元素定位方式。可见的,元素定位方式应当具有唯一性。
示例性地,终端可以在待测试元素的若干种元素属性中确定待测试元素在待测试页面中的元素定位方式。终端还可以建立元素定位方式与操作事件之间的映射关系。这样,终端可以在执行了操作事件后,通过元素定位方式确定是否出现了特定的待测试元素。
本实施例中,通过唯一的元素定位方式,有助于自动化地实现待测试网页的测试流程,有助于提高测试效率。
在一个实施例中,如图6所示,所述方法还包括:
步骤601:当监测到所述待测试页面中触发了预设的所述操作事件时,基于与所述操作事件相关联的所述元素定位方式验证所述待测试元素。
示例性地,终端可以对待测试页面中的操作事件进行监测。当监测到待测试页面中触发了预设的操作事件时,可以根据映射关系确定与操作事件相关联的元素定位方式,并随之通过元素定位方式验证待测试页面中是否出现了待测试元素。
步骤603:根据所述待测试页面在预设的断言验证周期内是否出现所述待测试元素,确定待测试页面的测试结果。
其中,断言验证可以指用于验证测试结果是否符合预期的验证方式,断言方式可以包括验证特定元素标识和特定文字信息的出现,具体可以为:当前S执行后页面是否出现特定元素标识;当前S执行后页面是否出现特定文字信息。断言验证周期可以指对待测试页面元素进行识别的等待周期。
示例性地,终端可以根据所述待测试页面在预设的断言验证周期内是否出现所述待测试元素,确定待测试页面的测试结果。
本实施例中,通过在一定周期内进行断言验证,有助于提高网页自动化测试的效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的一种网页测试方法的一种网页测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个一种网页测试装置实施例中的具体限定可以参见上文中对于一种网页测试方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种网页测试装置,包括:任务信息模块,用于获取待执行任务信息,所述待执行任务信息包括目标测试驱动以及网页测试流程;
状态变量模块,用于创建状态变量,将所述目标测试驱动的初始状态信息存储至所述状态变量;
变量更新模块,用于获取所述目标测试驱动的状态变更信息,基于所述状态变更信息更新所述状态变量;
断点监测模块,用于监测所述目标测试驱动的断点事件,所述断点事件包括所述网页测试流程的内容变更以及所述目标测试驱动的状态变更;
进程恢复模块,用于在所述断点事件发生的情况下,通过所述状态变量获取所述断点事件前最近一次所述目标测试驱动的状态变量,根据所述状态变量恢复所述目标测试驱动的状态信息。
在其中一个实施例中,所述任务信息包括:
驱动标识模块,用于提取所述待执行任务信息中的驱动标识信息,基于所述驱动标识信息在若干个候选测试驱动中确定与所述待执行任务信息对应的目标测试驱动,若干个所述候选测试驱动的进程相互独立;
测试实例模块,用于基于所述待执行任务信息在所述目标测试驱动中创建第一测试实例,所述第一测试实例在独立线程中运行。
在其中一个实施例中,所述测试实例模块包括:
任务列表模块,用于根据所述驱动标识信息确定目标待执行任务列表,将所述待执行任务信息添加至所述目标待执行任务列表;
任务分配模块,用于基于预设的排序规则为所述目标待执行任务列表中的测试任务分配线程。
在其中一个实施例中,所述任务分配模块之前,还包括:
参数规范模块,用于获取与所述目标测试驱动适配的目标参数规范;
规范转换模块,用于将所述待执行任务信息中的参数转换至符合所述目标参数规范。
在其中一个实施例中,所述装置还包括:
元素属性模块,用于获取待测试页面的待测试元素的元素属性,所述待测试元素与所述操作事件相关联;
元素映射模块,用于在所述待测试元素的若干种元素属性中确定所述待测试元素在所述待测试页面的元素定位方式,建立所述元素定位方式与所述操作事件的映射关系。
在其中一个实施例中,所述装置还包括:
事件监测模块,用于当监测到所述待测试页面中触发了预设的所述操作事件时,基于与所述操作事件相关联的所述元素定位方式验证所述待测试元素;
断言判别模块,用于根据所述待测试页面在预设的断言验证周期内是否出现所述待测试元素,确定待测试页面的测试结果。
上述一种网页测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网页测试方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种网页测试方法,其特征在于,所述方法包括:
获取待执行任务信息,所述待执行任务信息包括目标测试驱动以及网页测试流程;
创建状态变量,将所述目标测试驱动的初始状态信息存储至所述状态变量;
获取所述目标测试驱动的状态变更信息,基于所述状态变更信息更新所述状态变量;
监测所述目标测试驱动的断点事件,所述断点事件包括所述网页测试流程的内容变更以及所述目标测试驱动的状态变更;
在所述断点事件发生的情况下,通过所述状态变量获取所述断点事件前最近一次所述目标测试驱动的状态变量,根据所述状态变量恢复所述目标测试驱动的状态信息。
2.根据权利要求1所述的方法,其特征在于,所述获取待执行任务信息,所述待执行任务信息包括目标测试驱动以及网页测试流程包括:
提取所述待执行任务信息中的驱动标识信息,基于所述驱动标识信息在若干个候选测试驱动中确定与所述待执行任务信息对应的目标测试驱动,若干个所述候选测试驱动的进程相互独立;
基于所述待执行任务信息在所述目标测试驱动中创建第一测试实例,所述第一测试实例在独立线程中运行。
3.根据权利要求2所述的方法,其特征在于,所述基于所述待执行任务信息在所述目标测试驱动中创建第一测试实例,所述第一测试实例在独立线程中运行包括:
根据所述驱动标识信息确定目标待执行任务列表,将所述待执行任务信息添加至所述目标待执行任务列表;
基于预设的排序规则为所述目标待执行任务列表中的测试任务分配线程。
4.根据权利要求3所述的方法,其特征在于,所述基于预设的排序规则为所述目标待执行任务列表中的测试任务分配线程之前,还包括:
获取与所述目标测试驱动适配的目标参数规范;
将所述待执行任务信息中的参数转换至符合所述目标参数规范。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取待测试页面的待测试元素的元素属性,所述待测试元素与所述操作事件相关联;
在所述待测试元素的若干种元素属性中确定所述待测试元素在所述待测试页面的元素定位方式,建立所述元素定位方式与所述操作事件的映射关系。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当监测到所述待测试页面中触发了预设的所述操作事件时,基于与所述操作事件相关联的所述元素定位方式验证所述待测试元素;
根据所述待测试页面在预设的断言验证周期内是否出现所述待测试元素,确定待测试页面的测试结果。
7.一种网页测试装置,其特征在于,所述装置包括:
任务信息模块,用于获取待执行任务信息,所述待执行任务信息包括目标测试驱动以及网页测试流程;
状态变量模块,用于创建状态变量,将所述目标测试驱动的初始状态信息存储至所述状态变量;
变量更新模块,用于获取所述目标测试驱动的状态变更信息,基于所述状态变更信息更新所述状态变量;
断点监测模块,用于监测所述目标测试驱动的断点事件,所述断点事件包括所述网页测试流程的内容变更以及所述目标测试驱动的状态变更;
进程恢复模块,用于在所述断点事件发生的情况下,通过所述状态变量获取所述断点事件前最近一次所述目标测试驱动的状态变量,根据所述状态变量恢复所述目标测试驱动的状态信息。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310868798.0A CN117076292A (zh) | 2023-07-14 | 2023-07-14 | 一种网页测试方法、装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310868798.0A CN117076292A (zh) | 2023-07-14 | 2023-07-14 | 一种网页测试方法、装置、计算机设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117076292A true CN117076292A (zh) | 2023-11-17 |
Family
ID=88708736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310868798.0A Pending CN117076292A (zh) | 2023-07-14 | 2023-07-14 | 一种网页测试方法、装置、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076292A (zh) |
-
2023
- 2023-07-14 CN CN202310868798.0A patent/CN117076292A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及系统 | |
US10055338B2 (en) | Completing functional testing | |
US20140282848A1 (en) | System and Method to Provide Management of Test Data at Various Lifecycle Stages | |
US11436133B2 (en) | Comparable user interface object identifications | |
WO2019056720A1 (zh) | 自动化测试用例管理方法、装置、设备及存储介质 | |
CN111290951B (zh) | 测试方法、终端、服务器、系统及存储介质 | |
CN112433712A (zh) | 报表展示方法、装置、计算机设备和存储介质 | |
CA3128803A1 (en) | Message conversion method and device, computer equipment and storage medium | |
CN114356750A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN114238085A (zh) | 接口测试方法、装置、计算机设备、存储介质 | |
CN116644250B (zh) | 页面检测方法、装置、计算机设备和存储介质 | |
CN116467975B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN117076292A (zh) | 一种网页测试方法、装置、计算机设备、存储介质 | |
CN114756293A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN114168456A (zh) | 一种基于3d-gis的前端性能自动化测试方法 | |
CN113220592A (zh) | 自动化测试资源的处理方法、装置、服务器及存储介质 | |
JP4903279B2 (ja) | 動作検証装置、動作検証方法、および動作検証プログラム | |
US20090276603A1 (en) | Techniques for efficient dataloads into partitioned tables | |
CN113590213B (zh) | 组件维护方法、电子设备及存储介质 | |
CN114817393B (zh) | 数据抽取和清洗方法、装置及存储介质 | |
CN117852573B (zh) | 算力执行系统、算子计算流管理方法、装置、设备和介质 | |
CN111309623B (zh) | 一种坐标类数据分类测试方法及装置 | |
CN114528198A (zh) | 软件自动化测试方法、装置、电子设备和存储介质 | |
US20240176728A1 (en) | Plug and play language acceptance testing | |
CN117453223A (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 |