CN115658496A - 可扩展的Web自动化测试方法、***、设备及存储介质 - Google Patents
可扩展的Web自动化测试方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN115658496A CN115658496A CN202211291051.5A CN202211291051A CN115658496A CN 115658496 A CN115658496 A CN 115658496A CN 202211291051 A CN202211291051 A CN 202211291051A CN 115658496 A CN115658496 A CN 115658496A
- Authority
- CN
- China
- Prior art keywords
- test
- indication
- assertion
- function code
- interface
- 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
- 238000010998 test method Methods 0.000 title claims description 21
- 238000012360 testing method Methods 0.000 claims abstract description 266
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 63
- 238000000034 method Methods 0.000 claims description 28
- 238000011056 performance test Methods 0.000 claims description 16
- 230000010354 integration Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001545 Page's trend test Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000011990 functional testing Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000002716 delivery method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010200 validation analysis Methods 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
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009661 fatigue test Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 229910052711 selenium Inorganic materials 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提出了一种可扩展的Web自动化测试方法、***、设备及存储介质。该种自动化测试方法包括:接收包括测试步骤待测试用例集的操作数据,响应于操作数据,调用playwright的指示功能,在待测试用例集中的目标测试操作处增加截图指示的函数代码和断言指示的函数代码,得到编辑后的测试用例文件;通过调用playwright的浏览器执行包括在目标测试操作处执行截图指示的函数代码和断言指示的函数代码的测试用例文件执行测试生成测试报告,测试报告的访问接口对应于特定hashID或默认hashID作为唯一标识。本发明提出的技术方案在提高自动化测试测试效率和可靠性的同时,可以针对测试场景需求生成对应的可执行测试用例集,使得测试服务可以进行业务测试和/或功能测试的扩展。
Description
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种可扩展的Web自动化测试方法、***、设备及存储介质。
背景技术
目前在Web测试领域,UI层的自动化测试工具比较多,比较主流的是RobotFramework、Selenium、Katalon Studio等,不同的测试工具有自身的特点和适用范围,但是现有的测试工具对Web测试不全面,没有一种工具能满足实际生产中对产品测试的全部需求,例如当无法同时满足对UI、功能流程、性能采集等测试要求,在验证自动化测试的实际结果时,通常仅仅验证和比较界面上的显示信息,没有验证和比较其他方面的信息,如邮件下载到的资源正确性等,对于失败的场景不便复现和追溯。
当针对不同的***需要特定的测试验证需求时,现有的Web测试也很难进行扩展对于测试验证需求比较复杂或者多元的场景下无法适用,降低了Web自动化测试业务测试功能测试的可扩展性及测试效率和可靠性。
发明内容
针对现有技术中的缺陷,本申请提出了一种可扩展的Web自动化测试方法、***、设备及存储介质,实现适用于多种测试需求、测试场景的Web自动化测试服方案。
为实现上述目的,本发明采用下述技术方案:
本申请的第一方面提供了一种可扩展的Web自动化测试方法,具体包括:
接收用户对Web应用的待测试用例集的操作数据,测试用例集记录用户对Web应用的各测试步骤的操作数据;
响应于操作数据,调用playwright的指示功能,在待测试用例集中的目标测试操作处增加截图指示的函数代码和断言指示的函数代码,得到编辑后的测试用例文件;
其中,断言指示包括以下至少一项:元素断言指示;
截图指示包括以下至少一项:控件指示、图片指示、文本指示;
通过调用playwright的浏览器执行编辑后的测试用例文件,生成执行结果,其中,执行编辑后的测试用例文件时,在目标测试操作处执行截图指示的函数代码和断言指示的函数代码;
基于容器方案实现Web自动化测试的持续集成和持续交付,根据执行结果生成测试报告,测试报告的访问接口对应于特定hashID或默认hashID作为唯一标识。
于上述第一方面的一种可能实现方式中,增加断言指示的函数代码,在目标测试操作处执行断言指示的函数代码包括:
调用playwright框架实现对元素断言指示和路径地址断言指示的操作和访问;
将将元素断言指示转换为成XML文件,调用XML文件的关键元素进行定位后,在目标测试操作处执行断言指示的函数代码;
在执行结果中是否存在指定的元素信息的情况下,将元素信息对应的元素值与预期值进行对比,获取执行结果。
于上述第一方面的一种可能实现方式中,增加截图指示的函数代码,在目标测试操作处执行截图指示的函数代码包括:
调用screenshot方法截取待比对的运行界面的快照和/或参考界面的快照;
将截取的待比对的运行界面与参考界面传输至图片快照接口进行对比,计算待比对的运行界面与参考界面的差异信息并显示,获取执行结果;
其中,差异信息包括控件和/或图片和/或文本的差异像素值;
其中,参考界面包括正在运行的界面和/或预设保存的界面。
于上述第一方面的一种可能实现方式中,前述的Web自动化测试方法还包括:
在目标测试操作处增加屏幕录制指令;
响应于屏幕录制指令,执行录屏功能,记录页面测试的全流程;
在页面测试失败的情况下,重现测试流程。
于上述第一方面的一种可能实现方式中,前述的Web自动化测试方法还包括:
在目标测试操作处增加文件资源验证的函数代码,响应于文件资源验证的请求,获取文件资源的下载链接;
执行文件资源的下载,生成文件资源对应的待验证MD5值;
将待验证MD5值与标准MD5值进行对比,获取执行结果;
其中,标准MD5值为审核无误且持久化存储的标准文件对应的标准MD5值。
于上述第一方面的一种可能实现方式中,前述的Web自动化测试方法还包括:
在目标测试操作处增加页面性能测试的函数代码;
基于Lighthouse响应于性能测试,获取性能测试报告的接口传入待测试的地址,获取执行结果。
于上述第一方面的一种可能实现方式中,根据执行结果生成测试报告包括:
基于容器方案实现Web自动化测试的持续集成和持续交付方法,选取自动化集成工具创建自动化测试任务,用于测试部署成功后的功能测试和/或业务测试,生成测试报告;
在生成的测试报告的查询需求包括部分执行结果的情况下,通过自定义参数的设定构建包括特定字段的特定hashID;
在生成的测试报告的查询需求包括部全部执行结果的情况下,构建默认hashID;
通过特定hashID或默认hashID作为公开访问的接口查看测试报告,测试报告包括部分执行结果或全部执行结果。
本申请的第二方面提供了一种可扩展的Web自动化测试***,执行如前述的Web自动化测试方法,具体包括:
接收单元,用于接收用户对Web应用的待测试用例集的操作数据,测试用例集记录用户对Web应用的各测试步骤的操作数据;
响应单元,用于响应于操作数据,调用playwright的指示功能,在待测试用例集中的目标测试操作处增加截图指示的函数代码和断言指示的函数代码,得到编辑后的测试用例文件;其中,断言指示包括以下至少一项:元素断言指示;截图指示包括以下至少一项:控件指示、图片指示、文本指示;
执行单元,用于通过调用playwright的浏览器执行编辑后的测试用例文件,生成执行结果,其中,执行编辑后的测试用例文件时,在目标测试操作处执行截图指示的函数代码和断言指示的函数代码;
测试报告生成单元,用于基于容器方案实现Web自动化测试的持续集成和持续交付,根据执行结果生成测试报告,测试报告的访问接口对应于特定hashID或默认hashID作为唯一标识。
本申请的第三方面提供了一种可扩展的Web自动化测试设备,执行如前述的Web自动化测试方法,具体包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如前述的可扩展的Web自动化测试方法。
本申请的第四方面提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前的可扩展的Web自动化测试方法。
通过本申请提出的技术方案,至少具备以下有益技术效果:
1.本申请提供一种可扩展Web自动化测试方法,可以包括***、操作页面和断言、屏幕录制、截图对比、性能采集、验证下载资源内容、测试报告、持续集成,能够实现***的Web自动化测试同时,提高测试效率和可靠性。
2.基于该架构下的Web自动化测试方案也可以支持多项目使用,只需要在对应的测试服务中根据对应的测试场景需求生成对应的可执行的测试用例,使得测试服务在此架构下进行相应的扩展。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1根据本申请的实施例,示出了一种可扩展的Web自动化测试方法的流程示意图;
图2根据本申请的实施例,示出了一种包括屏幕录制的Web自动化测试流程示意图;
图3根据本申请的实施例,示出了一种包括文件资源验证的Web自动化测试流程示意图;
图4根据本申请的实施例,示出了一种包括页面性能测试的Web自动化测试流程示意图;
图5根据本申请的实施例,示出了一种可扩展Web自动化测试***;
图6根据本申请的实施例,示出了一种电子设备的结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少区域地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
针对现有技术存在的上述问题。在本发明提供的一些实施例中,图1示出了可扩展的Web自动化测试方法的流程示意图。如图1所示,上述可扩展的Web自动化测试方法可以包括:
步骤100:接收用户对Web应用的待测试用例集的操作数据,测试用例集记录用户对Web应用的各测试步骤的操作数据。可以理解的是,在Web自动化测试中通过统一测试用例编写的规范,提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性、合理性。
步骤200:响应于操作数据,调用playwright的指示功能,在待测试用例集中的目标测试操作处增加截图指示的函数代码和断言指示的函数代码,得到编辑后的测试用例文件。可以理解的是,Web页面可以在自动化测试中包括:text:用于获取标签对之间的信息;title:用于获取当前页面的标题;current_url:用于获取当前页面的网址;get_attribute:获取元素的某个属性等元素断言指示及截图指示等,通过断言指示和截图指示是将实际结果与预期结果进行比较的过程,通过playwright框架实现通过playwright框架中增加截图指示和断言指示实现功能流程正确性的验证。
其中,断言指示包括以下至少一项:元素断言指示;截图指示包括以下至少一项:控件指示、图片指示、文本指示。
步骤300:通过调用playwright的浏览器执行编辑后的测试用例文件,生成执行结果,其中,执行编辑后的测试用例文件时,在目标测试操作处执行截图指示的函数代码和断言指示的函数代码。可以理解的是,通过在执行测试时,增加的断言指示和截图指示的函数代码通过程序运行到用户在函数代码中输入的截图指示及断言指示,使得程序运行在增加的函数代码中执行测试,运行后实现断言结果和验证结果的输出。
步骤400:用于基于容器方案实现Web自动化测试的持续集成和持续交付,根据执行结果生成测试报告,测试报告的访问接口对应于特定hashID或默认hashID作为唯一标识。可以理解的是,每一次的测试执行都将带上此次持续交付执行的hash ID,然后执行结果生成的测试报告服务根据hash ID来获取对应的测试报告,对应任一测试报告对应于基于hash ID作为唯一标识的公开访问的接口,用于查看测试报告。
于上述步骤300中增加断言指示的函数代码,在目标测试操作处执行断言指示的函数代码包括:
调用playwright框架实现对元素断言指示和路径地址断言指示的操作和访问;
将将元素断言指示转换为成XML文件,调用XML文件的关键元素进行定位后,在目标测试操作处执行断言指示的函数代码;
在执行结果中是否存在指定的元素信息的情况下,将元素信息对应的元素值与预期值进行对比,获取执行结果。
可以理解的是,在playwright中可以直接通过页面文本字符来选择对应元素,通过playwright框架获取对待处理文本信息包括URL访问和元素操作,将元素定位信息抽离成XML文件,定位时调用XML文件里的相关元素,或者对XML文件的进行截取处理等包括XPath使用路径表达式来选取XML文档中的节点或者节点集,直接调用XML文件里的相关元素,获取断言的关键元素生成对应的测试场景,然后对页面元素进行点击、滑动等操作,对操作反馈结果进行断言,对应地在字符串中,两个对象的比较主要是通过:is,in,==等方式断言页面元素的字符串的元素值是否达到期望值。
于上述步骤300中,增加截图指示的函数代码,在目标测试操作处执行截图指示的函数代码包括:
调用screenshot方法截取待比对的运行界面的快照和/或参考界面的快照;
将截取的待比对的运行界面与参考界面传输至图片快照接口进行对比,计算待比对的运行界面与参考界面的差异信息并显示,获取执行结果;
其中,差异信息包括控件和/或图片和/或文本的差异像素值;
其中,参考界面包括正在运行的界面和/或预设保存的界面。
可以理解的是,调用screenshot方法截取快照,快照包括行界面的快照的待测试界面的快照1、作为参考界面的快照2,将快照1和快照2传给图片快照接口,根据接口返回快照1与快照2的对比结果,根据对比结果包括的差异信息判断是否满足预期结果;或调用screenshot方法截取快照,快照包括行界面的快照的待测试界面的快照1’,同时调取本地预设保存的界面快照2’,根据对比结果包括的差异信息判断是否满足预期结果。
于本申请的一些实施例中,图片快照接口可以基于pixelmatch实现,pixelmatch是一个像素级的图像对比库,基于该库封装一个获取diff图的接口。通过对应的参数设定设计该接口为接收两张尺寸相同的图片,然后通过pixelmatch的像素对比算法得出快照1(1’)和快照2(2’)的差异率,以及获取差异信息,根据差异信息生成一张包括差异信息的差异记录图片保存在内存中以便后续根据差异记录图片生成相应的测试报告。
于本申请的一些实施例中,通过截图指示获取的快照可以用于验证页面UI样式、图片、文字的正确性等,本领域技术人员也可以实际需求选择合适的业务流程进行验证。
例如地,当项目上线后,通过截图指示的自动化验证我们将截取项目中的所有页面的快照,以此定为唯一参照值,后续有需求迭代更新后,我们再将迭代后的项目页面的截图与之前保存的唯一参照值一并通过快照接口获取到这两次快照的差异,从而快速定位该次迭代修改或影响的具体信息。
于本申请的一些实施例中,图2示出了一种包括屏幕录制的Web自动化测试流程示意图。如图2所示,上述可扩展的Web自动化测试方法还可以包括:
在目标测试操作处增加屏幕录制指令;
响应于屏幕录制指令,执行录屏功能,记录页面测试的全流程;
在页面测试失败的情况下,重现测试流程。
可以理解的是,使用playwright的add_script_tag方法或playwright evaulate增加屏幕录制指令,执行录屏JS文件,通过此步骤能记录页面测试全流程,实现在自动化测试执行失败时,可以通过录屏保存的文件复现操作路径,并追踪测试失败的原因。
于本申请的一些实施例中,图3示出了一种包括文件资源验证的Web自动化测试流程示意图。如图3所示,上述可扩展的Web自动化测试方法还可以包括:
在目标测试操作处增加文件资源验证的函数代码,响应于文件资源验证的请求,获取文件资源的下载链接;
执行文件资源的下载,生成文件资源对应的待验证MD5值;
将待验证MD5值与标准MD5值进行对比,获取执行结果;
其中,标准MD5值为审核无误且持久化存储的标准文件对应的标准MD5值。
可以理解的是,文件资源的下载的自动化测试的流程中可以通过文件资源验证的函数代码模拟操作元素填写表单触发邮件发送,通过邮件服务API查找相关邮件,调用soup库处理邮件API返回结果获取文件资源的下载链接,若资源文件相关的发生变动,通过相应的文件资源下载链接获取邮件中的文件并保存变动后文件的MD5值,若同一个资源获取到MD5和标准MD5值一致,则可判定为新获取的文件资源正确,反之文件资源则不正确,获取测试结果并发送至测试报告接口。
于本申请的一些实施例中,首次下载文件资源时可以通过人工确保下载的文件内容正确并持久化存储标准文件的MD5值作为标准MD5值,用于文件资源验证的参考值。
于本申请的一些实施例中,邮件服务基于开源方案mailDev实现,mailDev提供了一个SMTP服务用于接收邮件和一个邮件客户端,需要将测试邮件集成与代码的测试环境中,对应的测试用例集执行时函数代码将发送到对应的邮件客户端,然后测试用例集通过获取文件资源下载链接获取到对应的邮件内容即为文件资源。例如,邮件下载文件相关代码后续迭代,可能会影响邮件中获取到的文件资源的正确性,所以需要对全部已有文件资源做自动化测试来验证资源的正确性。
于本申请的一些实施例中,图4示出了一种包括页面性能测试的Web自动化测试流程示意图。如图4所示,上述可扩展的Web自动化测试方法还可以包括:
在目标测试操作处增加页面性能测试的函数代码;
基于Lighthouse响应于性能测试,获取性能测试报告的接口传入待测试的地址,获取执行结果。
可以理解的是,性能测试用例可以分为预期目标用户测试、用户并发测试、疲劳强度与大数据量测试、网络性能测试、服务器性能测试五大部分,例如地通过网络性能测试实现准确展示带宽,延迟,负载和端口的变化是如何影响用户的响应时间的;通过疲劳测试测试在***稳定运行的情况下,以一定的负载压力来长时间运行***的测试等。
于本申请的一些实施例中,根据执行结果生成测试报告包括:选取自动化集成工具创建自动化测试任务,用于测试部署成功后的功能测试和/或业务测试,生成测试报告;在生成的测试报告的查询需求包括部分执行结果的情况下,通过自定义参数的设定构建包括特定字段的特定hashID;在生成的测试报告的查询需求包括部全部执行结果的情况下,构建默认hashID;通过特定hashID或默认hashID作为公开访问的接口查看测试报告,测试报告包括部分执行结果或全部执行结果。
可以理解的是,自动化测试任务对应的配置文件实现对应的流程,每个步骤的执行都可以是手动也可以是自动,例如地,如何判断当前序的某个步骤成功时自动执行下一步,关键在于触发不同仓库的任务执行,需要构造一个专门用于执行这些构建的runner机器,runner机器需要获取到目标机器的公钥,将公钥写入权限文件中,进而访问到部署了各个测试服务的机器;具体地,runner可以使用docker容器部署,用于隔离不同的运行单元,自动化测试任务对应的配置文件中需要说明此次构建需要执行的任务,runner在读取到这个配置文件后,去执行配置文件上的任务,执行完成后将执行结果返回到pipeline中,即运行相应的shell命令去触发该项目的能测试和/或业务测试,每一次的测试任务都将带上此次持续支付执行的hash ID,然后通过开发的测试报告服务根据hash ID来获取对应的测试报告。
可以理解的是,本申请中涉及的业务测试和/或功能测试默认生成测试报告,全部展示,对于任意一项的业务测试和/或功能测试都会生成对应的测试报告,比如快照对比测试报告,邮件测试报告,然后通过报告服务将这些报告进行收集,每一次的测试任务都是通过CICD去运行的,因此每一次的构建流程都有特定hashID或默认hashID作为每一份报告的唯一标识,测试报告提供一个公开访问的接口,只要通过hashID就能获取到对应的测试报告。
具体地,当一次测试任务执行完成后,默认hsahID的生成可以实现所有的业务测试和/或功能测试通过对应的公开访问接口访问;具体地,当用户希望查看快照和文件资源的测试报告,而忽略性能测试报告的情况下,通过访问xx.xx.xx/report?hashId=xxx&content=snapshot,email的特定hashID够得到对应测试报告,报告服务将不局限于某一个项目,只要对应的项目使用的不同测试接口生成测试报告后,都可以基于报告服务访问对应的测试报告。
可以理解的是,在完成持续集成的单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库,为了实现高效的持续交付流程,务必要确保持续集成已内置于开发管道。持续交付的目标是拥有一个可随时部署到生产环境的代码库。持续集成和持续交付方法具体可以包括:制作应用容器化所需要的镜像模板;使用自动化集成工具创建持续集成的任务,包含代码的编译、打包、测试及通过镜像模板构建镜像;使用自动化集成工具创建持续部署的任务;使用自动化集成工具创建自动化测试任务,用于测试部署成功后的新环境的功能及业务测试。
当查阅过测试报告符合预期后再执行对应的CI job去部署到测试环境,通过定义的各个任务进行工作流的制定,完成适配自己开发模式的开发、测试、部署、发布流程的定义,直至测试通过即可部署至正式环境。通过将流程线上化,使用CI/CD来管理各环节的交付内容,减少了一定的沟通成本,并且使用该流程后,自动化测试的相关用例也得到了相应的维护,以及研发也能够自行执行对应的自动化测试任务,不用再依赖QE。
于本申请的一些实施例中,图5提供了一种可扩展Web自动化测试的结构示意图,应用于前述实施例提供的可扩展Web自动化测试方法中。具体地如图5所示,该种可扩展Web自动化测试***可以包括:
接收单元001,用于接收用户对Web应用的待测试用例集的操作数据,测试用例集记录用户对Web应用的各测试步骤的操作数据;
响应单元002,用于响应于操作数据,调用playwright的指示功能,在待测试用例集中的目标测试操作处增加截图指示的函数代码和断言指示的函数代码,得到编辑后的测试用例文件;其中,断言指示包括以下至少一项:元素断言指示;截图指示包括以下至少一项:控件指示、图片指示、文本指示;
执行单元003,用于通过调用playwright的浏览器执行编辑后的测试用例文件,生成执行结果,其中,执行编辑后的测试用例文件时,在目标测试操作处执行截图指示的函数代码和断言指示的函数代码;
测试报告生成单元004,根据执行结果生成测试报告,测试报告的访问接口对应于特定hashID或默认hashID作为唯一标识。
可以理解的是,上述功能模块中接收单元001至测试报告生成单元004所实现的功能,与前述步骤100至步骤400所执行的操作一一对应,在此不做赘述。
可以理解的是,本发明技术方案的各个方面可以实现为***、方法或程序产品。因此,本发明技术方案的各个方面可以具体实现为以下形式,即完全的硬件实施方法、完全的软件实施方法(包括固件、微代码等),或硬件和软件方面结合的实施方法,这里可以统称为“电路”、“模块”或“平台”。
本领域的技术人员应该明白,上述本发明的各单元或各模块或各步骤可以用通用的计算设备来实现,它们可以集中在单个的计算设备上,或者分布在多个计算设备所组成的网络上,可选地,它们可以用计算设备可执行的程序代码来实现,从而,可以将它们存储在存储介质中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。
图6根据本发明的一些实施例,示出了一种电子设备的结构示意图,该种电子设备用于实现前述实施例中可扩展的Web自动化测试方法的实现。下面参照图6来详细描述根据本实施例中的实施方法实施的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明技术方案任何实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组建可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本实施例中上述可扩展Web自动化测试***中各个功能模块的实现。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取单元(RAM)6201和/或高速缓存存储单元6202,可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作***、一个或多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现
总线630可以表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图像加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
音视频信号同步处理设备600也可以与一个或多个外部设备700例如键盘、指向设备、蓝牙设备等通信,还可以与一个或者多个使得用户与该电子设备600交互的设备通信,和/或与使得该电子设备能与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其他模块通信。应当明白,尽管图6中未示出,可以结合电子设备600使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储平台等。
在本发明的一些实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时能够实现上述公开中显示屏幕控制***中的各个功能模块的实现。
尽管本实施例未详尽地列举其他具体的实施方式,但在一些可能的实施方式中,本发明技术方案说明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本发明技术方案中图像拼接方法区域中描述的根据本发明技术方案各种实施例中实施方式的步骤。
计算机可读存储介质可以包括在基带中或者作为载波一区域传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明技术方案操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、区域地在用户设备上执行、作为一个独立的软件包执行、区域在用户计算设备上区域在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,通过本发明提供的技术方案,可以包括***、操作页面和断言、屏幕录制、截图对比、性能采集、验证下载资源内容、测试报告、持续集成,能够实现***的Web自动化测试同时,提高测试效率和可靠性;基于该架构下的Web自动化测试方案也可以支持多项目使用,只需要在对应的测试服务中根据对应的测试场景需求生成对应的可执行的测试用例,使得测试服务在此架构下进行相应的扩展。
上述描述仅是对本发明技术方案较佳实施例的描述,并非对本发明技术方案范围的任何限定,本发明技术方案领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (10)
1.一种可扩展的Web自动化测试方法,其特征在于,所述的方法包括:
接收用户对Web应用的待测试用例集的操作数据,所述测试用例集记录用户对所述Web应用的各测试步骤的操作数据;
响应于所述操作数据,调用playwright的指示功能,在所述待测试用例集中的目标测试操作处增加截图指示的函数代码和断言指示的函数代码,得到编辑后的测试用例文件;
其中,所述断言指示包括以下至少一项:元素断言指示;
所述截图指示包括以下至少一项:控件指示、图片指示、文本指示;
通过调用playwright的浏览器执行所述编辑后的测试用例文件,生成执行结果;
其中,执行所述编辑后的测试用例文件时,在所述目标测试操作处执行所述截图指示的函数代码和所述断言指示的函数代码;
根据所述执行结果生成测试报告,所述测试报告的访问接口对应于特定hashID或默认hashID作为唯一标识。
2.根据权利要求1所述的一种可扩展的Web自动化测试方法,其特征在于,增加所述断言指示的函数代码,在所述目标测试操作处执行所述断言指示的函数代码包括:
调用playwright框架实现对所述元素断言指示和所述路径地址断言指示的操作和访问;
将所述将元素断言指示转换为成XML文件,调用所述XML文件的关键元素进行定位后,在所述目标测试操作处执行所述断言指示的函数代码;
在所述执行结果中是否存在指定的元素信息的情况下,将所述元素信息对应的元素值与预期值进行对比,获取所述执行结果。
3.根据权利要求1所述的一种可扩展的Web自动化测试方法,其特征在于,增加截图指示的函数代码,在所述目标测试操作处执行所述截图指示的函数代码包括:
调用screenshot方法截取待比对的运行界面的快照和/或参考界面的快照;
将截取的待比对的运行界面与所述参考界面传输至图片快照接口进行对比,计算所述待比对的运行界面与所述参考界面的差异信息并显示,获取所述执行结果;
其中,所述差异信息包括控件和/或图片和/或文本的差异像素值;
其中,所述参考界面包括正在运行的界面和/或预设保存的界面。
4.根据权利要求1所述的一种可扩展的Web自动化测试方法,其特征在于,所述的方法还包括:
在所述目标测试操作处增加屏幕录制指令;
响应于所述屏幕录制指令,执行录屏功能,记录页面测试的全流程;
在所述页面测试失败的情况下,重现测试流程。
5.根据权利要求1所述的一种可扩展的Web自动化测试方法,其特征在于,所述的方法还包括:
在所述目标测试操作处增加文件资源验证的函数代码,响应于所述文件资源验证的请求,获取文件资源的下载链接;
执行所述文件资源的下载,生成所述文件资源对应的待验证MD5值;
将所述待验证MD5值与标准MD5值进行对比,获取所述执行结果;
其中,所述标准MD5值为审核无误且持久化存储的标准文件对应的标准MD5值。
6.根据权利要求1所述的一种可扩展的Web自动化测试方法,其特征在于,所述的方法还包括:
在所述目标测试操作处增加页面性能测试的函数代码;
基于Lighthouse响应于性能测试,获取性能测试报告的接口传入待测试的地址,获取所述执行结果。
7.根据权利要求1-6任一所述的一种可扩展的Web自动化测试方法,其特征在于,根据所述执行结果生成所述测试报告包括:
选取自动化集成工具创建自动化测试任务,用于测试部署成功后的功能测试和/或业务测试,生成所述测试报告;
在生成的所述测试报告的查询需求包括部分所述执行结果的情况下,通过自定义参数的设定构建包括特定字段的特定hashID;
在生成的所述测试报告的查询需求包括部全部所述执行结果的情况下,构建默认hashID;
通过所述特定hashID或默认hashID作为公开访问的接口查看所述测试报告,所述测试报告包括部分执行结果或全部执行结果。
8.一种可扩展的Web自动化测试***,执行如权利要求1-7任一所述的Web自动化测试方法,其特征在于,所述的***包括:
接收单元,用于接收用户对Web应用的待测试用例集的操作数据,所述测试用例集记录用户对所述Web应用的各测试步骤的操作数据;
响应单元,用于响应于所述操作数据,调用playwright的指示功能,在所述待测试用例集中的目标测试操作处增加截图指示的函数代码和断言指示的函数代码,得到编辑后的测试用例文件;其中,所述断言指示包括以下至少一项:元素断言指示;所述截图指示包括以下至少一项:控件指示、图片指示、文本指示;
执行单元,用于通过调用playwright的浏览器执行所述编辑后的测试用例文件,生成执行结果,其中,执行所述编辑后的测试用例文件时,在所述目标测试操作处执行所述截图指示的函数代码和所述断言指示的函数代码;
测试报告生成单元,根据所述执行结果生成测试报告,所述测试报告的访问接口对应于特定hashID或默认hashID作为唯一标识。
9.一种可扩展的Web自动化测试设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7中任一项所述的可扩展的Web自动化测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的可扩展的Web自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211291051.5A CN115658496A (zh) | 2022-10-21 | 2022-10-21 | 可扩展的Web自动化测试方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211291051.5A CN115658496A (zh) | 2022-10-21 | 2022-10-21 | 可扩展的Web自动化测试方法、***、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658496A true CN115658496A (zh) | 2023-01-31 |
Family
ID=84988493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211291051.5A Pending CN115658496A (zh) | 2022-10-21 | 2022-10-21 | 可扩展的Web自动化测试方法、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658496A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116414699A (zh) * | 2023-03-13 | 2023-07-11 | 深圳华锐分布式技术股份有限公司 | 运营运维测试方法、装置、设备及介质 |
CN116932414A (zh) * | 2023-09-14 | 2023-10-24 | 深圳市智慧城市科技发展集团有限公司 | 界面测试用例的生成方法、设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070277158A1 (en) * | 2006-02-24 | 2007-11-29 | International Business Machines Corporation | Method and apparatus for testing of business processes for Web services |
US8239820B1 (en) * | 2005-07-18 | 2012-08-07 | Progress Software Corporation | Compliance method and system for XML-based applications |
CN109144856A (zh) * | 2018-07-27 | 2019-01-04 | 北京皮尔布莱尼软件有限公司 | 一种ui自动化测试方法、计算设备及存储介质 |
CN112988605A (zh) * | 2021-05-10 | 2021-06-18 | 云账户技术(天津)有限公司 | 一种实现web应用自动化测试的方法及装置 |
CN114281680A (zh) * | 2021-12-03 | 2022-04-05 | 苏州浪潮智能科技有限公司 | 一种web自动化测试方法及*** |
-
2022
- 2022-10-21 CN CN202211291051.5A patent/CN115658496A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239820B1 (en) * | 2005-07-18 | 2012-08-07 | Progress Software Corporation | Compliance method and system for XML-based applications |
US20070277158A1 (en) * | 2006-02-24 | 2007-11-29 | International Business Machines Corporation | Method and apparatus for testing of business processes for Web services |
CN109144856A (zh) * | 2018-07-27 | 2019-01-04 | 北京皮尔布莱尼软件有限公司 | 一种ui自动化测试方法、计算设备及存储介质 |
CN112988605A (zh) * | 2021-05-10 | 2021-06-18 | 云账户技术(天津)有限公司 | 一种实现web应用自动化测试的方法及装置 |
CN114281680A (zh) * | 2021-12-03 | 2022-04-05 | 苏州浪潮智能科技有限公司 | 一种web自动化测试方法及*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116414699A (zh) * | 2023-03-13 | 2023-07-11 | 深圳华锐分布式技术股份有限公司 | 运营运维测试方法、装置、设备及介质 |
CN116414699B (zh) * | 2023-03-13 | 2023-12-08 | 深圳华锐分布式技术股份有限公司 | 运营运维测试方法、装置、设备及介质 |
CN116932414A (zh) * | 2023-09-14 | 2023-10-24 | 深圳市智慧城市科技发展集团有限公司 | 界面测试用例的生成方法、设备及计算机可读存储介质 |
CN116932414B (zh) * | 2023-09-14 | 2024-01-05 | 深圳市智慧城市科技发展集团有限公司 | 界面测试用例的生成方法、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7643982B2 (en) | Debugging prototyped system solutions in solution builder wizard environment | |
US7617486B2 (en) | Method and system to automate software testing using sniffer side and browser side recording and a toolbar interface | |
CN108845940B (zh) | 一种企业级信息***自动化功能测试方法和*** | |
US8839107B2 (en) | Context based script generation | |
US20050229043A1 (en) | System and method for software testing | |
US20080126390A1 (en) | Efficient stress testing of a service oriented architecture based application | |
US8301720B1 (en) | Method and system to collect and communicate problem context in XML-based distributed applications | |
US20060230314A1 (en) | Automatic generation of solution deployment descriptors | |
CN115658496A (zh) | 可扩展的Web自动化测试方法、***、设备及存储介质 | |
CN110727575B (zh) | 一种信息处理方法、***、装置、以及存储介质 | |
US20140059513A1 (en) | Creation and Uploading of Archives for Software Projects to Submission Portal | |
US11449414B2 (en) | Mapping test parameter data elements during heterogeneous component-based testing in a portable automation framework in both API mode and UI mode | |
US11741002B2 (en) | Test automation systems and methods using logical identifiers | |
US11714625B2 (en) | Generating applications for versatile platform deployment | |
US20210117313A1 (en) | Language agnostic automation scripting tool | |
US8661414B2 (en) | Method and system for testing an order management system | |
JP2004362000A (ja) | ウェブアプリケーション開発支援装置、コンポーネント呼び出し監視装置、データ処理方法及びプログラム | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN117112060A (zh) | 组件库构建方法、装置、电子设备及存储介质 | |
US12013777B2 (en) | Controlling heterogeneous component-based testing in a portable automation framework with test scripts in both API mode and UI mode | |
US11269712B1 (en) | Customized categorial error handling framework for heterogeneous component-based testing in a portable automation framework | |
CN116166907B (zh) | 一种使用WebAssembly和服务页面编译技术开发Web应用的方法及装置 | |
US11734134B2 (en) | Automatically locating resources using alternative locator expressions during heterogeneous component-based testing in a portable automation framework | |
CN116244186A (zh) | 一种操作***测试管理方法、装置与计算设备 | |
US11310680B2 (en) | Reusing provisioned resources during heterogeneous component-based testing in a portable automation framework |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230131 |
|
RJ01 | Rejection of invention patent application after publication |