CN113238965B - 一种接口测试脚本生成方法、系统及存储介质 - Google Patents
一种接口测试脚本生成方法、系统及存储介质 Download PDFInfo
- Publication number
- CN113238965B CN113238965B CN202110678024.2A CN202110678024A CN113238965B CN 113238965 B CN113238965 B CN 113238965B CN 202110678024 A CN202110678024 A CN 202110678024A CN 113238965 B CN113238965 B CN 113238965B
- Authority
- CN
- China
- Prior art keywords
- interface test
- interface
- information
- tested
- item
- 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
Images
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/3696—Methods or tools to render software testable
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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
本发明公开了一种接口测试脚本生成方法、系统及存储介质,方法包括:前端设备获取待测试项目的代理端口,并通过代理端口将待测试项目的HTTP请求发送至代理服务器;HTTP请求包含接口信息;代理服务器接收HTTP请求,根据代理端口的端口号确定待测试项目的项目信息,并将HTTP请求及项目信息发送至接口测试平台;接口测试平台利用HTTP请求及项目信息生成待测试项目的接口测试脚本。本发明为待测试项目分配了代理服务器的代理端口,可确保接口测试平台通过代理服务器获取待测试项目中已配置好的接口信息,进而直接利用该接口信息自动生成接口测试脚本,无需人工配置接口信息,可有效提升接口信息配置效率。
Description
技术领域
本发明涉及接口测试领域,特别涉及一种接口测试脚本生成方法、系统及存储介质。
背景技术
接口是系统间或是系统内部各子模块间的数据交互点。在网络项目的开发过程中,为确保项目内各模块间能够通过接口正常地进行数据交互,需要对各接口进行测试。
相关技术中,测试人员可以利用通用的接口测试工具生成接口测试脚本,并利用接口测试脚本对待测试项目进行接口测试,但开发人员需要手动配置用于生成接口测试脚本的接口信息,当待测试的接口数量、接口信息较多时,或是待测试项目经常出现接口信息变更时,人工配置及修改的方式将会非常繁琐,降低了开发人员的测试效率。
发明内容
本发明的目的是提供一种接口测试脚本生成方法、系统及存储介质,其中,接口测试平台可通过代理服务器直接获取待测试项目中已配置好的接口信息,进而利用该接口信息自动生成接口测试脚本,无需人工配置接口信息,能够有效提升接口信息配置效率。
为解决上述技术问题,本发明提供一种接口测试脚本生成方法,包括:
前端设备获取待测试项目的代理端口,并通过所述代理端口将所述待测试项目的HTTP请求发送至代理服务器;所述HTTP请求包含接口信息;
所述代理服务器接收所述HTTP请求,根据所述代理端口的端口号确定所述待测试项目的项目信息,并将所述HTTP请求及所述项目信息发送至接口测试平台;
所述接口测试平台利用所述HTTP请求及所述项目信息生成所述待测试项目的接口测试脚本。
可选地,在前端设备获取待测试项目的代理端口之前,还包括:
所述接口测试平台创建所述待测试项目及对应的项目信息,并将空闲的代理端口对应的端口号与所述项目信息建立对应关系,以将所述空闲的代理端口设置为所述待测试项目的代理端口。
可选地,所述将所述HTTP请求及所述项目信息发送至接口测试平台,包括:
所述代理服务器将所述项目信息及所述HTTP请求存储至所述待测试项目在请求数据库中的对应区域;
所述接口测试平台在所述请求数据库中获取所述待测试项目的HTTP请求及项目信息。
可选地,在所述接口测试平台利用所述HTTP请求及所述项目信息生成所述待测试项目的接口测试脚本之后,还包括:
所述接口测试平台利用所述接口测试脚本对所述待测试项目进行接口测试,并根据接口测试结果生成接口测试报告。
可选地,所述代理服务器为Mitmproxy代理服务器。
可选地,所述接口测试平台利用所述HTTP请求及所述项目信息生成所述待测试项目的接口测试脚本,包括:
所述接口测试平台根据所述项目信息在脚本数据库中查找所述待测试项目的接口测试脚本,并将所述HTTP请求与所述接口测试脚本进行对比,确定所述HTTP请求中的变更接口信息;
所述接口测试平台在所述脚本数据库中利用所述变更接口信息更新所述接口测试脚本。
可选地,在确定所述HTTP请求中的变更接口信息之后,还包括:
所述接口测试平台输出所述变更接口信息;
所述接口测试平台在接收到确认数据时,执行所述在所述脚本数据库中利用所述变更接口信息更新所述接口测试脚本的步骤;
所述接口测试平台在接收到修改后的变更接口信息时,利用修改后的变更接口信息执行所述在所述脚本数据库中利用所述变更接口信息更新所述接口测试脚本的步骤。
本发明还提供一种接口测试脚本生成系统,包括:前端设备、代理服务器及接口测试平台,其中,
所述前端设备,用于获取待测试项目的代理端口,并通过所述代理端口将所述待测试项目的HTTP请求发送至所述代理服务器;所述HTTP请求包含接口信息;
所述代理服务器,用于接收所述HTTP请求,并根据所述代理端口的端口号确定所述待测试项目的项目信息,最后将所述HTTP请求及所述项目信息发送至所述接口测试平台;
所述接口测试平台,用于利用所述HTTP请求及所述项目信息生成所述待测试项目的接口测试脚本。
可选地,所述接口测试平台,还用于创建所述待测试项目及对应的项目信息,并将空闲的代理端口对应的端口号与所述项目信息建立对应关系,以将所述空闲的代理端口设置为所述待测试项目的代理端口。
本发明还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的接口测试脚本生成方法。
本发明提供一种接口测试脚本生成方法,包括:前端设备获取待测试项目的代理端口,并通过所述代理端口将所述待测试项目的HTTP请求发送至代理服务器;所述HTTP请求包含接口信息;所述代理服务器接收所述HTTP请求,根据所述代理端口的端口号确定所述待测试项目的项目信息,并将所述HTTP请求及所述项目信息发送至接口测试平台;所述接口测试平台利用所述HTTP请求及所述项目信息生成所述待测试项目的接口测试脚本。
可见,本发明中的接口测试平台可通过代理服务器直接向前端设备获取待测试项目中的HTTP请求,并利用HTTP请求进行接口测试脚本生成,由于HTTP请求中包含了接口信息,换而言之,本发明中的接口测试平台可直接利用待测试项目中已配置好的接口信息自动生成接口测试脚本,无需人工配置接口信息,能够有效避免相关技术中配置繁琐、测试效率低的问题,提升接口信息配置效率及测试效率;同时,本发明为待测试项目配置了对应的代理端口,代理服务器可通过代理端口的端口号确定HTTP请求所对应的项目信息,进而可确保接口测试平台能够依照项目信息为对应的待测试项目生成接口测试脚本,能够有效提升接口测试脚本的管理效率。本发明还提供一种接口测试脚本生成系统及存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种接口测试脚本生成方法的流程图;
图2a为本发明实施例所提供的一种接口测试脚本生成系统的结构框图;
图2b为本发明实施例所提供的另一种接口测试脚本生成系统的结构框图;
图2c为本发明实施例所提供的又一种接口测试脚本生成系统的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,测试人员可以利用通用的接口测试工具生成接口测试脚本,并利用接口测试脚本对待测试项目进行接口测试,但开发人员需要手动配置用于生成接口测试脚本的接口信息,当待测试的接口数量、接口信息较多时,或是待测试项目经常出现接口信息变更时,人工配置及修改的方式将会非常繁琐,降低了开发人员的测试效率。有鉴于此,本发明实施例提供一种接口测试脚本生成方法,其中,接口测试平台可通过代理服务器直接获取待测试项目中已配置好的接口信息,进而利用该接口信息自动生成接口测试脚本,无需人工配置接口信息,能够有效提升接口信息配置效率。请参考图1,图1为本发明实施例所提供的一种接口测试脚本生成方法的流程图,该方法可以包括:
S101、前端设备获取待测试项目的代理端口,并通过代理端口将待测试项目的HTTP请求发送至代理服务器;HTTP请求包含接口信息。
在本发明实施例中,前端设备指运行网络前端应用的设备。在现有的网络应用项目中,前端应用一般通过各种Web接口(网络应用接口)与后端应用(例如数据库)进行交互,换句话说,Web接口为前端应用于后端应用进行数据交互的重要通道,需要对其进行专门测试。相关技术中,测试人员可利用通用的接口测试工具(例如压力测试工具JMeter)对这些Web接口进行测试,然而测试人员需要为这些接口测试工具手动配置接口参数,当待测试接口及参数的数量较多,待测试项目中常出现接口参数调整的情况时,这种人工配置及维护方式将限制测试人员的测试效率。为了解决相关技术中的技术问题,在本发明实施例中,将为前端设备设置代理服务器,前端设备通过代理服务器发送HTTP请求,而代理服务器将会把接收到的HTTP请求发送至接口测试平台,以便接口测试平台利用HTTP请求生成接口测试脚本,这是由于在待测试项目的开发过程中,开发人员通常会为前端应用配置好接口信息,而前端设备则会利用这些接口信息生成HTTP请求,以与后端设备进行数据交互。换而言之,前端设备所发送的HTTP请求中包含有待测试项目中已完成配置的接口信息,当代理服务器将HTTP请求发送至接口测试平台时,该接口测试平台便可获取到待测试项目中已配置好的接口信息,进而便可利用这些接口信息自动生成接口测试脚本,无需进行人工配置,不仅能够提升接口测试平台维护接口信息的效率,同时也能够有效提升接口测试脚本的生成效率,进而有效提升测试人员的工作效率。
需要说明的是,本发明实施例并不限定具体的前端设备,例如可以为移动终端设备、个人电脑等。可以理解的是,前端设备通常采用浏览器运行前端应用,因此在本发明实施例中,可以运行浏览器应用的设备均可以设置为前端设备。本发明实施例并不限定具体的浏览器应用,可参考浏览器的相关技术。进一步,可以理解的是,前端设备需要配置待测试项目的代理端口后,才可通过代理服务器发送HTTP请求。本发明实施例并不限定前端设备配置代理端口的方式,可参考代理配置的相关技术。
进一步,本发明实施例并不限定具体的代理服务器,只要该代理服务器能够将HTTP请求转发至接口测试平台即可,可参考代理服务器的相关技术。在一种可能的情况中,可以选择Mitmproxy作为代理服务器,其中Mitmproxy为一个开源的交互式HTTPS代理。本发明实施例也不限定Mitmproxy代理服务器是否与接口测试平台设置于同一设备中,即Mitmproxy代理服务作为接口测试平台中的子服务。为了提升接口测试平台的功能性,可以将Mitmproxy代理服务器与接口测试平台设置于同一设备,并将Mitmproxy代理服务作为接口测试平台的子服务。进一步,可以理解的是,前端设备需要设置代理端口,以便通过代理服务器发送HTTP请求,同样可以理解的是,前端设备中的前端应用即为待测试项目。本发明实施例并不限定为待测试项目分配代理端口的方式,例如可以为待测试项目设置固定的代理端口,当然也可以为待测试项目设置空闲的代理端口。为了提升有效代理端口的利用率,并且避免多个待测试项目同时使用相同代理端口的情况,在本发明实施例中,可以为待测试项目设置空闲的代理端口。本发明实施例并不限定为待测试项目设置代理端口的时机,例如可以在接口测试平台需要生成接口测试脚本时,为待测试项目设置空闲的代理端口;当然,也可以是接口测试平台创建待测试项目时,为待测试项目设置空闲的代理端口。为了确保接口测试平台有效管理代理端口,可以在接口测试平台创建待测试项目时,便为待测试项目设置空闲的代理端口。可以理解的是,可以为待测试项目设置用于区分标识的项目信息(例如项目ID),并将项目信息与端口号建立对应关系,以将代理端口与待测试项目建立对应关系。
在一种可能的情况中,在前端设备获取待测试项目的代理端口之前,还可以包括:
步骤11:接口测试平台创建待测试项目及对应的项目信息,并将空闲的代理:端口对应的端口号与项目信息建立对应关系,以将空闲的代理端口设置为待测试项目的代理端口。
需要说明的是,本发明实施例并不限定具体的项目信息,例如可以为项目ID,也可以为项目的服务域名,也可以为该项目的端口号,当然也可以采用多种项目信息的组合。在本发明实施例中,考虑到服务域名及端口号能够有效区分各待测试项目,因此在本发明实施例中,该项目信息可以为服务域名与端口号的组合。
进一步,本发明实施例并不限定具体的接口信息,例如可以为协议名、请求方法、请求参数、接口地址等,可根据实际应用需求进行设置。本发明也不限定HTTP请求的具体形式,可根据实际应用需求进行设置。
S102、代理服务器接收HTTP请求,根据代理端口的端口号确定待测试项目的项目信息,并将HTTP请求及项目信息发送至接口测试平台。
由于端口号以与项目信息建立了对应关系,因此在本发明实施例中,代理服务器可根据端口号直接确定待检测项目的项目信息,进而可将HTTP请求及项目信息发送至接口测试平台,以便接口测试平台生成对应的接口测试脚本。
进一步,考虑到HTTP请求为生成接口测试脚本的重要数据,需要进行妥善管理,因此代理服务器也可以将项目信息及HTTP请求发送至数据库进行存储,而接口测试平台则可在数据库中查询相应的数据。
在一种可能的情况中,将HTTP请求及项目信息发送至接口测试平台,可以包括:
步骤21:代理服务器将项目信息及HTTP请求存储至待测试项目在请求数据库中的对应区域;
步骤22:接口测试平台在请求数据库中获取待测试项目的HTTP请求及项目信息。
可以理解的是,请求数据库即为存储HTTP请求及项目信息的数据库。需要说明的是,本发明实施例并不限定请求数据库具体选用的数据库类型,可根据实际应用需求进行设置。
S103、接口测试平台利用HTTP请求及项目信息生成待测试项目的接口测试脚本。
需要说明的是,本发明实施例并不限定接口测试脚本所基于的应用环境,例如该接口测试脚本可以基于Python环境中的Requests包进行生成,也可以基于其他开发环境进行生成,可根据实际应用需求进行设定。本发明实施例也不限定接口测试脚本的具体生成过程,可参考脚本生成的相关技术。
进一步,考虑到接口测试脚本为接口测试环节中的重要数据文件,为避免反复生成脚本文件,同时提升脚本文件的管理效率,接口测试平台可以使用单独的脚本数据库存储接口测试脚本。本发明实施例并不限定脚本数据库具体选用的数据库类型,可根据实际应用需求进行设定。进一步,当接口测试平台已为待测试项目生成过接口测试脚本时,若该平台再次受到该项目的HTTP请求,为避免反复生成脚本文件,此时便可以将HTTP请求与接口测试脚本进行比对,确定HTTP请求中发生变更的接口信息,进而利用变更的接口信息对接口测试脚本进行更新,从而提升对接口测试脚本的管理效率。
在一种可能的情况中,接口测试平台利用HTTP请求及项目信息生成待测试项目的接口测试脚本,可以包括:
步骤31:接口测试平台根据项目信息在脚本数据库中查找待测试项目的接口测试脚本,并将HTTP请求与接口测试脚本进行对比,确定HTTP请求中的变更接口信息;
步骤32:接口测试平台在脚本数据库中利用变更接口信息更新接口测试脚本。
可以理解的是,接口测试平台可通过字符串比对,或是正则表达式完成对HTTP请求与接口测试脚本的比对。本发明实施例并不限定字符串比对的具体方式,也不限定比对所需的正则表达式,可参考相关技术,并根据实际应用需求进行设置。
进一步,本发明实施例并不限定接口测试平台是否周期性地执行对HTTP请求与接口测试脚本的对比,若接口测试平台可确保对比的效率,即在需要使用接口测试脚本时才进行上述对比操作,仍能够保证较高的执行效率时,可不需要周期性执行对比操作;当需要提升接口测试脚本的应用效率时,也可以周期性执行对比操作,以确保脚本数据库中的接口测试脚本保持最新。在本发明实施例中,为了提升接口测试脚本的应用效率,可以周期性地执行对比操作。本发明实施例并不限定对比操作执行周期的具体数值,可根据实际应用需求进行设置。
进一步,考虑到在进行HTTP请求与接口测试脚本的比对时,可能出现比对错误,此时可将比对得到的变更接口信息输出到显示设备上,以便测试人员进行检查确认。可以理解的是,测试人员可以对输出的变更接口信息进行修改,此时接口测试平台便可利用修改后的变更接口信息对接口测试脚本进行更新。
在一种可能的情况中,在确定HTTP请求中的变更接口信息之后,还可以包括:
步骤41:接口测试平台输出变更接口信息;
步骤42:接口测试平台在接收到确认数据时,执行在脚本数据库中利用变更接口信息更新接口测试脚本的步骤;
步骤43:接口测试平台在接收到修改后的变更接口信息时,利用修改后的变更接口信息执行在脚本数据库中利用变更接口信息更新接口测试脚本的步骤。
当然,考虑到测试人员可能无法及时确定变更接口信息,可以单独设置临时脚本数据库,用于存储变更接口信息。
最后,可以理解的是,接口测试平台可利用该接口测试脚本对待测试项目进行接口测试。本发明实施例并不限定具体的接口测试过程,可参考接口测试的相关技术。
在一种可能的情况中,在接口测试平台利用HTTP请求及项目信息生成待测试项目的接口测试脚本之后,还可以包括:
步骤51:接口测试平台利用接口测试脚本对待测试项目进行接口测试,并根据接口测试结果生成接口测试报告。
基于上述实施例,本发明中的接口测试平台可通过代理服务器直接向前端设备获取待测试项目中的HTTP请求,并利用HTTP请求进行接口测试脚本生成,由于HTTP请求中包含了接口信息,换而言之,本发明中的接口测试平台可直接利用待测试项目中已配置好的接口信息自动生成接口测试脚本,无需人工配置接口信息,能够有效避免相关技术中配置繁琐、测试效率低的问题,提升接口信息配置效率及测试效率;同时,本发明为待测试项目配置了对应的代理端口,代理服务器可通过代理端口的端口号确定HTTP请求所对应的项目信息,进而可确保接口测试平台能够依照项目信息为对应的待测试项目生成接口测试脚本,能够有效提升接口测试脚本的管理效率。
下面对本发明实施例提供的接口测试脚本生成系统及存储介质进行介绍,下文描述的接口测试脚本生成系统及存储介质与上文描述的接口测试脚本生成方法可相互对应参照。
请参考图2a,图2a为本发明实施例所提供的一种接口测试脚本生成系统的结构框图,该系统可以包括:前端设备201、代理服务器202及接口测试平台203,其中,
前端设备201,用于获取待测试项目的代理端口,并通过代理端口将待测试项目的HTTP请求发送至代理服务器202;HTTP请求包含接口信息;
代理服务器202,用于接收HTTP请求,并根据代理端口的端口号确定待测试项目的项目信息,最后将HTTP请求及项目信息发送至接口测试平台203;
接口测试平台203,用于利用HTTP请求及项目信息生成待测试项目的接口测试脚本。
需要说明的是,本发明实施例并不限定代理服务器202能否与接口测试平台203设置于同一设备,可根据实际应用需求进行设置。
可选地,接口测试平台203,还用于创建待测试项目及对应的项目信息,并将空闲的代理端口对应的端口号与项目信息建立对应关系,以将空闲的代理端口设置为待测试项目的代理端口。
可选地,请参考图2b,图2b为本发明实施例所提供的另一种接口测试脚本生成系统的结构框图,该系统还可以包括:请求数据库204,其中
代理服务器202,还可以用于将项目信息及HTTP请求存储至待测试项目在请求数据库204中的对应区域;
接口测试平台203,还可以用于在请求数据库204中获取待测试项目的HTTP请求及项目信息。
请求数据库204,用于存储HTTP请求及项目信息。
可选地,接口测试平台,还可以用于利用接口测试脚本对待测试项目进行接口测试,并根据接口测试结果生成接口测试报告。
可选地,代理服务器202为Mitmproxy代理服务器。
可选地,请参考图2c,图2c为本发明实施例所提供的又一种接口测试脚本生成系统的结构框图,该系统还可以包括:脚本数据库205,其中,
接口测试平台203,还可以用于根据项目信息在脚本数据库205中查找待测试项目的接口测试脚本,并将HTTP请求与接口测试脚本进行对比,确定HTTP请求中的变更接口信息;在脚本数据库205中利用变更接口信息更新接口测试脚本;
脚本数据库205,用于存储接口测试脚本。
可选地,接口测试平台,还可以用于输出变更接口信息;在接收到确认数据时,执行在脚本数据库中利用变更接口信息更新接口测试脚本的步骤;在接收到修改后的变更接口信息时,利用修改后的变更接口信息执行在脚本数据库中利用变更接口信息更新接口测试脚本的步骤。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的接口测试脚本生成方法的步骤。
由于存储介质部分的实施例与接口测试脚本生成方法部分的实施例相互对应,因此存储介质部分的实施例请参见接口测试脚本生成方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种接口测试脚本生成方法、系统及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种接口测试脚本生成方法,其特征在于,包括:
前端设备获取待测试项目的代理端口,并通过所述代理端口将所述待测试项目的HTTP请求发送至代理服务器;所述HTTP请求包含接口信息;
所述代理服务器接收所述HTTP请求,根据所述代理端口的端口号确定所述待测试项目的项目信息,并将所述HTTP请求及所述项目信息发送至接口测试平台;所述代理服务器为Mitmproxy代理服务器;
所述接口测试平台利用所述HTTP请求及所述项目信息生成所述待测试项目的接口测试脚本;
所述将所述HTTP请求及所述项目信息发送至接口测试平台,包括:
所述代理服务器将所述项目信息及所述HTTP请求存储至所述待测试项目在请求数据库中的对应区域;
所述接口测试平台在所述请求数据库中获取所述待测试项目的HTTP请求及项目信息。
2.根据权利要求1所述的接口测试脚本生成方法,其特征在于,在前端设备获取待测试项目的代理端口之前,还包括:
所述接口测试平台创建所述待测试项目及对应的项目信息,并将空闲的代理端口对应的端口号与所述项目信息建立对应关系,以将所述空闲的代理端口设置为所述待测试项目的代理端口。
3.根据权利要求1所述的接口测试脚本生成方法,其特征在于,在所述接口测试平台利用所述HTTP请求及所述项目信息生成所述待测试项目的接口测试脚本之后,还包括:
所述接口测试平台利用所述接口测试脚本对所述待测试项目进行接口测试,并根据接口测试结果生成接口测试报告。
4.根据权利要求1至3任一项所述的接口测试脚本生成方法,其特征在于,所述接口测试平台利用所述HTTP请求及所述项目信息生成所述待测试项目的接口测试脚本,包括:
所述接口测试平台根据所述项目信息在脚本数据库中查找所述待测试项目的接口测试脚本,并将所述HTTP请求与所述接口测试脚本进行对比,确定所述HTTP请求中的变更接口信息;
所述接口测试平台在所述脚本数据库中利用所述变更接口信息更新所述接口测试脚本。
5.根据权利要求4所述的接口测试脚本生成方法,其特征在于,在确定所述HTTP请求中的变更接口信息之后,还包括:
所述接口测试平台输出所述变更接口信息;
所述接口测试平台在接收到确认数据时,执行所述在所述脚本数据库中利用所述变更接口信息更新所述接口测试脚本的步骤;
所述接口测试平台在接收到修改后的变更接口信息时,利用修改后的变更接口信息执行所述在所述脚本数据库中利用所述变更接口信息更新所述接口测试脚本的步骤。
6.一种接口测试脚本生成系统,其特征在于,包括:前端设备、代理服务器及接口测试平台,其中,
所述前端设备,用于获取待测试项目的代理端口,并通过所述代理端口将所述待测试项目的HTTP请求发送至所述代理服务器;所述HTTP请求包含接口信息;
所述代理服务器,用于接收所述HTTP请求,并根据所述代理端口的端口号确定所述待测试项目的项目信息,最后将所述HTTP请求及所述项目信息发送至所述接口测试平台;所述代理服务器为Mitmproxy代理服务器;
所述接口测试平台,用于利用所述HTTP请求及所述项目信息生成所述待测试项目的接口测试脚本;
所述代理服务器,还用于将所述项目信息及所述HTTP请求存储至所述待测试项目在请求数据库中的对应区域;
所述接口测试平台,还用于在所述请求数据库中获取所述待测试项目的HTTP请求及项目信息。
7.根据权利要求6所述的接口测试脚本生成系统,其特征在于,所述接口测试平台,还用于创建所述待测试项目及对应的项目信息,并将空闲的代理端口对应的端口号与所述项目信息建立对应关系,以将所述空闲的代理端口设置为所述待测试项目的代理端口。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至5任一项所述的接口测试脚本生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110678024.2A CN113238965B (zh) | 2021-06-18 | 2021-06-18 | 一种接口测试脚本生成方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110678024.2A CN113238965B (zh) | 2021-06-18 | 2021-06-18 | 一种接口测试脚本生成方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113238965A CN113238965A (zh) | 2021-08-10 |
CN113238965B true CN113238965B (zh) | 2023-04-07 |
Family
ID=77140456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110678024.2A Active CN113238965B (zh) | 2021-06-18 | 2021-06-18 | 一种接口测试脚本生成方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238965B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328274A (zh) * | 2022-03-07 | 2022-04-12 | 深圳开源互联网安全技术有限公司 | 测试模板生成方法、装置、计算机设备和存储介质 |
CN116016255B (zh) * | 2022-12-29 | 2023-08-15 | 天津大学 | 一种基于动态代理和智能合约的通用区块链性能评测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1657634A2 (en) * | 2004-11-12 | 2006-05-17 | Empirix Inc. | Test agent architecture |
CN112231209A (zh) * | 2020-10-10 | 2021-01-15 | 金蝶医疗软件科技有限公司 | 参数获取方法、装置、计算机设备和存储介质 |
CN112286815A (zh) * | 2020-10-30 | 2021-01-29 | 深圳壹账通智能科技有限公司 | 一种接口测试脚本的生成方法及其相关设备 |
CN112395184A (zh) * | 2019-08-19 | 2021-02-23 | 中移(苏州)软件技术有限公司 | 一种信息获取方法、设备和计算机存储介质 |
CN112463586A (zh) * | 2020-10-29 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种自动化生成应用程序接口测试用例的方法及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040199818A1 (en) * | 2003-03-31 | 2004-10-07 | Microsoft Corp. | Automated testing of web services |
US10754761B2 (en) * | 2016-11-11 | 2020-08-25 | Atlassian Pty Ltd | Systems and methods for testing source code |
CN109344071A (zh) * | 2018-10-11 | 2019-02-15 | 四川长虹电器股份有限公司 | 自动生成LoadRunner性能测试脚本的方法 |
CN111190827A (zh) * | 2019-12-30 | 2020-05-22 | 航天信息股份有限公司 | 接口自动化测试方法、装置、存储介质及电子设备 |
CN112181813A (zh) * | 2020-09-17 | 2021-01-05 | 的卢技术有限公司 | 一种接口自动化测试方法、系统和计算机可读存储介质 |
CN112817867A (zh) * | 2021-02-25 | 2021-05-18 | 平安消费金融有限公司 | 一种接口测试脚本生成方法、装置、计算机设备和介质 |
-
2021
- 2021-06-18 CN CN202110678024.2A patent/CN113238965B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1657634A2 (en) * | 2004-11-12 | 2006-05-17 | Empirix Inc. | Test agent architecture |
CN112395184A (zh) * | 2019-08-19 | 2021-02-23 | 中移(苏州)软件技术有限公司 | 一种信息获取方法、设备和计算机存储介质 |
CN112231209A (zh) * | 2020-10-10 | 2021-01-15 | 金蝶医疗软件科技有限公司 | 参数获取方法、装置、计算机设备和存储介质 |
CN112463586A (zh) * | 2020-10-29 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种自动化生成应用程序接口测试用例的方法及介质 |
CN112286815A (zh) * | 2020-10-30 | 2021-01-29 | 深圳壹账通智能科技有限公司 | 一种接口测试脚本的生成方法及其相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113238965A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442524B (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
US20240064058A1 (en) | Implementation of compliance settings by a mobile device for compliance with a configuration scenario | |
US20200117586A1 (en) | Method, device and computer program product for executing test cases | |
US10884826B2 (en) | System and method for establishing common request processing | |
US11102081B1 (en) | Quantitative network testing framework for 5G and subsequent generation networks | |
CN105159833A (zh) | 自动化测试装置及方法 | |
CN110933095A (zh) | 一种报文解析方法及装置 | |
CN113238965B (zh) | 一种接口测试脚本生成方法、系统及存储介质 | |
CN110011875B (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
CN108255708B (zh) | 测试环境中访问生产文件的方法、装置、存储介质及设备 | |
CN106339273A (zh) | 一种应用程序修复方法、终端及服务器 | |
US20170060728A1 (en) | Program Lifecycle Testing | |
CN113342560A (zh) | 一种故障处理方法、系统、电子设备及存储介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN112699034A (zh) | 虚拟登录用户构建方法、装置、设备及存储介质 | |
CN112131095B (zh) | 压力测试方法和装置 | |
CN113127335A (zh) | 一种系统测试的方法和装置 | |
CN111930625B (zh) | 基于云服务平台的日志获取方法、装置及系统 | |
CN105868058A (zh) | 跨机房测试方法及装置 | |
CN111949536A (zh) | 基于字节码技术的java应用程序测试方法及系统 | |
CN110233842A (zh) | 一种请求的校验方法和相关装置 | |
CN110825538A (zh) | 一种基于mq可自定义数据类型动态进行数据交互的方法 | |
CN115407981A (zh) | 一种基于中间件适配的前端数据mock方法及系统 | |
CN114615176B (zh) | 一种报文测试方法、装置及电子设备 | |
US10203970B2 (en) | Dynamic configuration of native functions to intercept |
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 |