CN112231229B - Web UI自动化测试方法、***、电子设备及可读存储介质 - Google Patents
Web UI自动化测试方法、***、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112231229B CN112231229B CN202011239254.0A CN202011239254A CN112231229B CN 112231229 B CN112231229 B CN 112231229B CN 202011239254 A CN202011239254 A CN 202011239254A CN 112231229 B CN112231229 B CN 112231229B
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- information
- module
- list
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 18
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000012360 testing method Methods 0.000 claims abstract description 288
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000013100 final test Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 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
- 238000005457 optimization Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 229910052711 selenium Inorganic materials 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Abstract
本发明公开了一种Web UI自动化测试方法、***、电子设备及可读存储介质,Web UI自动化测试方法包括:配置信息获取步骤:获取待测试模块的模块列表,根据模块列表获取所述待测试模块的配置信息;UI测试用例获得步骤:根据配置信息获得待测试模块包含的测试用例的数量后,读取每一测试用例的执行步骤信息,根据所述执行步骤信息获得UI测试用例;执行步骤:根据UI测试用例进行Web UI自动化测试并输出测试结果。
Description
技术领域
本发明涉及UI测试,具体地说,尤其涉及一种Web UI自动化测试方法、***、电子设备及可读存储介质。
背景技术
在如今***设计的背景下,WebUI的交互越来越复杂,针对该类型的UI测试需求也日趋旺盛。
在传统的UI测试模式下,测试人员需要基本使用手工测试,在界面上进行操作,并且测试人员还需要维护大量的测试用例与测试数据。对于成型的***来说,主体业务逻辑的UI测试存在一定的逻辑规律,并且针对同类型的栏位配置信息,测试用例的相似度非常高,变动的可能是元素的位置。
为了应对频繁的***新需求或变更需求,测试人员往往需要花费大量人力在回归测试用例上,其中很多都是单一重复性的操作。尤其是当某个模块的界面做了调整或者发生改变时,往往回归调试对应的测试用例需要占用大量的时间,而紧凑的开发进度可能会导致这部分相关联的模块无法得到充分的测试,从而在生产环境上线后发现新的缺陷。
因此急需开发一种克服上述缺陷的Web UI自动化测试方法、***、电子设备及可读存储介质。
发明内容
针对上述问题,本发明提供一种Web UI自动化测试方法,其中,包括:
配置信息获取步骤:获取待测试模块的模块列表,根据所述模块列表获取所述待测试模块的配置信息;
UI测试用例获得步骤:根据所述配置信息获得所述待测试模块包含的测试用例的数量后,读取每一所述测试用例的执行步骤信息,根据所述执行步骤信息获得UI测试用例;
执行步骤:根据所述UI测试用例进行Web UI自动化测试并输出测试结果。
上述的Web UI自动化测试***,其中,所述执行步骤信息包含测试用例名称、元素定位方式、元素位置、操作信息以及步骤信息,所述最终测试用例获得步骤包括:
计算步骤:根据所述配置信息获得所述待测试模块包含的测试用例的数量;
读取步骤:读取所述步骤信息及所述步骤信息中的每一步骤对应的所述操作信息;
可能值列表获得步骤:读取并根据所述元素定位方式及所述元素位置定位所述测试用例中的每一元素的位置,获得可能值列表;
上述的Web UI自动化测试方法,其中,所述最终测试用例输出步骤包括:
判断步骤:对所述正面测试用例及所述负面测试用例的类型进行判断;
正面测试用例处理步骤:当为正面测试用例时,根据正面测试用例名称遍历该步骤下正确的所述步骤信息并将所述步骤信息添加至测试步骤列表;
负面测试用例处理步骤:当为负面测试用例时,判断是否复用正面测试用例,如是则复用正面测试用例重复部分的步骤信息并生成负面测试用例剩余部分的步骤信息,将所述步骤信息添加至测试步骤列表;如不是,则根据负面测试用例名称遍历该步骤下错误的所述步骤信息并将所述步骤信息添加至测试步骤列表;
输出步骤:根据所述测试步骤列表最后组合拼接所述待测试模块的所有所述步骤信息输出所述最终测试用例。
上述的Web UI自动化测试方法,其中,所述执行步骤包括:
匹配步骤:根据所述可能值列表进行元素定位匹配;
正常执行步骤:记录所述最终测试用例的执行状态并生成HTML测试报告;
错误执行步骤:对所述最终测试用例执行错误的地方进行截图,并生成HTML测试报告;
发送步骤:将所述HTML测试报告进行发送。
上述的Web UI自动化测试方法,其中,所述正常执行步骤还包括,输出异常状态下的堆栈轨迹;所述错误执行步骤还包括,输出错误级别的日志。
本发明还提供一种Web UI自动化测试***,其中,包括:
配置信息获取装置,获取待测试模块的模块列表,根据所述模块列表获取所述待测试模块的配置信息;
UI测试用例获得装置,根据所述配置信息获得所述待测试模块包含的测试用例的数量后,读取每一所述测试用例的执行步骤信息,根据所述执行步骤信息获得UI测试用例;
执行装置,根据所述UI测试用例进行Web UI自动化测试并输出测试结果。
上述的Web UI自动化测试***,其中,所述执行步骤信息包含测试用例名称、元素定位方式、元素位置、操作信息以及步骤信息,所述最终测试用例获得装置包括:
计算单元,根据所述配置信息获得所述待测试模块包含的测试用例的数量;
读取单元,读取所述步骤信息及所述步骤信息中的每一步骤对应的所述操作信息;
可能值列表获得单元,读取并根据所述元素定位方式及所述元素位置定位所述测试用例中的每一元素的位置,获得可能值列表;
UI测试用例输出单元,根据所述步骤信息及所述操作信息生成正面测试用例及/或负面测试用例,整合所述正面测试用例及/或所述负面测试用例获得所述UI测试用例。
上述的Web UI自动化测试***,其中,所述最终测试用例输出单元包括:
判断模块:对所述正面测试用例及所述负面测试用例的类型进行判断;
正面测试用例处理模块:当为正面测试用例时,根据正面测试用例名称遍历该步骤下正确的所述步骤信息并将所述步骤信息添加至测试步骤列表;
负面测试用例处理模块:当为负面测试用例时,判断是否复用正面测试用例,如是则复用正面测试用例重复部分的步骤信息并生成负面测试用例剩余部分的步骤信息,将所述步骤信息添加至测试步骤列表;如不是,则根据负面测试用例名称遍历该步骤下错误的所述步骤信息并将所述步骤信息添加至测试步骤列表;
输出模块:根据所述测试步骤列表最后组合拼接所述待测试模块的所有所述步骤信息输出所述最终测试用例。
本发明还提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上述中任一项所述的Web UI自动化测试方法。
本发明还提供一种可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述中任一项所述的Web UI自动化测试方法。
综上所述,本发明相对于现有技术其功效在于:本发明可自动读取测试用例每一步骤,动态生成UI测试用例,从而能够解决面对频繁迭代的***需求,UI测试需要大量回归的问题。同时本发明可减少测试人员的重复操作,节省时间。并且本发明可管理并自动维护UI测试用例,帮助不会编写代码的测试人员进行WebUI自动化测试。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的Web UI自动化测试方法的流程图;
图2为图1中步骤S2的分步骤流程图;
图3为图2中步骤S24的分步骤流程图;
图4为元素定位流程图;
图5为步骤S24的应用流程图;
图6为图1中步骤S3的分步骤流程图;
图7为图6中步骤S32、S33及S34的应用流程图;
图8为图6中步骤S31的应用流程图;
图9为本发明的Web UI自动化测试***的结构示意图;
图10本发明的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
关于本文中所使用的“第一”、“第二”、“S1”、“S2”、…等,并非特别指称次序或顺位的意思,也非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。
某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。
本发明针对WebUI的自动化测试,在模拟人工操作的基础之上,基于人工操作的步骤,维护形成测试用例,使用Python语言并结合Selenium框架,读取测试用例,按维护的测试用例来自动执行每一步的操作,减少重复的劳动,减轻测试人员的日常工作负担,用以节省不必要的维护成本。其中,Web UI自动化测试的输入项为实现维护好的测试用例,读取每一步的操作,根据不同模块的操作细化成每一步骤,生成可直接执行的测试用例,覆盖超过90%的Web UI自动化测试场景。在配置信息发生变动时,可读取变动信息,自动执行,只需手动更新维护测试用例就可。以下结合附图进行具体说明。
请参照图1,图1为本发明的Web UI自动化测试方法的流程图。如图1所示,本发明的Web UI自动化测试方法,包括:
配置信息获取步骤S1:获取待测试模块的模块列表,根据所述模块列表获取所述待测试模块的配置信息;
UI测试用例获得步骤S2:根据所述配置信息获得所述待测试模块包含的测试用例的数量后,读取每一所述测试用例的执行步骤信息,根据所述执行步骤信息获得UI测试用例;
执行步骤S3:根据所述UI测试用例进行Web UI自动化测试并输出测试结果。
其中,所述执行步骤信息包含测试用例名称、元素定位方式、元素位置、操作信息、步骤信息以及输入参数信息,具体地说,本发明使用Python语言,读取Excel维护的UI执行步骤信息,包含测试用例名称,元素定位方式,元素位置、元素操作以及输入参数信息。本发明根据不同的元素位置以及元素操作,通过测试用例名称逻辑分组,生成一系列UI测试用例。由此,本发明可自动读取测试用例每一步骤,动态生成UI测试用例,具体地说,针对待测试的模块列表,本发明逐个读取各个待测模块的配置信息,计算出每个待测模块包含的测试用例数量,根据每个测试用例配置的执行步骤信息,生成测试用例并执行。从而解决面对频繁迭代的***需求,UI测试需要大量回归的问题;同时可减少测试人员的重复操作,节省时间,还可管理并自动维护UI测试用例,帮助不会编写代码的测试人员进行WebUI自动化测试。
请参照图2,图2为图1中步骤S2的分步骤流程图。如图2所示,所述最终测试用例获得步骤S2包括:
计算步骤S21:根据所述配置信息获得所述待测试模块包含的测试用例的数量。
读取步骤S22:读取所述步骤信息及所述步骤信息中的每一步骤对应的所述操作信息。
可能值列表获得步骤S23:读取并根据所述元素定位方式及所述元素位置定位所述测试用例中的每一元素的位置,获得可能值列表。
UI测试用例输出步骤S24:根据所述步骤信息及所述操作信息生成正面测试用例及/或负面测试用例,整合所述正面测试用例及/或所述负面测试用例获得所述UI测试用例。
其中,请参照图4,图4为元素定位流程图,如图4所示,在可能值列表获得步骤S23中,以正面测试用例为例,在生成用例时会依次判断元素是否具有唯一特征,相对位置是否固定,例如,通过ID、xpath、selector、classname、linktext、partial link text及tagname生成元素定位方式,如果界面上新增了元素,该元素是否仍能定位到等信息,依次生成该元素所有的可能的定位方式范围,并放入可能值列表,供后续使用,其中负面测试用例的逻辑与正面测试用例的逻辑相同,因此在此就不再赘述了。
请参照图3及图5,图3为图2中步骤S24的分步骤流程图,图5为步骤S24的应用流程图。如图3及图5所示,所述最终测试用例输出步骤S24包括:
判断步骤S241:对所述正面测试用例及所述负面测试用例的类型进行判断;
正面测试用例处理步骤S242:当为正面测试用例时,根据正面测试用例名称遍历该步骤下正确的所述步骤信息并将所述步骤信息添加至测试步骤列表;
负面测试用例处理步骤S243:当为负面测试用例时,判断是否复用正面测试用例,如是则复用正面测试用例重复部分的步骤信息并生成负面测试用例剩余部分的步骤信息,将所述步骤信息添加至测试步骤列表;如不是,则根据负面测试用例名称遍历该步骤下错误的所述步骤信息并将所述步骤信息添加至测试步骤列表;
其中,在本实施例中,生成测试用例时,会生成正面用例以及负面用例。正面用例生成时,获取正面用例可用的测试步骤列表,逐个放入测试用例中。负面用例生成时,获取负面用例可用的测试步骤列表,逐个放入测试用例中。最后组合拼接模块的所有测试用例信息,生成一个完整的测试用例列表。
输出步骤S244:根据所述测试步骤列表最后组合拼接所述待测试模块的所有所述步骤信息输出所述UI测试用例。
请参照图6及图7,图6为图1中步骤S3的分步骤流程图,图7为图6中步骤S32、S33及S34的应用流程图。如图6及图7所示,所述执行步骤S3包括:
匹配步骤S31:根据所述可能值列表进行元素定位匹配;
正常执行步骤S32:记录所述最终测试用例的执行状态并生成HTML测试报告;
错误执行步骤S33:对所述最终测试用例执行错误的地方进行截图,并生成HTML测试报告;
发送步骤S34:将所述HTML测试报告进行发送。
其中,所述正常执行步骤还包括,输出异常状态下的堆栈轨迹;所述错误执行步骤还包括,输出错误级别的日志。
WebUI自动化测试过程中,经常会遇到元素定位不到情况,通常报错信息为“nosuch element”,通常引起该情况可以从以下几方面入手,一是网络是否存在延迟,整个页面没有被完全加载。二是遇到iframe的结构,需要切换到iframe.三是元素在不同的窗口,需要判断当前条件下有几个窗口,然后在切换句柄。四是页面返回了动态id,通过浏览器自动的定位方式往往会定位不到元素,此时可以通过fullxpath来代替。请参照图8,图8为图6中步骤S31的应用流程图。如图8所示,在匹配步骤S31中,首先匹配可能值列表,如果能定位到元素,则进行下一步处理;如果定位不到元素,依次通过添加智能等待、切换到对应的iframe、轮询句柄切换到对应的窗口及xfullpath这些方式对元素进行定位,定位成功则进行下一步。
请参照图9,图9为本发明的Web UI自动化测试***的结构示意图。如图9所示,本发明的Web UI自动化测试***,包括:
配置信息获取装置11,获取待测试模块的模块列表,根据所述模块列表获取所述待测试模块的配置信息;
UI测试用例获得装置12,根据所述配置信息获得所述待测试模块包含的测试用例的数量后,读取每一所述测试用例的执行步骤信息,根据所述执行步骤信息获得UI测试用例;
执行装置13,根据所述UI测试用例进行Web UI自动化测试并输出测试结果。
其中,所述执行步骤信息包含测试用例名称、元素定位方式、元素位置、操作信息以及步骤信息。
进一步地,所述最终测试用例获得装置12包括:
计算单元121,根据所述配置信息获得所述待测试模块包含的测试用例的数量;
读取单元122,读取所述步骤信息及所述步骤信息中的每一步骤对应的所述操作信息;
可能值列表获得单元123,读取并根据所述元素定位方式及所述元素位置定位所述测试用例中的每一元素的位置,获得可能值列表;
UI测试用例输出单元124,根据所述步骤信息及所述操作信息生成正面测试用例及/或负面测试用例,整合所述正面测试用例及/或所述负面测试用例获得所述UI测试用例。
再进一步地,所述最终测试用例输出单元124包括:
判断模块1241:对所述正面测试用例及所述负面测试用例的类型进行判断;
正面测试用例处理模块1242:当为正面测试用例时,根据正面测试用例名称遍历该步骤下正确的所述步骤信息并将所述步骤信息添加至测试步骤列表;
负面测试用例处理模块1243:当为负面测试用例时,判断是否复用正面测试用例,如是则复用正面测试用例重复部分的步骤信息并生成负面测试用例剩余部分的步骤信息,将所述步骤信息添加至测试步骤列表;如不是,则根据负面测试用例名称遍历该步骤下错误的所述步骤信息并将所述步骤信息添加至测试步骤列表;
输出模块1244:根据所述测试步骤列表最后组合拼接所述待测试模块的所有所述步骤信息输出所述最终测试用例。
请参照图10,图10本发明的电子设备的结构示意图。如图10所示,
本实施例揭示了一种电子设备的一种具体实施方式。电子设备可以包括处理器81以及存储有计算机程序指令的存储器82。
具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。
处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种文件***容量管理优化方法、。
在其中一些实施例中,电子设备还可包括通信接口83和总线80。其中,如图10所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线80包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(ControlBus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(FrontSide Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、***组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中WebUI自动化测试方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种WebUI自动化测试方法。
综上所述,本发明具有以下效果:
1.测试人员无需再手动去操作UI执行回归测试,本技术可根据文本配置UI操作信息,一键生成所有的测试用例,覆盖超过90%的UI测试场景,减少测试人员的重复操作,节省时间;
2.在UI元素位置发生变化时,测试人员只需手动更新测试元素位置信息。测试人员可通过本技术读取测试用例的变化信息,根据最新的配置信息执行测试用例;
3.不会编写代码的测试人员也可通过本技术,简单实现Web UI自动化测试。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种Web UI自动化测试方法,其特征在于,包括:
配置信息获取步骤:获取待测试模块的模块列表,根据所述模块列表获取所述待测试模块的配置信息;
UI测试用例获得步骤:根据所述配置信息获得所述待测试模块包含的测试用例的数量后,读取每一所述测试用例的执行步骤信息,根据所述执行步骤信息获得UI测试用例;
执行步骤:根据所述UI测试用例进行Web UI自动化测试并输出测试结果;
所述执行步骤信息包含测试用例名称、元素定位方式、元素位置、操作信息以及步骤信息,所述UI测试用例获得步骤包括:
计算步骤:根据所述配置信息获得所述待测试模块包含的测试用例的数量;
读取步骤:读取所述步骤信息及所述步骤信息中的每一步骤对应的所述操作信息;
可能值列表获得步骤:读取并根据所述元素定位方式及所述元素位置定位所述测试用例中的每一元素的位置,获得可能值列表;
UI测试用例输出步骤:根据所述步骤信息及所述操作信息生成正面测试用例及/或负面测试用例,整合所述正面测试用例及/或所述负面测试用例获得所述UI测试用例。
2.如权利要求1所述的Web UI自动化测试方法,其特征在于,所述UI测试用例输出步骤包括:
判断步骤:对所述正面测试用例及所述负面测试用例的类型进行判断;
正面测试用例处理步骤:当为正面测试用例时,根据正面测试用例名称遍历该步骤下正确的所述步骤信息并将所述步骤信息添加至测试步骤列表;
负面测试用例处理步骤:当为负面测试用例时,判断是否复用正面测试用例,如是则复用正面测试用例重复部分的步骤信息并生成负面测试用例剩余部分的步骤信息,将所述步骤信息添加至测试步骤列表;如不是,则根据负面测试用例名称遍历该步骤下错误的所述步骤信息并将所述步骤信息添加至测试步骤列表;
输出步骤:根据所述测试步骤列表最后组合拼接所述待测试模块的所有所述步骤信息输出所述UI测试用例。
3.如权利要求1所述的Web UI自动化测试方法,其特征在于,所述执行步骤包括:
匹配步骤:根据所述可能值列表进行元素定位匹配;
正常执行步骤:记录所述UI测试用例的执行状态并生成HTML测试报告;
错误执行步骤:对所述UI测试用例执行错误的地方进行截图,并生成HTML测试报告;
发送步骤:将所述HTML测试报告进行发送。
4.如权利要求3所述的Web UI自动化测试方法,其特征在于,所述正常执行步骤还包括,输出异常状态下的堆栈轨迹;所述错误执行步骤还包括,输出错误级别的日志。
5.一种Web UI自动化测试***,其特征在于,包括:
配置信息获取装置,获取待测试模块的模块列表,根据所述模块列表获取所述待测试模块的配置信息;
UI测试用例获得装置,根据所述配置信息获得所述待测试模块包含的测试用例的数量后,读取每一所述测试用例的执行步骤信息,根据所述执行步骤信息获得UI测试用例;
执行装置,根据所述UI测试用例进行Web UI自动化测试并输出测试结果;
所述执行步骤信息包含测试用例名称、元素定位方式、元素位置、操作信息以及步骤信息,所述UI测试用例获得装置包括:
计算单元,根据所述配置信息获得所述待测试模块包含的测试用例的数量;
读取单元,读取所述步骤信息及所述步骤信息中的每一步骤对应的所述操作信息;
可能值列表获得单元,读取并根据所述元素定位方式及所述元素位置定位所述测试用例中的每一元素的位置,获得可能值列表;
UI测试用例输出单元,根据所述步骤信息及所述操作信息生成正面测试用例及/或负面测试用例,整合所述正面测试用例及/或所述负面测试用例获得所述UI测试用例。
6.如权利要求5所述的Web UI自动化测试***,其特征在于,所述UI测试用例输出单元包括:
判断模块:对所述正面测试用例及所述负面测试用例的类型进行判断;
正面测试用例处理模块:当为正面测试用例时,根据正面测试用例名称遍历该步骤下正确的所述步骤信息并将所述步骤信息添加至测试步骤列表;
负面测试用例处理模块:当为负面测试用例时,判断是否复用正面测试用例,如是则复用正面测试用例重复部分的步骤信息并生成负面测试用例剩余部分的步骤信息,将所述步骤信息添加至测试步骤列表;如不是,则根据负面测试用例名称遍历该步骤下错误的所述步骤信息并将所述步骤信息添加至测试步骤列表;
输出模块:根据所述测试步骤列表最后组合拼接所述待测试模块的所有所述步骤信息输出所述UI测试用例。
7.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的Web UI自动化测试方法。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4中任一项所述的Web UI自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011239254.0A CN112231229B (zh) | 2020-11-09 | Web UI自动化测试方法、***、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011239254.0A CN112231229B (zh) | 2020-11-09 | Web UI自动化测试方法、***、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112231229A CN112231229A (zh) | 2021-01-15 |
CN112231229B true CN112231229B (zh) | 2024-06-28 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062802A (zh) * | 2018-08-13 | 2018-12-21 | 深圳壹账通智能科技有限公司 | 一种软件测试方法、计算机可读存储介质及终端设备 |
CN110659197A (zh) * | 2018-06-28 | 2020-01-07 | 亿度慧达教育科技(北京)有限公司 | 应用程序的测试用例生成方法、装置和软件测试*** |
CN110941546A (zh) * | 2019-10-12 | 2020-03-31 | 平安健康保险股份有限公司 | Web页面用例的自动化测试方法、装置、设备及存储介质 |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659197A (zh) * | 2018-06-28 | 2020-01-07 | 亿度慧达教育科技(北京)有限公司 | 应用程序的测试用例生成方法、装置和软件测试*** |
CN109062802A (zh) * | 2018-08-13 | 2018-12-21 | 深圳壹账通智能科技有限公司 | 一种软件测试方法、计算机可读存储介质及终端设备 |
CN110941546A (zh) * | 2019-10-12 | 2020-03-31 | 平安健康保险股份有限公司 | Web页面用例的自动化测试方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324526B (zh) | 接口测试***、方法和服务器 | |
CN111611797B (zh) | 基于Albert模型的预测数据标注的方法、装置及设备 | |
CN112181854B (zh) | 一种生成流程自动化脚本的方法、装置、设备及存储介质 | |
CN115757483A (zh) | 一种自动化测试方法、装置、电子设备和存储介质 | |
CN112328490A (zh) | 软件***研发质量的评价方法、***、存储介质及电子设备 | |
CN114091383A (zh) | 测试序列生成方法、装置、***及相关设备 | |
US20240045752A1 (en) | Methods and apparatuses for troubleshooting a computer system | |
CN112231229B (zh) | Web UI自动化测试方法、***、电子设备及可读存储介质 | |
CN111427582B (zh) | Rtl代码的管理方法、装置、设备及计算机可读存储介质 | |
CN110532458B (zh) | 一种查找方式的确定方法、确定装置、服务器及存储介质 | |
CN111209180B (zh) | 一种基于模糊匹配的回归测试方法和装置 | |
US11556460B2 (en) | Test case generation for software development using machine learning | |
CN113238940B (zh) | 一种接口测试结果的比对方法、装置、设备和存储介质 | |
CN114091391A (zh) | 芯片验证方法、装置、设备和存储介质 | |
CN115168217A (zh) | 源代码文件的缺陷发现方法及装置 | |
CN112231229A (zh) | Web UI自动化测试方法、***、电子设备及可读存储介质 | |
KR102201845B1 (ko) | 멀티 태스크 기반 소프트웨어의 자동화 단위 테스트 방법 및 그를 위한 시스템 | |
CN116028329A (zh) | 检测代码缺陷的方法、电子设备和计算机程序产品 | |
CN113126881A (zh) | ***配置方法、装置、设备、可读存储介质及分布式存储*** | |
CN117574817B (zh) | 自适应时序变化的设计自动化验证方法、***及验证平台 | |
US11036613B1 (en) | Regression analysis for software development and management using machine learning | |
CN114448851B (zh) | 一种数据自动化测试方法及*** | |
CN114756473A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN117311672A (zh) | 软件模型架构、电池管理***控制器和车辆 | |
CN113742225A (zh) | 一种测试数据生成方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |