CN117539793A - 一种浏览器ui自动测试的方法、装置及存储介质 - Google Patents
一种浏览器ui自动测试的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117539793A CN117539793A CN202410015651.1A CN202410015651A CN117539793A CN 117539793 A CN117539793 A CN 117539793A CN 202410015651 A CN202410015651 A CN 202410015651A CN 117539793 A CN117539793 A CN 117539793A
- Authority
- CN
- China
- Prior art keywords
- test case
- browser
- test
- conversion model
- automatic
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 332
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000006243 chemical reaction Methods 0.000 claims abstract description 74
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims abstract description 6
- 238000012549 training Methods 0.000 claims description 65
- 230000006870 function Effects 0.000 claims description 33
- 230000011218 segmentation Effects 0.000 claims description 27
- 230000006399 behavior Effects 0.000 claims description 21
- 230000002452 interceptive effect Effects 0.000 claims description 20
- 238000007781 pre-processing Methods 0.000 claims description 14
- 238000004088 simulation Methods 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000006698 induction 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
- 230000008520 organization 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/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
本发明提出了一种浏览器UI自动测试的方法、装置及存储介质,涉及计算机程序自动化测试技术领域,该方法包括:基于浏览器UI元素之间的依赖关系生成路由树及多维索引;将采用自然语言描述的测试用例使用测试用例转换模型基于路由树及多维索引生成由JSON段落组成的自动化测试用例;在浏览器中扩展浏览器插件,使用由JSON段落组成的自动化测试用例对浏览器UI进行自动测试,浏览器插件从JSON段落记录查找关键测试元素,并将关键测试元素在多维索引中查找被测浏览器UI的对应的真实元素,基于真实元素的执行状态监测被测浏览器UI的响应和行为,以生成自动化测试结果后生成测试报告。本发明可生成更加准确、符合实际的测试用例。
Description
技术领域
本发明涉及计算机程序自动化测试技术领域,具体涉及一种浏览器UI自动测试的方法、装置及存储介质。
背景技术
测试用例(Test Case)是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求有更加不同的趋势。
要使最终用户对软件感到满意,最有力的举措就是对最终用户的期望加以明确阐述,以便对这些期望进行核实并确认其有效性。测试用例反映了要核实的需求。然而,核实这些需求可能通过不同的方式并由不同的测试员来实施。例如,执行软件以便验证它的功能和性能,这项操作可能由某个测试员采用自动测试技术来实现;计算机系统的关键步骤可通过手工测试和观察来完成。
现有技术中测试用例生成方法生成测试用例准确性、可靠性比较低,导致测试结果与用户的需求差别较大,因此,需要生成高质量的测试用例进行测试是一项技术挑战。
发明内容
本发明针对上述现有技术中一个或多个技术缺陷,提出了如下技术方案。
一种浏览器UI自动测试的方法,该方法包括:
预处理步骤,基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引;
测试用例生成步骤,将采用自然语言描述的测试用例使用测试用例转换模型基于所述路由树及多维索引生成由JSON段落组成的自动化测试用例;
浏览器插件扩展步骤,在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用步骤,浏览器插件selector实现元素查找功能;
测试步骤,使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述交互操作包括用户点击、输入和导航;
测试结果监测步骤,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找所述被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测被测浏览器UI的响应和行为,以生成自动化测试结果;
测试验证与报告生成步骤:基于预期测试结果,对所述自动化测试结果进行验证,并生成测试报告。
更进一步地,被测浏览器UI的响应和行为包括:页面加载时间、错误日志和内存信息,用以评估所述自动化测试结果的准确性和稳定性。
更进一步地,所述测试用例生成步骤的操作为:使用所述测试用例转换模型的解析模块对所述自然语言描述的测试用例进行分词得到分词结果,使用所述测试用例转换模型的推断模块对所述分词结果进行关键词识别以及补正,并推断所述关键词对应的正确的操作类型;使用所述测试用例转换模型的分析模块对所述浏览器UI进行页面分析,以所述路由树,匹配用于生成自动化测试用例的页面,并根据多维索引,为所述自动化测试用例匹配相应的函数,并基于命名实体为所述函数匹配相应的参数,从而生成可执行的自动化测试用例。
更进一步地,所述测试用例转换模型是基于人工神经网络或GPT构建的。
更进一步地,对所述自动化测试结果进行验证包括:基于预期测试结果中的页面加载时间PT、错误日志PL和内存信息PM与所述自动化测试结果的页面加载时间RT、错误日志RL和内存信息RM进行匹配,如果匹配成功,则生成的自动化测试用例可用,否则,调整所述测试用例转换模型的推断模块的参数,以重新生成自动化测试用例。
更进一步地,调整所述测试用例转换模型的推断模块的参数的操作为:
计算PT与RT的差值:;
计算PL与RL的余弦相似度:CS=Cos(PL,RL);
所述内存信息PM、RM分别使用内存大小PMS、RMS来表示,内存占用时间PMT、RMT,计算和/>;
将、CS、/>和/>组成一维调整向量Va保存在第二训练样本集中,将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集。
本发明还提出了一种浏览器UI自动测试的装置,该装置包括:
预处理单元,基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引;
测试用例生成单元,将采用自然语言描述的测试用例使用测试用例转换模型基于所述路由树及多维索引生成由JSON段落组成的自动化测试用例;
浏览器插件扩展单元,在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用单元,浏览器插件selector实现元素查找功能;
测试单元,使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述交互操作包括用户点击、输入和导航;
测试结果监测单元,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找所述被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测被测浏览器UI的响应和行为,以生成自动化测试结果;
测试验证与报告生成单元:基于预期测试结果,对所述自动化测试结果进行验证,并生成测试报告。
更进一步地,被测浏览器UI的响应和行为包括:页面加载时间、错误日志和内存信息,用以评估所述自动化测试结果的准确性和稳定性。
更进一步地,所述测试用例生成单元的操作为:使用所述测试用例转换模型的解析模块对所述自然语言描述的测试用例进行分词得到分词结果,使用所述测试用例转换模型的推断模块对所述分词结果进行关键词识别以及补正,并推断所述关键词对应的正确的操作类型;使用所述测试用例转换模型的分析模块对所述浏览器UI进行页面分析,以所述路由树,匹配用于生成自动化测试用例的页面,并根据多维索引,为所述自动化测试用例匹配相应的函数,并基于命名实体为所述函数匹配相应的参数,从而生成可执行的自动化测试用例。
更进一步地,所述测试用例转换模型是基于人工神经网络或GPT构建的。
更进一步地,对所述自动化测试结果进行验证包括:基于预期测试结果中的页面加载时间PT、错误日志PL和内存信息PM与所述自动化测试结果的页面加载时间RT、错误日志RL和内存信息RM进行匹配,如果匹配成功,则生成的自动化测试用例可用,否则,调整所述测试用例转换模型的推断模块的参数,以重新生成自动化测试用例。
更进一步地,调整所述测试用例转换模型的推断模块的参数的操作为:
计算PT与RT的差值:;
计算PL与RL的余弦相似度:CS=Cos(PL,RL);
所述内存信息PM、RM分别使用内存大小PMS、RMS来表示,内存占用时间PMT、RMT,计算和/>;
将、CS、/>和/>组成一维调整向量Va保存在第二训练样本集中,将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集。
本发明还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时执行上述之任一的方法。
本发明的技术效果在于:本发明的一种浏览器UI自动测试的方法、装置及存储介质,该方法包括:预处理步骤S101,基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引;测试用例生成步骤S102,将采用自然语言描述的测试用例使用测试用例转换模型基于所述路由树及多维索引生成由JSON段落组成的自动化测试用例;浏览器插件扩展步骤S103,在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用步骤,浏览器插件selector实现元素查找功能;测试步骤S104,使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述交互操作包括用户点击、输入和导航;测试结果监测步骤S105,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找所述被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测被测浏览器UI的响应和行为,以生成自动化测试结果;测试验证与报告生成步骤S106:基于预期测试结果,对所述自动化测试结果进行验证,并生成测试报告。本发明中,实现了浏览器UI测试用例的自动构建,由于先基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引,构建自动测试用例时基于路由树及多维索引生成,使得测试用例生成更加准确、符合实际的测试用例,本发明中,还在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用步骤,浏览器插件selector实现元素查找功能,进而使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找所述被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测被测浏览器UI的响应和行为,以生成自动化测试结果,实现了测试过程中交互操作的自动执行、以及通过测试用例中的元素值查找对应的真实元素,从而高效、可靠的监测被测浏览器UI的响应和行为,以生成自动化测试结果,进而通过元素的自定义事件实现模拟元素的点击录入等操作,从而在执行过程中实时记录状态、时间、内存等信息;本发明中,所述测试用例转换模型包括解析模块、推断模块及分析模块,分别对所述自然语言描述的测试用例进行分词得到分词结果,对所述分词结果进行关键词识别以及补正,并推断所述关键词对应的正确的操作类型,对所述浏览器UI进行页面分析,以所述路由树,匹配用于生成自动化测试用例的页面,并根据多维索引,为所述自动化测试用例匹配相应的函数,并基于命名实体为所述函数匹配相应的参数,实现了自然语言与自动化测试已封装的函数之间的映射,提高了自动化测试用例生成的准确性及可靠性;基于预期测试结果中的页面加载时间PT、错误日志PL和内存信息PM与所述自动化测试结果的页面加载时间RT、错误日志RL和内存信息RM进行匹配,如果匹配成功,则生成的自动化测试用例可用,否则,调整所述测试用例转换模型的推断模块的参数,从而提高了测试用例转换模型的可靠性,调整过程为将、CS、/>和/>组成一维调整向量Va保存在第二训练样本集中,所述测试用例转换模型进行重新训练以调整推断模块的参数,其中,所述训练样本集不同于原训练所述测试用例转换模型的训练样本集,由于调整参数时没有使用原来的训练样本集,且基于将/>、CS、/>和/>进行调整,使得所述测试用例转换模型调整参数后更加准确。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。
图1是根据本发明的实施例的一种浏览器UI自动测试的方法的流程图。
图2是根据本发明的实施例的一种浏览器UI自动测试的装置的结构图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本发明的一种浏览器UI自动测试的方法,该方法包括:
预处理步骤S101,基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引;
测试用例生成步骤S102,将采用自然语言描述的测试用例使用测试用例转换模型基于所述路由树及多维索引生成由JSON段落组成的自动化测试用例;
浏览器插件扩展步骤S103,在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用步骤,浏览器插件selector实现元素查找功能;
测试步骤S104,使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述交互操作包括用户点击、输入和导航;
测试结果监测步骤S105,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找所述被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测被测浏览器UI的响应和行为,以生成自动化测试结果;
测试验证与报告生成步骤S106:基于预期测试结果,对所述自动化测试结果进行验证,并生成测试报告。
本发明中,实现了浏览器UI测试用例的自动构建,由于先基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引,构建自动测试用例时基于路由树及多维索引生成,使得测试用例生成更加准确、符合实际的测试用例,本发明中,还在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用步骤,浏览器插件selector实现元素查找功能,进而使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找所述被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测被测浏览器UI的响应和行为,以生成自动化测试结果,实现了测试过程中交互操作的自动执行、以及通过测试用例中的元素值查找对应的真实元素,从而高效、可靠的监测被测浏览器UI的响应和行为,以生成自动化测试结果,进而通过元素的自定义事件实现模拟元素的点击录入等操作,从而在执行过程中实时记录状态、时间、内存等信息,这是本申请的重要发明点之一。
在一个实施例中,被测浏览器UI的响应和行为包括:页面加载时间、错误日志和内存信息,用以评估所述自动化测试结果的准确性和稳定性。
在一个实施例中,所述测试用例生成步骤S102的操作为:使用所述测试用例转换模型的解析模块对所述自然语言描述的测试用例进行分词得到分词结果,使用所述测试用例转换模型的推断模块对所述分词结果进行关键词识别以及补正,并推断所述关键词对应的正确的操作类型;使用所述测试用例转换模型的分析模块对所述浏览器UI进行页面分析,以所述路由树,匹配用于生成自动化测试用例的页面,并根据多维索引,为所述自动化测试用例匹配相应的函数,并基于命名实体为所述函数匹配相应的参数,从而生成可执行的自动化测试用例。
本发明中,所述测试用例转换模型包括解析模块、推断模块及分析模块,分别对所述自然语言描述的测试用例进行分词得到分词结果,对所述分词结果进行关键词识别以及补正,并推断所述关键词对应的正确的操作类型,对所述浏览器UI进行页面分析,以所述路由树,匹配用于生成自动化测试用例的页面,并根据多维索引,为所述自动化测试用例匹配相应的函数,并基于命名实体为所述函数匹配相应的参数,实现了自然语言与自动化测试已封装的函数之间的映射,提高了自动化测试用例生成的准确性及可靠性,这是本申请的重要发明构思之一。
在一个实施例中,所述测试用例转换模型是基于人工神经网络或GPT构建的。所述测试用例转换模型在使用之前需要进行训练,比如,采用包括1000个样本的训练样本集进行训练,并设定迭代次数为1000次,学习率为0.8-0.95之间,这都是机器学习基本的训练操作。
在一个实施例中,所述对所述自动化测试结果进行验证包括:基于预期测试结果中的页面加载时间PT、错误日志PL和内存信息PM与所述自动化测试结果的页面加载时间RT、错误日志RL和内存信息RM进行匹配,如果匹配成功,则生成的自动化测试用例可用,否则,调整所述测试用例转换模型的推断模块的参数,以重新生成自动化测试用例。
在一个实施例中,所述调整所述测试用例转换模型的推断模块的参数的操作为:
计算PT与RT的差值:;
计算PL与RL的余弦相似度:CS=Cos(PL,RL);
所述内存信息PM、RM分别使用内存大小PMS、RMS来表示,内存占用时间PMT、RMT,计算差值和差值/>;
将、CS、和/>组成一维调整向量Va保存在第二训练样本集中,将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集。
本发明中,另一个重要的发明构思是对自动测试用例的测试效果进行分析,即基于预期测试结果中的页面加载时间PT、错误日志PL和内存信息PM与所述自动化测试结果的页面加载时间RT、错误日志RL和内存信息RM进行匹配,如果匹配成功,则生成的自动化测试用例可用,否则,调整所述测试用例转换模型的推断模块的参数,从而提高了测试用例转换模型的可靠性,调整过程为将、CS、/>和/>组成一维调整向量Va保存在第二训练样本集中,所述测试用例转换模型进行重新训练以调整推断模块的参数,其中,所述训练样本集不同于原训练所述测试用例转换模型的训练样本集,由于调整参数时没有使用原来的训练样本集,且基于将/>、CS、/>和/>进行调整,使得所述测试用例转换模型调整参数后更加准确,这是本发明的另一个重要发明构思之所在。
图2示出了本发明的一种浏览器UI自动测试的装置,该装置包括:
预处理单元201,基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引;
测试用例生成单元202,将采用自然语言描述的测试用例使用测试用例转换模型基于所述路由树及多维索引生成由JSON段落组成的自动化测试用例;
浏览器插件扩展单元203,在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用步骤,浏览器插件selector实现元素查找功能;
测试单元204,使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述交互操作包括用户点击、输入和导航;
测试结果监测单元205,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找所述被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测被测浏览器UI的响应和行为,以生成自动化测试结果;
测试验证与报告生成单元206:基于预期测试结果,对所述自动化测试结果进行验证,并生成测试报告。
本发明中,实现了浏览器UI测试用例的自动构建,由于先基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引,构建自动测试用例时基于路由树及多维索引生成,使得测试用例生成更加准确、符合实际的测试用例,本发明中,还在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用步骤,浏览器插件selector实现元素查找功能,进而使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找所述被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测被测浏览器UI的响应和行为,以生成自动化测试结果,实现了测试过程中交互操作的自动执行、以及通过测试用例中的元素值查找对应的真实元素,从而高效、可靠的监测被测浏览器UI的响应和行为,以生成自动化测试结果,进而通过元素的自定义事件实现模拟元素的点击录入等操作,从而在执行过程中实时记录状态、时间、内存等信息,这是本申请的重要发明点之一。
在一个实施例中,被测浏览器UI的响应和行为包括:页面加载时间、错误日志和内存信息,用以评估所述自动化测试结果的准确性和稳定性。
在一个实施例中,所述测试用例生成单元202的操作为:使用所述测试用例转换模型的解析模块对所述自然语言描述的测试用例进行分词得到分词结果,使用所述测试用例转换模型的推断模块对所述分词结果进行关键词识别以及补正,并推断所述关键词对应的正确的操作类型;使用所述测试用例转换模型的分析模块对所述浏览器UI进行页面分析,以所述路由树,匹配用于生成自动化测试用例的页面,并根据多维索引,为所述自动化测试用例匹配相应的函数,并基于命名实体为所述函数匹配相应的参数,从而生成可执行的自动化测试用例。
本发明中,所述测试用例转换模型包括解析模块、推断模块及分析模块,分别对所述自然语言描述的测试用例进行分词得到分词结果,对所述分词结果进行关键词识别以及补正,并推断所述关键词对应的正确的操作类型,对所述浏览器UI进行页面分析,以所述路由树,匹配用于生成自动化测试用例的页面,并根据多维索引,为所述自动化测试用例匹配相应的函数,并基于命名实体为所述函数匹配相应的参数,实现了自然语言与自动化测试已封装的函数之间的映射,提高了自动化测试用例生成的准确性及可靠性,这是本申请的重要发明构思之一。
在一个实施例中,所述测试用例转换模型是基于人工神经网络或GPT构建的。所述测试用例转换模型在使用之前需要进行训练,比如,采用包括1000个样本的训练样本集进行训练,并设定迭代次数为1000次,学习率为0.8-0.95之间,这都是机器学习基本的训练操作。
在一个实施例中,所述对所述自动化测试结果进行验证包括:基于预期测试结果中的页面加载时间PT、错误日志PL和内存信息PM与所述自动化测试结果的页面加载时间RT、错误日志RL和内存信息RM进行匹配,如果匹配成功,则生成的自动化测试用例可用,否则,调整所述测试用例转换模型的推断模块的参数,以重新生成自动化测试用例。
在一个实施例中,所述调整所述测试用例转换模型的推断模块的参数的操作为:
计算PT与RT的差值:;
计算PL与RL的余弦相似度:CS=Cos(PL,RL);
所述内存信息PM、RM分别使用内存大小PMS、RMS来表示,内存占用时间PMT、RMT,计算差值和差值/>;
将、CS、/>和/>组成一维调整向量Va保存在第二训练样本集中,将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集。
本发明中,另一个重要的发明构思是对自动测试用例的测试效果进行分析,即基于预期测试结果中的页面加载时间PT、错误日志PL和内存信息PM与所述自动化测试结果的页面加载时间RT、错误日志RL和内存信息RM进行匹配,如果匹配成功,则生成的自动化测试用例可用,否则,调整所述测试用例转换模型的推断模块的参数,从而提高了测试用例转换模型的可靠性,调整过程为将、CS、/>和/>组成一维调整向量Va保存在第二训练样本集中,所述测试用例转换模型进行重新训练以调整推断模块的参数,其中,所述训练样本集不同于原训练所述测试用例转换模型的训练样本集,由于调整参数时没有使用原来的训练样本集,且基于将/>、CS、/>和/>进行调整,使得所述测试用例转换模型调整参数后更加准确,这是本发明的另一个重要发明构思之所在。
本发明一个实施例中提出了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,当所述计算机存储介质上的计算机程序被处理器执行时实现上述的方法,该计算机存储介质可以是硬盘、DVD、CD、闪存等等存储器。
本发明的为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质 中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的装置。
最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种浏览器UI自动测试的方法,其特征在于,该方法包括:
预处理步骤,基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引;
测试用例生成步骤,将采用自然语言描述的测试用例使用测试用例转换模型基于所述路由树及多维索引生成由JSON段落组成的自动化测试用例;
浏览器插件扩展步骤,在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用步骤,浏览器插件selector实现元素查找功能;
测试步骤,使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述交互操作包括用户点击、输入和导航;
测试结果监测步骤,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测所述被测浏览器UI的响应和行为,以生成自动化测试结果;
测试验证与报告生成步骤:基于预期测试结果,对所述自动化测试结果进行验证,并生成测试报告。
2.根据权利要求1所述的方法,其特征在于,被测浏览器UI的响应和行为包括:页面加载时间、错误日志和内存信息,用以评估所述自动化测试结果的准确性和稳定性。
3.根据权利要求2所述的方法,其特征在于,所述测试用例生成步骤的操作为:使用所述测试用例转换模型的解析模块对所述自然语言描述的测试用例进行分词得到分词结果,使用所述测试用例转换模型的推断模块对所述分词结果进行关键词识别以及补正,并推断所述关键词对应的正确的操作类型;使用所述测试用例转换模型的分析模块对所述浏览器UI进行页面分析,以所述路由树,匹配用于生成自动化测试用例的页面,并根据多维索引,为所述自动化测试用例匹配相应的函数,并基于命名实体为所述函数匹配相应的参数,从而生成可执行的自动化测试用例。
4.根据权利要求3所述的方法,其特征在于,所述测试用例转换模型是基于人工神经网络或GPT构建的。
5.根据权利要求4所述的方法,其特征在于,所述对所述自动化测试结果进行验证包括:基于预期测试结果中的页面加载时间PT、错误日志PL和内存信息PM与所述自动化测试结果的页面加载时间RT、错误日志RL和内存信息RM进行匹配,如果匹配成功,则生成的自动化测试用例可用,否则,调整所述测试用例转换模型的推断模块的参数,以重新生成自动化测试用例;
所述调整所述测试用例转换模型的推断模块的参数的操作为:
计算PT与RT的差值:;
计算PL与RL的余弦相似度:CS=Cos(PL,RL);
所述内存信息PM、RM分别使用内存大小PMS、RMS来表示,内存占用时间PMT、RMT,计算和/>;
将、CS、/>和/>组成一维调整向量Va保存在第二训练样本集中,将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集将第二训练样本集输入至所述测试用例转换模型进行重新训练以调整推断模块的参数,其中所述第二训练样本集不同于上一次训练所述测试用例转换模型的第一训练样本集。
6.一种浏览器UI自动测试的装置,其特征在于,该装置包括:
预处理单元,基于浏览器UI元素之间的依赖关系,将采集的页面枚举、页面跳转及页面路由数据,预处理后生成路由树及多维索引;
测试用例生成单元,将采用自然语言描述的测试用例使用测试用例转换模型基于所述路由树及多维索引生成由JSON段落组成的自动化测试用例;
浏览器插件扩展单元,在所述浏览器中扩展浏览器插件Promise和selector,其中,浏览器插件Promise提供执行调用链模拟真实调用单元,浏览器插件selector实现元素查找功能;
测试单元,使用由JSON段落组成的自动化测试用例对所述浏览器UI进行自动测试,所述JSON段落中的元素使用浏览器插件Promise基于路由树对所述浏览器UI进行交互操作,所述交互操作包括用户点击、输入和导航;
测试结果监测单元,所述浏览器插件selector从所述JSON段落记录查找关键测试元素,并将所述关键测试元素在多维索引中查找被测浏览器UI的对应的真实元素,基于所述真实元素的执行状态监测所述被测浏览器UI的响应和行为,以生成自动化测试结果;
测试验证与报告生成单元:基于预期测试结果,对所述自动化测试结果进行验证,并生成测试报告。
7.根据权利要求6所述的装置,其特征在于,被测浏览器UI的响应和行为包括:页面加载时间、错误日志和内存信息,用以评估所述自动化测试结果的准确性和稳定性。
8.根据权利要求7所述的装置,其特征在于,所述测试用例生成单元的操作为:使用所述测试用例转换模型的解析模块对所述自然语言描述的测试用例进行分词得到分词结果,使用所述测试用例转换模型的推断模块对所述分词结果进行关键词识别以及补正,并推断所述关键词对应的正确的操作类型;使用所述测试用例转换模型的分析模块对所述浏览器UI进行页面分析,以所述路由树,匹配用于生成自动化测试用例的页面,并根据多维索引,为所述自动化测试用例匹配相应的函数,并基于命名实体为所述函数匹配相应的参数,从而生成可执行的自动化测试用例。
9.根据权利要求8所述的装置,其特征在于,所述测试用例转换模型是基于人工神经网络或GPT构建的。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,当所述计算机存储介质上的计算机程序被处理器执行时实现权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410015651.1A CN117539793B (zh) | 2024-01-05 | 2024-01-05 | 一种浏览器ui自动测试的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410015651.1A CN117539793B (zh) | 2024-01-05 | 2024-01-05 | 一种浏览器ui自动测试的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117539793A true CN117539793A (zh) | 2024-02-09 |
CN117539793B CN117539793B (zh) | 2024-03-26 |
Family
ID=89782633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410015651.1A Active CN117539793B (zh) | 2024-01-05 | 2024-01-05 | 一种浏览器ui自动测试的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117539793B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186465A (zh) * | 2011-12-31 | 2013-07-03 | 北京新媒传信科技有限公司 | 网页用户界面的浏览器兼容性测试方法和系统 |
CN104035863A (zh) * | 2013-03-08 | 2014-09-10 | 腾讯科技(深圳)有限公司 | 一种浏览器测试方法及装置 |
CN112416788A (zh) * | 2020-11-27 | 2021-02-26 | 中国科学院电子学研究所苏州研究院 | 一种分层规范的Web应用UI自动化测试方法 |
CN115033481A (zh) * | 2022-06-16 | 2022-09-09 | 未鲲(上海)科技服务有限公司 | 基于浏览器访问的自动化测试代码生成的方法、装置以及计算机设备 |
KR20220132458A (ko) * | 2021-03-23 | 2022-09-30 | (주)인스웨이브시스템즈 | 반응형 또는 적응형 웹 구현을 위한 사용자 인터페이스 플랫폼 통합 개발 시스템 및 방법 |
CN116795679A (zh) * | 2022-09-29 | 2023-09-22 | 中移(苏州)软件技术有限公司 | 一种Web应用测试方法、装置、电子设备及存储介质 |
-
2024
- 2024-01-05 CN CN202410015651.1A patent/CN117539793B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186465A (zh) * | 2011-12-31 | 2013-07-03 | 北京新媒传信科技有限公司 | 网页用户界面的浏览器兼容性测试方法和系统 |
CN104035863A (zh) * | 2013-03-08 | 2014-09-10 | 腾讯科技(深圳)有限公司 | 一种浏览器测试方法及装置 |
CN112416788A (zh) * | 2020-11-27 | 2021-02-26 | 中国科学院电子学研究所苏州研究院 | 一种分层规范的Web应用UI自动化测试方法 |
KR20220132458A (ko) * | 2021-03-23 | 2022-09-30 | (주)인스웨이브시스템즈 | 반응형 또는 적응형 웹 구현을 위한 사용자 인터페이스 플랫폼 통합 개발 시스템 및 방법 |
CN115033481A (zh) * | 2022-06-16 | 2022-09-09 | 未鲲(上海)科技服务有限公司 | 基于浏览器访问的自动化测试代码生成的方法、装置以及计算机设备 |
CN116795679A (zh) * | 2022-09-29 | 2023-09-22 | 中移(苏州)软件技术有限公司 | 一种Web应用测试方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117539793B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9465718B2 (en) | Filter generation for load testing managed environments | |
CN111488137B (zh) | 一种基于共同注意力表征学习的代码搜索方法 | |
Arcuri et al. | Black-box system testing of real-time embedded systems using random and search-based testing | |
US6185516B1 (en) | Automata-theoretic verification of systems | |
US9983984B2 (en) | Automated modularization of graphical user interface test cases | |
CN110705717B (zh) | 计算机执行的机器学习模型的训练方法、装置及设备 | |
CN110688288A (zh) | 基于人工智能的自动化测试方法、装置、设备及存储介质 | |
US9251045B2 (en) | Control flow error localization | |
US7844929B2 (en) | Optimizing test code generation for verification environment | |
CN109857641A (zh) | 对程序源文件进行缺陷检测的方法及装置 | |
CN109473093A (zh) | 语音识别方法、装置、计算机设备及存储介质 | |
CN116341428B (zh) | 构建参考模型的方法、芯片验证方法及系统 | |
CN112328499A (zh) | 一种测试数据生成方法、装置、设备及介质 | |
CN117539793B (zh) | 一种浏览器ui自动测试的方法、装置及存储介质 | |
CN112783513A (zh) | 一种代码风险检查方法、装置及设备 | |
CN117495544A (zh) | 一种基于沙箱的风控评估方法、系统、终端及存储介质 | |
US20030140018A1 (en) | Method of tuning a decision network and a decision tree model | |
CN115640155A (zh) | 基于语句依赖和补丁相似性的程序自动修复方法与系统 | |
Singh et al. | An investigation of the relationships between software metrics and defects | |
CN112380133B (zh) | 一种指令集模拟器利用功能库仿真的方法及装置 | |
JP2022078962A (ja) | エラーに関連するコードの行の自動識別 | |
Ibrahim et al. | Finite State Machine-Model Based Testing on Website Application | |
Gräfe et al. | Large-scale application of fault injection into pytorch models-an extension to pytorchfi for validation efficiency | |
Kobs et al. | Pollice Verso at SemEval-2024 Task 6: The Roman Empire Strikes Back | |
CN113434408B (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 |