CN112346991B - 一种接口测试脚本的生成方法及装置 - Google Patents
一种接口测试脚本的生成方法及装置 Download PDFInfo
- Publication number
- CN112346991B CN112346991B CN202011364432.2A CN202011364432A CN112346991B CN 112346991 B CN112346991 B CN 112346991B CN 202011364432 A CN202011364432 A CN 202011364432A CN 112346991 B CN112346991 B CN 112346991B
- Authority
- CN
- China
- Prior art keywords
- interface
- script
- file
- function
- interface test
- 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/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3692—Test management for test results analysis
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
本申请实施例提供了一种接口测试脚本的生成方法及装置,包括:运行持续集成脚本,以对开发代码库中接口文件进行扫描,得到接口文件的文件信息,并将文件信息传递给脚本模板,文件信息包括接口文件的标识和路径;运行脚本模板,以利用接口函数,基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,接口函数为按照接口测试工具的内置函数的规则设置的函数;根据提取的接口的特征值,生成可被接口测试工具识别的接口测试脚本。应用本申请实施例提供的技术方案,能够降低测试脚本生成的时间成本以及人力成本。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种接口测试脚本的生成方法及装置。
背景技术
RESTful是一种常见的REST(Representational State Transfer,表述性状态转移)的具体应用。RESTful基于HTTP(HyperText Transfer Protocol,超文本传输协议)协议,可使用多种格式定义,例如,使用YAML(YAML Ain't Markup Language,YAML不是标记语言)格式定义。
YAML格式实现简单,解析成本低,特别适合在脚本语言中使用。具体的,YAML格式可以用于序列化和配置文件等。因此,在开发代码中,经常使用YAML格式作为接口文件,也就是YAML文件。测试人员基于YAML文件生成相应的接口测试脚本,进而对接口进行测试。
具体的,测试人员基于YAML文件生成相应的接口测试脚本的流程包括:开发人员将YAML文件提供给测试人员,测试人员通过Postman(接口测试工具)的“导入”功能,手动将YAML文件导入Postman;由Postman对YAML文件解析,生成相应的接口测试脚本。
这种生成接口测试脚本的方式中,需要测试人员和开发人员的相互配合,若测试人员和开发人员的相互配合的某一环节出现差错,如开发人员不提供该YAML文件,将导致接口测试脚本生成的时间成本较高。此外,这种生成接口测试脚本的方式中,需要测试人员的手动操作,人力成本高。
发明内容
本申请实施例的目的在于提供一种接口测试脚本的生成方法及装置,以降低测试脚本生成的时间成本以及人力成本。具体技术方案如下:
第一方面,本申请实施例提供了一种接口测试脚本的生成方法,所述方法包括:
运行持续集成脚本,以对开发代码库中接口文件进行扫描,得到所述接口文件的文件信息,并将所述文件信息传递给脚本模板,所述文件信息包括所述接口文件的标识和路径;
运行所述脚本模板,以利用接口函数,基于所述文件信息从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值,所述接口函数为按照接口测试工具的内置函数的规则设置的函数;根据提取的接口的特征值,生成可被所述接口测试工具识别的接口测试脚本。
可选的,所述接口函数集成在所述脚本模板的取样器上;
所述运行所述脚本模板,以利用接口函数,基于所述文件信息从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值的步骤,包括:
将所述文件信息作为所述取样器的入口参数,将所述文件信息赋予所述接口函数,得到赋值后的接口函数,运行包括所述赋值后的接口函数的脚本模板,以从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值。
可选的,在生成可被所述接口测试工具识别的接口测试脚本之后,还包括:
在所述接口测试工具中运行所述接口测试脚本,得到图形化脚本;
显示所述图形化脚本;
当接收到用户对显示的所述图形化脚本输入的优化操作后,基于所述优化操作,生成优化接口测试脚本。
可选的,所述接口的特征值包括URI、方法、请求参数名称、请求参数类型、功能标签和响应状态码中一种或多种。
可选的,所述接口文件包括多个接口的特征值;
当每一接口的特征值至少包括功能标签时,所述根据提取的接口的特征值,生成可被所述接口测试工具识别的接口测试脚本的步骤,包括:
按照接口的功能标签,对所述多个接口进行分类,得到分类结果;
根据所述分类结果,组装所述多个接口的特征值,得到可被所述接口测试工具识别的接口测试脚本。
第二方面,本申请实施例提供了一种接口测试脚本的生成装置,所述装置包括:
第一运行单元,用于运行持续集成脚本,以对开发代码库中接口文件进行扫描,得到所述接口文件的文件信息,并将所述文件信息传递给脚本模板,所述文件信息包括所述接口文件的标识和路径;
第二运行单元,用于运行所述脚本模板,以利用接口函数,基于所述文件信息从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值,所述接口函数为按照接口测试工具的内置函数的规则设置的函数;根据提取的接口的特征值,生成可被所述接口测试工具识别的接口测试脚本。
可选的,所述接口函数集成在所述脚本模板的取样器上;
所述第二运行单元,具体用于将所述文件信息作为所述取样器的入口参数,将所述文件信息赋予所述接口函数,得到赋值后的接口函数,运行包括所述赋值后的接口函数的脚本模板,以从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值。
可选的,所述装置还包括:
第三运行单元,用于在生成可被所述接口测试工具识别的接口测试脚本之后,在所述接口测试工具中运行所述接口测试脚本,得到图形化脚本;
显示单元,用于显示所述图形化脚本;
优化单元,用于当接收到用户对显示的所述图形化脚本输入的优化操作后,基于所述优化操作,生成优化接口测试脚本。
可选的,所述接口的特征值包括URI、方法、请求参数名称、请求参数类型、功能标签和响应状态码中一种或多种。
可选的,所述接口文件包括多个接口的特征值;
所述第二运行单元,具体用于当每一接口的特征值至少包括功能标签时,按照接口的功能标签,对所述多个接口进行分类,得到分类结果;根据所述分类结果,组装所述多个接口的特征值,得到可被所述接口测试工具识别的接口测试脚本。
第三方面,本申请实施例提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行程序,所述处理器被所述机器可执行程序促使:实现上述任一所述的方法步骤。
第四方面,本申请实施例提供了一种机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行程序,所述处理器被所述机器可执行程序促使:实现上述任一所述的方法步骤。
本申请实施例提供的技术方案中,开发代码库置于持续集成环境中,可以实时对开发代码库中的接口文件进行扫描,得到接口文件的标识和路径等文件信息,进而基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,生成可被所述接口测试工具识别的接口测试脚本。本申请实施例中,不需要测试人员或开发人员的手动参与,也不需要测试人员和开发人员的相互配合,有效降低了测试脚本生成的时间成本以及人力成本。
当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为RESTful的一种应用示意图;
图2为接口文件的一种示意图;
图3为本申请实施例提供的接口测试脚本的生成方法的一种流程示意图;
图4为本申请实施例提供的取样器的一种结构示意图;
图5为本申请实施例提供的测试设备的一种结构示意图;
图6为本申请实施例提供的接口测试脚本的生成装置的一种结构示意图;
图7为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解,下面对本申请实施例中出现的词语进行解释说明。
REST为一种软件架构设计风格,主要用于客户端和服务端交互类的软件。
YAML不是一种标记语言。
Postman为一款模拟发送和接收HTTP通信协议的Chrome插件。
Chrome为一种浏览工具。
JMeter是Apache JMeter的简称。JMeter是一款开源的软件测试工具。广泛应用于软件的接口测试、性能测试等领域。JMeter支持HTTP、FTP(File Transfer Protocol,文件传输协议)等多种协议。
CI(Continuous integration,持续集成)为一种软件开发实践。通过这样的实践,可以将代码的构建、发布和自动化测试统一起来。
Jenkins为一个开源的、具有友好操作界面的CI工具。
RESTful是一种常见的REST的具体应用。RESTful基于HTTP协议,可使用多种格式定义。比较常见的是,使用YAML格式定义RESTful。在互联网领域和微服务架构中广泛使用了按照RESTful规范设计的接口,如图1所示。图1中,客户端和服务端分别分为4层,即REST层、HTTP层、TCP(Transmission Control Protocol,传输控制协议)层和IP(InternetProtocol,网络协议)层。客户端和服务端间通过网络进行通信,而客户端和服务端间传递的请求和响应遵循RESTful规范。
按照RESTful规范形成的接口文件(如YAML文件)。接口文件可以包括接口文件的基本信息,以及一个或多个接口的基本要素。接口文件的基本信息包括描述、版本号、联系方式、端口号以及支持的协议类型等。每一接口的基本要素可以包括URI(UniformResource Identifier,统一资源标识符)、方法、简介、参数、输入输出标记、请求参数名称、请求参数类型、功能标签和响应状态码等,如图2所示。
目前,为对接口进行测试,需要基于接口文件生成接口测试脚本。在相关技术中,生成接口测试脚本的方式需要测试人员和开发人员的相互配合。若测试人员和开发人员的相互配合的某一环节出现差错,如开发人员不提供该YAML文件,测试人员只能等待产品部署好后使用其他方式获取YAML文件这使得接口测试脚本生成的时间远远晚于开发时间,导致接口测试脚本生成的时间成本较高。
此外,在相关技术中,生成接口测试脚本的方式需要测试人员的手动操作,如手动将YAML文件导入Postman,人力成本高。
为解决上述问题,本申请实施例提供了一种接口测试脚本的生成方法,该方法可以应用于服务器、PC(Personal Computer,个人电脑)、平板电脑等具有测试功能的电子设备。
该方法中,开发代码库置于持续集成环境中,可以实时对开发代码库中的接口文件进行扫描,得到接口文件的标识和路径等文件信息,进而基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,生成可被所述接口测试工具识别的接口测试脚本。本申请实施例中,不需要测试人员或开发人员的手动参与,也不需要测试人员和开发人员的相互配合,有效降低了测试脚本生成的时间成本以及人力成本。
下面通过具体实施例,对本申请实施例提供的接口测试脚本的生成方法进行详细说明。
参见图3,图3为本申请实施例提供的接口测试脚本的生成方法的第一种流程示意图。为便于描述,下面以测试设备为执行主体进行说明,并不起限定作用。该方法包括如下步骤。
步骤S31,运行持续集成脚本,以对开发代码库中接口文件进行扫描,得到接口文件的文件信息,并将文件信息传递给脚本模板,文件信息包括接口文件的标识和路径。
其中,开发代码库包括一个或多个接口文件。开发代码库可以为Git代码库,用于存储开发人员开发代码过程中得到的接口文件。该接口文件可以为YAML文件,也可以为其他符合RESTful规范的接口文件。
上述持续集成脚本可以称为CI脚本,如Jenkins脚本。测试设备运行持续集成脚本,形成持续集成环境。本申请实施例中,在持续集成环境中,测试设备与开发代码库对接,以便于测试设备对开发代码库中的接口文件进行扫描,基于开发代码库中的接口文件生成接口测试脚本。
当测试设备接收到生成接口测试脚本的指令时,可以执行步骤S31,对开发代码库的目录进行扫描,得到指定的接口文件的文件信息。或者,测试设备检测到开发代码库中的接口文件更新时,可以执行步骤S31,对开发代码库的目录进行扫描,得到更新的接口文件的文件信息。本申请实施例中,也可以以其他条件作为触发条件,触发执行步骤S31,对此不做限定。
步骤S32,运行脚本模板,以利用接口函数,基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,根据提取的接口的特征值,生成可被接口测试工具识别的接口测试脚本。
其中,接口函数为按照接口测试工具的内置函数的规则设置。上述接口测试工具为对相关接口测试工具进行软件开发得到的测试工具。上述接口测试工具可以为JMeter工具。接口函数为按照接口测试工具的内置函数的规则设置的函数,也就是,接口函数为:按照接口测试工具的内置函数的规则,封装“利用接口函数,基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,根据提取的接口的特征值,生成可被接口测试工具识别的接口测试脚本”的步骤所得到的函数。该接口函数包括在脚本模板上,测试设备运行脚本模板,实现运行该接口函数,进而可以实现上述“利用接口函数,基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,根据提取的接口的特征值,生成可被接口测试工具识别的接口测试脚本”的步骤,得到可被接口测试工具识别的接口测试脚本。上述接口的特征值可以包括URI、方法、请求参数名称、请求参数类型、功能标签和响应状态码中一种或多种。
本申请实施例中,测试设备将获取的文件信息作为脚本模板的输入参数,测试设备运行脚本模板,进而可以利用接口函数,依据获取的文件信息,从开发代码库中获取接口文件,对该接口文件的结构进行解析,从该接口文件中提取接口的特征值。测试在提取到接口文件中接口的特征值后,组装提取的接口的特征值,得到可被接口测试工具识别的接口测试脚本。
当需要对接口文件中的接口进行测试时,运行该接口测试脚本,即可使得对接口文件中的接口进行测试的目的。
本申请实施例提供的技术方案中,开发代码库置于持续集成环境中,可以实时对开发代码库中接口文件进行扫描,得到接口文件的标识和路径等文件信息,进而基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,生成可被所述接口测试工具识别的接口测试脚本。
本申请实施例中,不需要测试人员或开发人员的手动参与,也不需要测试人员和开发人员的相互配合,测试设备直接与开发代码库对接,自动从开发代码库中提取需求的接口文件,缩短了接口测试脚本的开发周期,降低了测试脚本生成的时间成本以及人力成本。
在本申请的一个实施例中,脚本模板上设置了取样器,接口函数可以集成在脚本模板的取样器上,取样器以文件信息作为入接口,也就是,文件信息为取样器的输入参数。
这种情况下,上述步骤S32可以为:将文件信息通过入接口输入取样器,以使取样器将文件信息赋予内置函数;将文件信息作为取样器的入口参数,将文件信息赋予接口函数,得到赋值后的接口函数,运行包括赋值后的接口函数的脚本模板,以从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,根据提取的接口的特征值,生成可被接口测试工具识别的接口测试脚本。
在本申请的一个实施例中,如图4所示的取样器结构,按照接口测试工具的内置函数的规则,把“利用接口函数,基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,根据提取的接口的特征值,生成可被接口测试工具识别的接口测试脚本”的步骤封装为接口函数,对外提供几个输入参数作为接口;利用GUI(GraphicalUser Interface,图形用户界面)组件和拦截器,开发出能够调用上述接口函数的取样器。接口函数对外提供的输入参数即为取样器对外提供的输入参数,即为接口文件的标识、路径和生成的接口测试脚本的保存路径等。该取样器的输出即为需要的接口测试脚本。取样器是接口测试工具中执行RESTful请求必不可少的元件。
本申请实施例中,利用GUI组件和拦截器,开发出的取样器能够提供用户进行页面操作的页面,便于用户控制取样器,以及对取样器进行调整。
测试设备运行脚本模板,即运行该取样器中的接口函数,可以利用接口测试工具的核心接口组件与GUI组件提供的方法,按照一定的XML(Extensible Markup Language,可扩展标记语言)规范,将接口文件转换可被接口测试工具识别的接口测试脚本。
一个可选的实施例中,如图5所示的测试设备结构,将取样器集成在脚本模板上,并将接口函数的输入参数设置成全局变量形式。另外,利用持续集成脚本,将脚本模板与开发代码库对接,使得脚本模板与开发代码库位于同一持续集成环境中。
在本申请的一个实施例中,在生成可被接口测试工具识别的接口测试脚本之后,测试设备可以在接口测试工具中运行接口测试脚本,得到图形化脚本。图形化脚本可以通过图形界面来显示。测试设备在图形界面中显示该图形化脚本。此时,测试人员可以在图形界面中,对图形化脚本做进一步优化,如对接口添加验证条件或其他优化操作等。测试设备接收用户(如测试人员)对图形化脚本的优化操作,基于优化操作,生成优化接口测试脚本。
本申请实施例中,测试人员可以通过图形界面来完成对接口测试脚本的优化,不需要测试人员编写代码来实现接口测试脚本的优化,对测试人员的代码技能要求低,降低了测试人员的技术门槛。
在本申请的一个实施例中,接口文件可以包括多个接口的特征值,每一接口的特征值至少包括功能标签。这种情况下,上述步骤S32中,根据提取的接口的特征值,生成可被所述接口测试工具识别的接口测试脚本可以为:按照接口的功能标签,对多个接口进行分类,得到分类结果;根据分类结果,组装所提取的接口的特征值(即接口文件可以包括多个接口的特征值),得到可被接口测试工具识别的接口测试脚本。
本申请实施例中,接口测试脚本中按照功能标签对接口自动分类,并填充接口的特征值,减少了人工分类操作的时间和出错的几率,提升了接口测试脚本的正确性。
与上述接口测试脚本的生成方法对应,本申请实施例还提供了一种接口测试脚本的生成装置。参见图6,图6为本申请实施例提供的接口测试脚本的生成装置的一种结构示意图。该装置包括:
第一运行单元61,用于运行持续集成脚本,以对开发代码库中接口文件进行扫描,得到接口文件的文件信息,并将文件信息传递给脚本模板,文件信息包括接口文件的标识和路径;
第二运行单元62,用于运行脚本模板,以利用接口函数,基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,接口函数为按照接口测试工具的内置函数的规则设置的函数;根据提取的接口的特征值,生成可被接口测试工具识别的接口测试脚本。
一个可选的实施例中,接口函数集成在脚本模板的取样器上;
第二运行单元62,具体可以用于将文件信息作为取样器的入口参数,将文件信息赋予接口函数,得到赋值后的接口函数,运行包括赋值后的接口函数的脚本模板,以从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值。
一个可选的实施例中,上述接口测试脚本的生成装置还可以包括:
第三运行单元,用于在生成可被接口测试工具识别的接口测试脚本之后,在接口测试工具中运行接口测试脚本,得到图形化脚本;
显示单元,用于显示图形化脚本;
优化单元,用于当接收到用户对显示的图形化脚本输入的优化操作后,基于优化操作,生成优化接口测试脚本。
一个可选的实施例中,接口的特征值可以包括URI、方法、请求参数名称、请求参数类型、功能标签和响应状态码中一种或多种。
一个可选的实施例中,接口文件包括多个接口的特征值;
第二运行单元,具体可以用于当每一接口的特征值至少包括功能标签时,按照接口的功能标签,对多个接口进行分类,得到分类结果;根据分类结果,组装多个接口的特征值,得到可被接口测试工具识别的接口测试脚本。
本申请实施例提供的技术方案中,开发代码库置于持续集成环境中,可以实时对开发代码库中的接口文件进行扫描,得到接口文件的标识和路径等文件信息,进而基于文件信息从开发代码库获取接口文件,并从获取的接口文件中提取接口的特征值,生成可被所述接口测试工具识别的接口测试脚本。本申请实施例中,不需要测试人员或开发人员的手动参与,也不需要测试人员和开发人员的相互配合,有效降低了测试脚本生成的时间成本以及人力成本。
与上述接口测试脚本的生成方法对应,本申请实施例还提供了一种电子设备,如上述测试设备,如图7所示,包括处理器71和机器可读存储介质72,机器可读存储介质72存储有能够被处理器71执行的机器可执行程序。处理器71被机器可执行程序促使实现上述图1-图5所示的任一方法步骤。
与上述接口测试脚本的生成方法对应,本申请实施例还提供了一种机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行程序。机器可执行程序促使处理器被实现上述图1-图5所示的任一方法步骤。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)等;还可以是专用处理器,包括NP(Network Processor,网络处理器)、DSP(DigitalSignal Processing,数字信号处理器)等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于接口测试脚本的生成装置、电子设备和机器可读存储介质实施例而言,由于其基本相似于接口测试脚本的生成方法实施例,所以描述的比较简单,相关之处参见接口测试脚本的生成方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种接口测试脚本的生成方法,其特征在于,所述方法包括:
运行持续集成脚本,以对开发代码库中接口文件进行扫描,得到所述接口文件的文件信息,并将所述文件信息传递给脚本模板,所述文件信息包括所述接口文件的标识和路径;
运行所述脚本模板,以利用接口函数,基于所述文件信息从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值,所述接口函数为按照接口测试工具的内置函数的规则设置的函数;根据提取的接口的特征值,生成可被所述接口测试工具识别的接口测试脚本。
2.根据权利要求1所述的方法,其特征在于,所述接口函数集成在所述脚本模板的取样器上;
所述运行所述脚本模板,以利用接口函数,基于所述文件信息从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值的步骤,包括:
将所述文件信息作为所述取样器的入口参数,将所述文件信息赋予所述接口函数,得到赋值后的接口函数,运行包括所述赋值后的接口函数的脚本模板,以从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值。
3.根据权利要求1所述的方法,其特征在于,在生成可被所述接口测试工具识别的接口测试脚本之后,还包括:
在所述接口测试工具中运行所述接口测试脚本,得到图形化脚本;
显示所述图形化脚本;
当接收到用户对显示的所述图形化脚本输入的优化操作后,基于所述优化操作,生成优化接口测试脚本。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述接口的特征值包括统一资源标识符URI、方法、请求参数名称、请求参数类型、功能标签和响应状态码中一种或多种。
5.根据权利要求4所述的方法,其特征在于,所述接口文件包括多个接口的特征值;
当每一接口的特征值至少包括功能标签时,所述根据提取的接口的特征值,生成可被所述接口测试工具识别的接口测试脚本的步骤,包括:
按照接口的功能标签,对所述多个接口进行分类,得到分类结果;
根据所述分类结果,组装所述多个接口的特征值,得到可被所述接口测试工具识别的接口测试脚本。
6.一种接口测试脚本的生成装置,其特征在于,所述装置包括:
第一运行单元,用于运行持续集成脚本,以对开发代码库中接口文件进行扫描,得到所述接口文件的文件信息,并将所述文件信息传递给脚本模板,所述文件信息包括所述接口文件的标识和路径;
第二运行单元,用于运行所述脚本模板,以利用接口函数,基于所述文件信息从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值,所述接口函数为按照接口测试工具的内置函数的规则设置的函数;根据提取的接口的特征值,生成可被所述接口测试工具识别的接口测试脚本。
7.根据权利要求6所述的装置,其特征在于,所述接口函数集成在所述脚本模板的取样器上;
所述第二运行单元,具体用于将所述文件信息作为所述取样器的入口参数,将所述文件信息赋予所述接口函数,得到赋值后的接口函数,运行包括所述赋值后的接口函数的脚本模板,以从所述开发代码库获取所述接口文件,并从获取的所述接口文件中提取接口的特征值。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三运行单元,用于在生成可被所述接口测试工具识别的接口测试脚本之后,在所述接口测试工具中运行所述接口测试脚本,得到图形化脚本;
显示单元,用于显示所述图形化脚本;
优化单元,用于当接收到用户对显示的所述图形化脚本输入的优化操作后,基于所述优化操作,生成优化接口测试脚本。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述接口的特征值包括统一资源标识符URI、方法、请求参数名称、请求参数类型、功能标签和响应状态码中一种或多种。
10.根据权利要求9所述的装置,其特征在于,所述接口文件包括多个接口的特征值;
所述第二运行单元,具体用于当每一接口的特征值至少包括功能标签时,按照接口的功能标签,对所述多个接口进行分类,得到分类结果;根据所述分类结果,组装所述多个接口的特征值,得到可被所述接口测试工具识别的接口测试脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011364432.2A CN112346991B (zh) | 2020-11-27 | 2020-11-27 | 一种接口测试脚本的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011364432.2A CN112346991B (zh) | 2020-11-27 | 2020-11-27 | 一种接口测试脚本的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112346991A CN112346991A (zh) | 2021-02-09 |
CN112346991B true CN112346991B (zh) | 2022-03-22 |
Family
ID=74366232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011364432.2A Active CN112346991B (zh) | 2020-11-27 | 2020-11-27 | 一种接口测试脚本的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346991B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900569B (zh) * | 2022-05-17 | 2024-05-03 | 中国银行股份有限公司 | 一种测试脚本的获取方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344076A (zh) * | 2018-10-22 | 2019-02-15 | 浙江执御信息技术有限公司 | 一种基于JMeter和Jenkins的接口自动化测试方法及其装置 |
CN109446072A (zh) * | 2018-09-27 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 测试脚本的生成方法和装置 |
CN110046099A (zh) * | 2019-04-11 | 2019-07-23 | 艾伯资讯(深圳)有限公司 | 智能化软件测试系统及方法 |
CN110597721A (zh) * | 2019-09-11 | 2019-12-20 | 四川长虹电器股份有限公司 | 一种基于压力测试脚本的自动化接口压力测试的方法 |
US10534701B1 (en) * | 2019-06-17 | 2020-01-14 | Capital One Services, Llc | API driven continuous testing systems for testing disparate software |
CN111258900A (zh) * | 2020-01-17 | 2020-06-09 | 深圳壹账通智能科技有限公司 | 接口测试脚本的生成方法、系统、设备及存储介质 |
CN111694749A (zh) * | 2020-06-24 | 2020-09-22 | 深圳壹账通智能科技有限公司 | 接口自动测试方法、装置、计算机设备及可读存储介质 |
CN111737137A (zh) * | 2020-06-24 | 2020-10-02 | 重庆紫光华山智安科技有限公司 | 接口测试数据生成方法、装置、主机及存储介质 |
CN111831563A (zh) * | 2020-07-09 | 2020-10-27 | 平安国际智慧城市科技股份有限公司 | 接口自动测试方法、装置及存储介质 |
CN111881024A (zh) * | 2020-07-13 | 2020-11-03 | 广联达科技股份有限公司 | 一种接口测试脚本的确定方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698798B2 (en) * | 2018-11-28 | 2020-06-30 | Sap Se | Asynchronous consumer-driven contract testing in micro service architecture |
US10515005B1 (en) * | 2018-12-20 | 2019-12-24 | Atlassian Pty Ltd | Systems and methods for testing source code |
-
2020
- 2020-11-27 CN CN202011364432.2A patent/CN112346991B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446072A (zh) * | 2018-09-27 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 测试脚本的生成方法和装置 |
CN109344076A (zh) * | 2018-10-22 | 2019-02-15 | 浙江执御信息技术有限公司 | 一种基于JMeter和Jenkins的接口自动化测试方法及其装置 |
CN110046099A (zh) * | 2019-04-11 | 2019-07-23 | 艾伯资讯(深圳)有限公司 | 智能化软件测试系统及方法 |
US10534701B1 (en) * | 2019-06-17 | 2020-01-14 | Capital One Services, Llc | API driven continuous testing systems for testing disparate software |
CN110597721A (zh) * | 2019-09-11 | 2019-12-20 | 四川长虹电器股份有限公司 | 一种基于压力测试脚本的自动化接口压力测试的方法 |
CN111258900A (zh) * | 2020-01-17 | 2020-06-09 | 深圳壹账通智能科技有限公司 | 接口测试脚本的生成方法、系统、设备及存储介质 |
CN111694749A (zh) * | 2020-06-24 | 2020-09-22 | 深圳壹账通智能科技有限公司 | 接口自动测试方法、装置、计算机设备及可读存储介质 |
CN111737137A (zh) * | 2020-06-24 | 2020-10-02 | 重庆紫光华山智安科技有限公司 | 接口测试数据生成方法、装置、主机及存储介质 |
CN111831563A (zh) * | 2020-07-09 | 2020-10-27 | 平安国际智慧城市科技股份有限公司 | 接口自动测试方法、装置及存储介质 |
CN111881024A (zh) * | 2020-07-13 | 2020-11-03 | 广联达科技股份有限公司 | 一种接口测试脚本的确定方法、装置、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
CI平台下的Web自动化测试的研究与实现;朱怡嘉;《中国优秀硕士学位论文全文数据库-信息科技辑》;20170215;第2017年卷(第2期);第I138-1926页 * |
基于Jenkins的移动通信业务自动化测试平台的设计与实现;朱红;《中国优秀硕士学位论文全文数据库-信息科技辑》;20170215;第2017年卷(第2期);第I138-1903页 * |
持续集成中自动化测试工具的设计与实现;黄婉祎;《中国优秀硕士学位论文全文数据库-信息科技辑》;20170115;第2017年卷(第1期);第I138-262页 * |
针对Transwarp Workflow的自动化测试工具的设计与实现;董灿;《中国优秀硕士学位论文全文数据库-信息科技辑》;20190715;第2019年卷(第7期);第I138-466页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112346991A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11822919B2 (en) | Auto-generation of API documentation via implementation-neutral analysis of API traffic | |
AU2017258963B2 (en) | Simultaneous multi-platform testing | |
US10108535B2 (en) | Web application test script generation to test software functionality | |
Mesbah et al. | Automated cross-browser compatibility testing | |
US9189377B1 (en) | Automation testing using descriptive maps | |
US11068385B2 (en) | Behavior driven development test framework for application programming interfaces and webservices | |
AU2013394952B2 (en) | Automated generation of scripted and manual test cases | |
US20130159890A1 (en) | Systems and methods for identifying user interface (ui) elements | |
CN110798380B (zh) | 一种数据获取方法、系统、装置、测试设备及测试服务器 | |
EP3333712B1 (en) | Simultaneous multi-platform testing | |
US11074162B2 (en) | System and a method for automated script generation for application testing | |
CN110716853A (zh) | 一种测试脚本录制方法、应用程序测试方法和相关装置 | |
US20170177727A1 (en) | Methods for analyzing web sites using web services and devices thereof | |
US20180024912A1 (en) | Application Testing System and Method | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
CN112395184A (zh) | 一种信息获取方法、设备和计算机存储介质 | |
CN112506778A (zh) | Web用户界面自动化测试方法、装置、设备和存储介质 | |
CN112346991B (zh) | 一种接口测试脚本的生成方法及装置 | |
CN114371974A (zh) | 埋点数据校验方法及电子设备 | |
US11615016B2 (en) | System and method for executing a test case | |
CN116627849B (zh) | 系统测试方法、装置、设备及存储介质 | |
CN117632710A (zh) | 测试代码的生成方法、装置、设备及存储介质 | |
US20170277710A1 (en) | Data comparison | |
Panthi et al. | An approach for dynamic web application testing using MBT |
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 |