CN117499287A - Web测试方法、装置、存储介质及代理服务器 - Google Patents
Web测试方法、装置、存储介质及代理服务器 Download PDFInfo
- Publication number
- CN117499287A CN117499287A CN202311440386.3A CN202311440386A CN117499287A CN 117499287 A CN117499287 A CN 117499287A CN 202311440386 A CN202311440386 A CN 202311440386A CN 117499287 A CN117499287 A CN 117499287A
- Authority
- CN
- China
- Prior art keywords
- web
- corresponding relation
- request
- recording
- web request
- 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 135
- 230000004044 response Effects 0.000 claims abstract description 104
- 238000000034 method Methods 0.000 claims abstract description 23
- 239000000284 extract Substances 0.000 claims description 5
- 238000010998 test method Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 241000218691 Cupressaceae Species 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Abstract
本申请提供了一种Web测试方法、装置、存储介质及代理服务器,代理服务器在确定前端设备处于测试用例录制状态时,获取待录制测试用例对应的第一用例标识以及由前端设备发送的第一Web请求,并获取第一源服务器响应于第一Web请求返回的第一响应数据。代理服务器可以自动生成并记录第一用例标识、第一Web请求和第一响应数据之间的对应关系,以得到测试用例的接口Mock数据。在回放测试用例时,代理服务器可以在源服务器未执行对应方法步骤的情况下,向前端设备返回本服务器存储的接口Mock数据,以模拟源服务器的响应,使得前端设备能够稳定得到预期响应数据,从而可提高Web测试的稳定性与测试结果的准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种Web测试方法、装置、存储介质及代理服务器。
背景技术
随着前后端分离架构的广泛应用,前端的UI(User Interface,用户界面)自动化测试已经成为了端到端自动化测试,并且涉及后端接口测试。在进行Web端测试时,测试人员需要确定Web页面是否能够按照设计需求展示、是否能够按照预期情况跳转页面以及是否会出现报错等。然而,经发明人研究发现,现有的Web测试方法存在测试结果不准确的问题。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中测试结果不准确的技术缺陷。
第一方面,本申请实施例提供了一种Web测试方法,应用于代理服务器,所述方法包括:
确定前端设备的录制回放状态;
若所述录制回放状态为测试用例录制状态,则获取待录制测试用例对应的第一用例标识,并在接收到由所述前端设备发送的第一Web请求时,确定用于响应所述第一Web请求的第一源服务器,向所述第一源服务器转发所述第一Web请求;
接收所述第一源服务器响应于所述第一Web请求返回的第一响应数据;
生成所述第一用例标识、所述第一Web请求和所述第一响应数据之间的对应关系,并在所述代理服务器中存储所述对应关系;
若所述录制回放状态为测试用例回放状态,则在接收到由所述前端设备发送的第二Web请求时,从所述第二Web请求中提取第二用例标识,根据所述第二用例标识对各个所述对应关系进行匹配,并判断是否匹配到目标对应关系;
若匹配到所述目标对应关系,则向所述前端设备返回所述目标对应关系中的第一响应数据,以使所述前端设备基于所述目标对应关系中的第一响应数据进行Web测试。
在其中一个实施例中,所述根据所述第二用例标识对各个所述对应关系进行匹配,包括:
在各个所述对应关系中确定与所述第二用例标识对应的初始对应关系,以及从所述第二Web请求中提取回放请求参数;
针对每个所述初始对应关系,将所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数进行匹配,若匹配成功,则将该初始对应关系作为所述目标对应关系。
在其中一个实施例中,所述将所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数进行匹配,包括:
若所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数相同,则确定匹配成功,否则,确定匹配不成功。
在其中一个实施例中,所述方法还包括:
若未匹配到所述目标对应关系,则确定用于响应所述第二Web请求的第二源服务器,并向所述第二源服务器转发所述第二Web请求;
接收所述第二源服务器响应于所述第二Web请求返回的第二响应数据,并向所述前端设备转发所述第二响应数据,以使所述前端设备基于所述第二响应数据进行Web测试。
在其中一个实施例中,所述确定前端设备的录制回放状态,包括:
若接收到由所述前端设备发送的开始录制信息,则将标志位置为第一数值;
若接收到由所述前端设备发送的结束录制信息,则将所述标志位置为第二数值;
当所述标志位为所述第一数值时,确定所述录制回放状态为所述测试用例录制状态;
当所述标志位为所述第二数值时,确定所述录制回放状态为所述测试用例回放状态。
在其中一个实施例中,所述开始录制信息携带有所述第一用例标识,所述第一用例标识为所述前端设备接收用户输入信息得到的。
第二方面,本申请实施例提供了一种Web测试装置,应用于代理服务器,所述装置包括:
状态确定模块,用于确定前端设备的录制回放状态;
第一请求转发模块,用于若所述录制回放状态为测试用例录制状态,则获取待录制测试用例对应的第一用例标识,并在接收到由所述前端设备发送的第一Web请求时,确定用于响应所述第一Web请求的第一源服务器,向所述第一源服务器转发所述第一Web请求;
第一响应数据接收模块,用于接收所述第一源服务器响应于所述第一Web请求返回的第一响应数据;
对应关系生成模块,用于生成所述第一用例标识、所述第一Web请求和所述第一响应数据之间的对应关系,并在所述代理服务器中存储所述对应关系;
匹配模块,用于若所述录制回放状态为测试用例回放状态,则在接收到由所述前端设备发送的第二Web请求时,从所述第二Web请求中提取第二用例标识,根据所述第二用例标识对各个所述对应关系进行匹配,并判断是否匹配到目标对应关系;
响应数据返回模块,用于若匹配到所述目标对应关系,则向所述前端设备返回所述目标对应关系中的第一响应数据,以使所述前端设备基于所述目标对应关系中的第一响应数据进行Web测试。
在其中一个实施例中,所述匹配模块包括:
第一匹配单元,用于在各个所述对应关系中确定与所述第二用例标识对应的初始对应关系,以及从所述第二Web请求中提取回放请求参数;
第二匹配单元,用于针对每个所述初始对应关系,将所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数进行匹配,若匹配成功,则将该初始对应关系作为所述目标对应关系。
第三方面,本申请实施例提供了一种存储介质,该存储介质中存储有计算机可读指令,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述Web测试方法的步骤。
第四方面,本申请实施例提供了一种代理服务器,该代理服务器包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行上述任一实施例所述Web测试方法的步骤。
在本申请一些实施例提供的Web测试方法、装置、存储介质及代理服务器中,代理服务器在确定前端设备处于测试用例录制状态时,可以获取待录制测试用例对应的第一用例标识,并在接收到由前端设备发送的第一Web请求时,将第一Web请求转发给对应的第一源服务器,以获取第一源服务器响应于第一Web请求返回的第一响应数据。代理服务器可以自动生成并记录第一用例标识、第一Web请求和第一响应数据之间的对应关系,以得到测试用例的接口Mock数据。如此,无需人工手动记录,从而可降低测试用例的构建复杂性。
在确定前端设备处于测试用例回放状态时,代理服务器可以在源服务器未执行对应方法步骤的情况下,向前端设备返回本服务器存储的接口Mock数据,以模拟源服务器的响应,使得前端设备能够稳定得到预期响应数据,从而可降低后端接口数据返回不稳定对测试结果的影响,进而可提高Web测试的稳定性与测试结果的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为一个实施例中Web测试方法的应用环境图;
图2为一个实施例中Web测试方法的流程示意图之一;
图3为一个实施例中Web测试方法的流程示意图之二;
图4为一个实施例中Web测试装置的示意性结构框图;
图5为一个实施例中代理服务器的内部结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
正如背景技术所言,现有技术存在测试结果不准确的问题。经发明人研究发现,导致这一问题的原因在于,Web端的UI自动化测试依赖于后端稳定返回接口数据。在实际测试环境中,当前后端由不同团队搭建时,Web端测试人员通过调用由其他团队搭建的后端接口来进行测试。但是,后端接口的数据返回受其他正在进行的功能测试、后端接口的程序框架等多方因素的影响,因此,后端接口有可能出现接口服务失败或者返回数据非预期响应数据等问题。当后端接口未能返回预期响应数据时,Web测试会出现测试失败或测试结果不稳定的情况,并且这种情况并不是由Web端的代码变更而导致的,无法准确反映Web端代码的实际运行情况。
为了提高Web测试的稳定性与测试结果的准确性,以及降低编写UI自动化的同时手动记录接口数据的复杂性,本申请提供了一种Web测试方法、装置、存储介质及代理服务器。在一些示例中,本申请可以基于Cypress框架进行接口全模拟的自动化录制和回放Web测试用例。
在一个实施例中,本申请提供的Web测试方法可以应用于图1所示的应用环境中。其中,前端设备104是指能够执行待测试Web代码的设备,可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,便携式可穿戴设备可为智能手表、智能手环等。代理服务器106是指能够代理网络设备获取网络信息的服务器,可以作为前端设备104与源服务器108之间的信息中转站。源服务器108可以是网络服务提供商。当前端设备104调用后端接口时,源服务器108可执行后端接口对应的方法步骤并返回接口数据,从而为前端设备104提供网络服务。
具体地,前端设备104可以响应于用户102的操作事件调用后端接口,例如响应于用户名文本框输入事件、密码文本框输入事件、登录按钮点击事件等。在调用后端接口的情况下,前端设备104可以生成对应的Web请求并发送。代理服务器106在接收到前端设备104发送的Web请求时,可以向用于执行被调用的后端接口方法的源服务器108转发该Web请求,使得源服务器108可以响应于接收到的Web请求并返回对应的响应数据。代理服务器106在接收到源服务器108发送的响应数据时,可以将该响应数据转发给前端设备104。如此,可实现前后端的接口调用和数据传输。
在一些实施例中,本申请提供了一种Web测试方法,该方法可以应用于图1所示的代理服务器中。如图2所示,本申请提供的Web测试方法可以包括如下步骤:
S202:确定前端设备的录制回放状态。
其中,录制回放状态可用于指示前端设备处于测试用例录制状态或者测试用例回放状态。为实现自动化测试,可提前录制各个测试用例,并在需要测试Web端代码时回放各个测试用例,以通过各个测试用例自动测试Web端代码。本申请中,每个测试用例可以包括用于在前端设备上自动回放操作事件的前端自动化代码,以及用于模拟源服务器响应的接口Mock数据。
可以理解,代理服务器可以通过任意方式来确定前端设备的录制回放状态。在其中一个实施例中,确定前端设备的录制回放状态的步骤可以包括:
步骤A1:若接收到由所述前端设备发送的开始录制信息,则将标志位置为第一数值;
步骤A2:若接收到由所述前端设备发送的结束录制信息,则将所述标志位置为第二数值;
步骤A3:当所述标志位为所述第一数值时,确定所述录制回放状态为所述测试用例录制状态;
步骤A4:当所述标志位为所述第二数值时,确定所述录制回放状态为所述测试用例回放状态。
具体地,响应于开始录制操作事件,前端设备可以调用由代理服务器提供的目标接口,以通过该目标接口向代理服务器发送开始录制信息。类似地,响应于结束录制操作事件,前端设备可以调用由代理服务器提供的目标接口,以通过该目标接口向代理服务器发送结束录制信息。代理服务器在接收到前端设备发送的开始录制信息时可以将标志位的数值置为第一数值,以及在接收到前端设备发送的结束录制信息时可以将标志位的数值置为第二数值,如此,可通过标志位的数值判断前端设备的录制回放状态。
当标志位的数值为第一数值时,表明代理服务器接收到了开始录制信息,且未接收到本次录制对应的结束录制信息,因此可确定前端设备当前处于测试用例录制状态中。当标识为的数值为第二数值时,表明已开始的测试用例录制均已结束,前端设备当前处于测试用例回放状态中。可以理解,第一数值和第二数值可以依据实际情况确定,本文对此不作具体限制,只需满足第一数值与第二数值不同即可。
本示例中,代理服务器可以更新标志位的数值,使得代理服务器可以基于标志位的数值准确确定前端设备的录制回放状态,以便于依据录制回放状态准确执行后续步骤,提高Web测试结果的可靠性。
进一步地,开始录制信息的信息格式和信息内容可以通信协议、前端设备的设备参数和/或代理服务器的设备参数等实际因素确定。在一个示例中,开始录制信息可以携带有第一用例标识,该第一用例标识为前端设备接收用户输入信息得到的。如此,代理服务器在接收到开始录制信息时,可以从开始录制信息中提取得到待录制用例的第一用例标识,减少前端设备与代理服务器之间的数据交互次数,进而可提高测试效率。
S204:若所述录制回放状态为测试用例录制状态,则获取待录制测试用例对应的第一用例标识,并在接收到由所述前端设备发送的第一Web请求时,确定用于响应所述第一Web请求的第一源服务器,向所述第一源服务器转发所述第一Web请求。
其中,第一用例标识为当前待录制的测试用例的用例标识。进一步地,用例标识可用于唯一地标识每个测试用例,也即每两个测试用例对应的用例标识均不相同。第一源服务器是指用于响应第一Web请求的源服务器。在一个示例中,第一Web请求的请求头可携带有第一用例标识。
本申请中,在前端设备处于测试用例录制状态的情况下,代理服务器可以获取当前待录制测试用例的用例标识,也即获取第一用例标识,以便于通过第一用例标识确定录制数据所属的测试用例。此外,代理服务器还可以自动记录前端设备与源服务器之间的交互数据,以录制测试用例的接口Mock数据。当接收到前端设备发送的第一Web请求时,表明前端设备调用后端接口,在此情况下,代理服务器可以确定第一源服务器并向第一源服务器转发第一Web请求。在一个示例中,代理服务器可以基于DNS(Domain Name System,域名系统)解析确定第一源服务器。
S206:接收所述第一源服务器响应于所述第一Web请求返回的第一响应数据。
具体而言,在向第一源服务器转发第一Web请求后,第一源服务器可执行被调用的后端接口所对应的方法步骤并返回对应的响应数据。代理服务器可以接收由第一源服务器发送的且对应于第一Web请求的第一响应数据,进一步地,代理服务器可以向前端设备转发第一响应数据。
S208:生成所述第一用例标识、所述第一Web请求和所述第一响应数据之间的对应关系,并在所述代理服务器中存储所述对应关系。
本步骤中,在接收到第一源服务器对于第一Web请求的响应数据的情况下,代理服务器可以自动生成第一用例标识、第一Web请求和第一响应数据的对应关系,并将该对应关系存储在代理服务器中,使得代理服务器可以记录有前端设备发送的Web请求和源服务器对于该Web请求的响应数据。该Web请求和对应的响应数据可作为后端接口的接口Mock数据。
S210:若所述录制回放状态为测试用例回放状态,则在接收到由所述前端设备发送的第二Web请求时,从所述第二Web请求中提取第二用例标识,根据所述第二用例标识对各个所述对应关系进行匹配,并判断是否匹配到目标对应关系。
其中,第二用例标识为当前回放的测试用例的用例标识,关于用例标识的相关说明可参阅上述描述,本文在此不再赘述。目标对应关系可以是满足预设匹配规则的对应关系,可以理解,预设匹配规则的具体规则可以依据实际情况确定,本文对此不作具体限定,只需预设匹配规则包括用例标识匹配规则即可。
在前端设备处于测试用例回放状态时,若接收到前端设备发送的第二Web请求,则代理服务器可以从第二Web请求中提取第二用例标识,该第二用例标识可用于确定当前回放的测试用例。代理服务器可以根据第二用例标识,对存储在代理服务器上的各个对应关系进行匹配,以判断代理服务器中是否存储有源服务器对于第二Web请求的响应数据。若在各个对应关系中匹配得到目标对应关系,则表明代理服务器中存储有源服务器对于第二Web请求的响应数据,否则,表明代理服务器中未存储有源服务器对于第二Web请求的响应数据。
在其中一个实施例中,根据所述第二用例标识对各个所述对应关系进行匹配,可以包括如下步骤:
在各个所述对应关系中确定与所述第二用例标识对应的初始对应关系,以及从所述第二Web请求中提取回放请求参数;
针对每个所述初始对应关系,将所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数进行匹配,若匹配成功,则将该初始对应关系作为所述目标对应关系。
其中,初始对应关系可以是包括第二用例标识的对应关系,回放请求参数可以是第二Web请求中的请求参数,录制请求参数可以是第一Web请求中的请求参数。
具体而言,代理服务器可以从各个对应关系中,匹配出属于当前回放的测试用例的各个对应关系,以得到各个初始对应关系。在匹配得到至少一个初始对应关系的情况下,代理服务器可以将第二Web请求中的回放请求参数分别与每个初始对应关系中第一Web请求的录制请求参数进行匹配,并基于请求参数的匹配情况,尝试在各个第一初始对应关系中确定目标对应关系。如此,可以根据各个录制请求参数对回放请求参数进行参数匹配,以确保目标对应关系中的第一响应数据是第二Web请求的预期响应数据,从而可进一步提高Web测试结果的准确性。
进一步地,将回放请求参数与初始对应关系中的录制请求参数进行匹配,可用于确定回放请求参数与该录制请求参数之间的参数相似程度,以便于代理服务器可以根据参数相似程度分别判断每个初始对应关系是否为目标对应关系。
可以理解,回放请求参数与录制请求参数的具体匹配规则可依据实际情况确定。在一个示例中,将所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数进行匹配,可以包括:若所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数相同,则确定匹配成功,否则,确定匹配不成功。
在Web测试过程中,在Web端代码没有代码错误的情况下,对于同一测试用例的相同操作事件,前端设备在回放该测试用例时发送的第二Web请求与在录制该测试用例时发送的第一Web请求相同。若前端设备在同一测试用例的相同操作事件下的第二Web请求与第一Web请求有所不同,则表明Web端代码存在缺陷漏洞。
在一些情况下,Web端代码的缺陷漏洞有可能造成Web请求的请求参数发生丢失或改变。本示例中,代理服务器可以将录制请求参数与回放请求参数相同的初始对应关系作为目标对应关系。当回放请求参数与每个初始对应关系中的录制请求参数均不相同时,代理服务器将无法匹配得到目标对应关系。如此,可实现请求参数校验,进而可及时排查出请求参数错误的缺陷漏洞,以进一步提高Web测试结果的准确性。
S212:若匹配到所述目标对应关系,则向所述前端设备返回所述目标对应关系中的第一响应数据,以使所述前端设备基于所述目标对应关系中的第一响应数据进行Web测试。
本步骤中,若匹配得到目标对应关系,则表明代理服务器中存储有源服务器对于第二Web请求的响应数据。在此情况下,代理服务器可以直接向前端设备返回目标对应关系中的第一响应数据,从而可模拟源服务器的响应,使得前端设备能够稳定得到预期响应数据,而无需将第二Web请求转发至对应的源服务器。
在其中一个实施例中,本申请的Web测试方法还可以包括如下步骤:
步骤B1:若未匹配到所述目标对应关系,则确定用于响应所述第二Web请求的第二源服务器,并向所述第二源服务器转发所述第二Web请求;
步骤B2:接收所述第二源服务器响应于所述第二Web请求返回的第二响应数据,并向所述前端设备转发所述第二响应数据,以使所述前端设备基于所述第二响应数据进行Web测试。
其中,第二源服务器是指用于响应第二Web请求的源服务器。
具体而言,若未匹配得到目标对应关系,则表明代理服务器中未存储有源服务器对于第二Web请求的响应数据。在此情况下,代理服务器可以向第二源服务器转发第二Web请求,以使第二源服务器执行第二Web请求对应的方法步骤并返回第二响应数据。代理服务器可将接收到的第二响应数据转发给前端设备,以使前端设备可以基于第二响应数据进行Web测试。
本申请中,代理服务器在确定前端设备处于测试用例录制状态时,可以获取待录制测试用例对应的第一用例标识,并在接收到由前端设备发送的第一Web请求时,将第一Web请求转发给对应的第一源服务器,以获取第一源服务器响应于第一Web请求返回的第一响应数据。代理服务器可以自动生成并记录第一用例标识、第一Web请求和第一响应数据之间的对应关系,以得到测试用例的接口Mock数据。如此,无需人工手动记录,从而可降低测试用例的构建复杂性。
在确定前端设备处于测试用例回放状态时,代理服务器可以在源服务器未执行对应方法步骤的情况下,向前端设备返回本服务器存储的接口Mock数据,以模拟源服务器的响应,使得前端设备能够稳定得到预期响应数据,从而可降低后端接口数据返回不稳定对测试结果的影响,进而可提高Web测试的稳定性与测试结果的准确性。
在一些实施例中,本申请提供了一种Web测试方法,如图3所示,该方法具体可包括如下步骤:
S302:前端设备接收由用户输入的第一用例标识,其中,第一用例标识为待录制测试用例的用例标识。
S304:响应于开始录制操作事件,前端设备调用代理服务器提供的目标接口,以通过该目标接口向代理服务器发送开始录制信息;其中,开始录制信息包括第一用例标识。
S306:代理服务器在接收到开始录制信息时,将标志位的数值置为第一数值,并从开始录制信息中提取第一用例标识。
S308:响应于测试操作事件,前端设备生成第一初始Web请求以及基于Cypress框架自动生成测试用例的前端自动化代码,并在第一初始Web请求的请求头中添加第一用例标识,以得到第一Web请求。
S310:前端设备向代理服务器发送第一Web请求。
S312:代理服务器确定第一Web请求对应的第一源服务器,并将第一Web请求转发给第一源服务器。
S314:代理服务器接收第一源服务器响应于第一Web请求返回的第一响应数据,并记录第一用例标识、第一Web请求和第一响应数据之间的对应关系。
S316:响应于结束录制操作事件,前端设备调用代理服务器提供的目标接口,以通过该目标接口向代理服务器发送结束录制信息。
S318:代理服务器在接收到结束录制信息时,将标志位的数值置为第二数值。
S320:在回放测试用例时,前端设备确定第二用例标识并运行该测试用例的前端自动化代码,在生成第二初始Web请求的情况下,在第二初始Web请求的请求头中添加第二用例标识,以得到第二Web请求;其中,第二用例标识为当前回放的测试用例的用例标识。
S322:前端设备向代理服务器发送第二Web请求。
S324:代理服务器在接收到第二Web请求时,从第二Web请求中分别提取第二用例标识和回放请求参数,并根据第二用例标识和回放请求参数对各条对应关系进行匹配。具体地,本步骤的具体描述可参阅上述实施例,本文在此不再赘述。
S326:若匹配得到目标对应关系,则代理服务器向前端设备返回目标对应关系中的第一响应数据。如此,可应用测试用例录制时记录接口数据,模拟出源服务器的返回。
下面对本申请实施例提供的Web测试装置进行描述,下文描述的Web测试装置与上文描述的Web测试方法可相互对应参照。
在一个实施例中,本申请还提供了一种Web测试装置400。如图4所示,Web测试装置400可以包括:
状态确定模块410,用于确定前端设备的录制回放状态;
第一请求转发模块420,用于若所述录制回放状态为测试用例录制状态,则获取待录制测试用例对应的第一用例标识,并在接收到由所述前端设备发送的第一Web请求时,确定用于响应所述第一Web请求的第一源服务器,向所述第一源服务器转发所述第一Web请求;
第一响应数据接收模块430,用于接收所述第一源服务器响应于所述第一Web请求返回的第一响应数据;
对应关系生成模块440,用于生成所述第一用例标识、所述第一Web请求和所述第一响应数据之间的对应关系,并在所述代理服务器中存储所述对应关系;
匹配模块450,用于若所述录制回放状态为测试用例回放状态,则在接收到由所述前端设备发送的第二Web请求时,从所述第二Web请求中提取第二用例标识,根据所述第二用例标识对各个所述对应关系进行匹配,并判断是否匹配到目标对应关系;
响应数据返回模块460,用于若匹配到所述目标对应关系,则向所述前端设备返回所述目标对应关系中的第一响应数据,以使所述前端设备基于所述目标对应关系中的第一响应数据进行Web测试。
在一个实施例中,本申请的匹配模块450包括:
第一匹配单元,用于在各个所述对应关系中确定与所述第二用例标识对应的初始对应关系,以及从所述第二Web请求中提取回放请求参数;
第二匹配单元,用于针对每个所述初始对应关系,将所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数进行匹配,若匹配成功,则将该初始对应关系作为所述目标对应关系。
在一个实施例中,本申请的第二匹配单元包括参数匹配单元。该参数匹配单元用于若所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数相同,则确定匹配成功,否则,确定匹配不成功。
在一个实施例中,本申请的Web测试装置400还可以包括:
第二请求转发模块,用于若未匹配到所述目标对应关系,则确定用于响应所述第二Web请求的第二源服务器,并向所述第二源服务器转发所述第二Web请求;
第二响应数据接收模块,用于接收所述第二源服务器响应于所述第二Web请求返回的第二响应数据,并向所述前端设备转发所述第二响应数据,以使所述前端设备基于所述第二响应数据进行Web测试。
在一个实施例中,本申请的状态确定模块410包括:
开始录制标识单元,用于若接收到由所述前端设备发送的开始录制信息,则将标志位置为第一数值;
结束录制标识单元,用于若接收到由所述前端设备发送的结束录制信息,则将所述标志位置为第二数值;
第一状态确定单元,用于当所述标志位为所述第一数值时,确定所述录制回放状态为所述测试用例录制状态;
第二状态确定单元,用于当所述标志位为所述第二数值时,确定所述录制回放状态为所述测试用例回放状态。
在一个实施例中,所述开始录制信息携带有所述第一用例标识,所述第一用例标识为所述前端设备接收用户输入信息得到的。
在一个实施例中,本申请还提供了一种存储介质,该存储介质中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如任意实施例中Web测试方法的步骤。
在一个实施例中,本申请还提供了一种代理服务器,所述代理服务器中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如任意实施例中Web测试方法的步骤。
示意性地,图5为本申请实施例提供的一种代理服务器的内部结构示意图。参照图5,代理服务器900包括处理组件902,其进一步包括一个或多个处理器,以及由存储器901所代表的存储器资源,用于存储可由处理组件902的执行的指令,例如应用程序。存储器901中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件902被配置为执行指令,以执行上述任意实施例所述Web测试方法的步骤。
代理服务器900还可以包括一个电源组件903被配置为执行代理服务器900的电源管理,一个有线或无线网络接口904被配置为将代理服务器900连接到网络,和一个输入输出(I/O)接口905。
本领域技术人员可以理解,本申请示出的代理服务器的内部结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的代理服务器的限定,具体的代理服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本文中,“一”、“一个”、“所述”、“该”和“其”也可以包括复数形式,除非上下文清楚指出另外的方式。多个是指至少两个的情况,如2个、3个、5个或8个等。“和/或”包括相关所列项目的任何及所有组合。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种Web测试方法,其特征在于,应用于代理服务器,所述方法包括:
确定前端设备的录制回放状态;
若所述录制回放状态为测试用例录制状态,则获取待录制测试用例对应的第一用例标识,并在接收到由所述前端设备发送的第一Web请求时,确定用于响应所述第一Web请求的第一源服务器,向所述第一源服务器转发所述第一Web请求;
接收所述第一源服务器响应于所述第一Web请求返回的第一响应数据;
生成所述第一用例标识、所述第一Web请求和所述第一响应数据之间的对应关系,并在所述代理服务器中存储所述对应关系;
若所述录制回放状态为测试用例回放状态,则在接收到由所述前端设备发送的第二Web请求时,从所述第二Web请求中提取第二用例标识,根据所述第二用例标识对各个所述对应关系进行匹配,并判断是否匹配到目标对应关系;
若匹配到所述目标对应关系,则向所述前端设备返回所述目标对应关系中的第一响应数据,以使所述前端设备基于所述目标对应关系中的第一响应数据进行Web测试。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二用例标识对各个所述对应关系进行匹配,包括:
在各个所述对应关系中确定与所述第二用例标识对应的初始对应关系,以及从所述第二Web请求中提取回放请求参数;
针对每个所述初始对应关系,将所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数进行匹配,若匹配成功,则将该初始对应关系作为所述目标对应关系。
3.根据权利要求2所述的方法,其特征在于,所述将所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数进行匹配,包括:
若所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数相同,则确定匹配成功,否则,确定匹配不成功。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若未匹配到所述目标对应关系,则确定用于响应所述第二Web请求的第二源服务器,并向所述第二源服务器转发所述第二Web请求;
接收所述第二源服务器响应于所述第二Web请求返回的第二响应数据,并向所述前端设备转发所述第二响应数据,以使所述前端设备基于所述第二响应数据进行Web测试。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述确定前端设备的录制回放状态,包括:
若接收到由所述前端设备发送的开始录制信息,则将标志位置为第一数值;
若接收到由所述前端设备发送的结束录制信息,则将所述标志位置为第二数值;
当所述标志位为所述第一数值时,确定所述录制回放状态为所述测试用例录制状态;
当所述标志位为所述第二数值时,确定所述录制回放状态为所述测试用例回放状态。
6.根据权利要求5所述的方法,其特征在于,所述开始录制信息携带有所述第一用例标识,所述第一用例标识为所述前端设备接收用户输入信息得到的。
7.一种Web测试装置,其特征在于,应用于代理服务器,所述装置包括:
状态确定模块,用于确定前端设备的录制回放状态;
第一请求转发模块,用于若所述录制回放状态为测试用例录制状态,则获取待录制测试用例对应的第一用例标识,并在接收到由所述前端设备发送的第一Web请求时,确定用于响应所述第一Web请求的第一源服务器,向所述第一源服务器转发所述第一Web请求;
第一响应数据接收模块,用于接收所述第一源服务器响应于所述第一Web请求返回的第一响应数据;
对应关系生成模块,用于生成所述第一用例标识、所述第一Web请求和所述第一响应数据之间的对应关系,并在所述代理服务器中存储所述对应关系;
匹配模块,用于若所述录制回放状态为测试用例回放状态,则在接收到由所述前端设备发送的第二Web请求时,从所述第二Web请求中提取第二用例标识,根据所述第二用例标识对各个所述对应关系进行匹配,并判断是否匹配到目标对应关系;
响应数据返回模块,用于若匹配到所述目标对应关系,则向所述前端设备返回所述目标对应关系中的第一响应数据,以使所述前端设备基于所述目标对应关系中的第一响应数据进行Web测试。
8.根据权利要求7所述的装置,其特征在于,所述匹配模块包括:
第一匹配单元,用于在各个所述对应关系中确定与所述第二用例标识对应的初始对应关系,以及从所述第二Web请求中提取回放请求参数;
第二匹配单元,用于针对每个所述初始对应关系,将所述回放请求参数与该初始对应关系中第一Web请求的录制请求参数进行匹配,若匹配成功,则将该初始对应关系作为所述目标对应关系。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项所述Web测试方法的步骤。
10.一种代理服务器,其特征在于,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至6中任一项所述Web测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311440386.3A CN117499287A (zh) | 2023-10-31 | 2023-10-31 | Web测试方法、装置、存储介质及代理服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311440386.3A CN117499287A (zh) | 2023-10-31 | 2023-10-31 | Web测试方法、装置、存储介质及代理服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117499287A true CN117499287A (zh) | 2024-02-02 |
Family
ID=89670099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311440386.3A Pending CN117499287A (zh) | 2023-10-31 | 2023-10-31 | Web测试方法、装置、存储介质及代理服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499287A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117729253A (zh) * | 2024-02-18 | 2024-03-19 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
CN117729253B (zh) * | 2024-02-18 | 2024-05-03 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
-
2023
- 2023-10-31 CN CN202311440386.3A patent/CN117499287A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117729253A (zh) * | 2024-02-18 | 2024-03-19 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
CN117729253B (zh) * | 2024-02-18 | 2024-05-03 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8079017B2 (en) | Automated QS interface testing framework | |
CN108984389B (zh) | 一种应用程序测试方法及终端设备 | |
CN111177005A (zh) | 业务应用的测试方法、装置、服务器和存储介质 | |
CN108459850B (zh) | 生成测试脚本的方法、装置及系统 | |
CN110515854B (zh) | 应用程序异常的复现方法、装置和电子设备 | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
CN110825618A (zh) | 一种生成测试用例的方法及相关装置 | |
CN106713011B (zh) | 一种获取测试数据的方法与系统 | |
CN109657475A (zh) | 代码漏洞排查方法、装置、设备及存储介质 | |
CN111309632A (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
CN116204438A (zh) | 测试用例生成方法、自动化测试方法和相关装置 | |
CN113778897B (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN106990974B (zh) | 一种app应用更新方法、装置及电子设备 | |
CN115705190A (zh) | 依赖程度的确定方法及装置 | |
CN110838929B (zh) | 系统错误排查方法和系统错误排查装置 | |
US9374437B2 (en) | Schema validation proxy | |
CN116775493A (zh) | mock测试方法、装置、mock平台和存储介质 | |
CN117499287A (zh) | Web测试方法、装置、存储介质及代理服务器 | |
CN107797917B (zh) | 性能测试脚本生成方法及装置 | |
CN110221958B (zh) | 应用测试方法、装置、计算设备及计算机可读存储介质 | |
CN112199281A (zh) | 一种数据处理方法、装置、终端设备及可读存储介质 | |
CN112131611A (zh) | 数据正确性验证方法、装置、设备、系统及存储介质 | |
CN105988917A (zh) | 异常信息获取方法及装置 | |
CN110069416B (zh) | 一种测试数据处理方法、装置以及相关设备 | |
CN110191141B (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 |