CN113220566A - 接口性能测试脚本的生成方法、装置和计算机设备 - Google Patents
接口性能测试脚本的生成方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN113220566A CN113220566A CN202110455614.9A CN202110455614A CN113220566A CN 113220566 A CN113220566 A CN 113220566A CN 202110455614 A CN202110455614 A CN 202110455614A CN 113220566 A CN113220566 A CN 113220566A
- Authority
- CN
- China
- Prior art keywords
- interface
- script
- parameter information
- test parameter
- information
- 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
- 238000013515 script Methods 0.000 title claims abstract description 257
- 238000011056 performance test Methods 0.000 title claims abstract description 116
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012360 testing method Methods 0.000 claims abstract description 232
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001028 reflection method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
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
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
技术领域
本申请涉及接口性能测试技术领域,特别是涉及一种接口性能测试脚本的生成方法、装置、计算机设备和存储介质。
背景技术
随着网络技术的飞速发展,各种系统的复杂度不断上升,传统的系统测试方法成本急剧增加且测试效率大幅下降,因此接口性能测试开始在系统测试中得到广泛应用。然而,目前的接口性能测试脚本主要还是依赖人工进行编写和调试,不但耗时较长,而且在涉及多种不同接口类型的性能测试时通常需要编写多种类型的接口性能测试脚本,此时脚本关键参数众多,编写易出错。
发明内容
基于此,有必要针对上述技术问题,提供一种高效准确的接口性能测试脚本的生成方法、装置、计算机设备和存储介质。
本发明第一方面提供一种接口性能测试脚本的生成方法,所述方法包括:
响应于脚本生成命令,获取预置的关键字文件来进行解析得到接口测试参数列表,接口测试参数列表包括多条接口测试参数信息,每条接口测试参数信息用于生成一种待测试接口的接口性能测试脚本;
使用若干个线程并行对多条接口测试参数信息进行处理,生成每条接口测试参数信息对应的接口性能测试脚本;
其中,使用任一个线程对任一条接口测试参数信息进行处理,生成该条接口测试参数信息对应的接口性能测试脚本的步骤包括:获取任一条接口测试参数信息对应的包含多个报文入参字段信息的第一jar包,调用该接口测试参数信息对应的第二jar包中的入参组装方法将第一jar包中的多个报文入参字段信息组装为接口输入参数信息,根据接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成该条接口测试参数信息对应的接口性能测试脚本。
在其中一个实施例中,获取预置的关键字文件来进行解析得到接口测试参数列表,包括:
获取关键字文件的输入路径信息,从输入路径信息中的路径位置读取到关键字文件;关键字文件的格式为表格格式或文本格式;
对关键字文件进行解析,获得关键字文件中的参数信息,使用与关键字文件的格式对应的组装方式对获得的参数信息进行组装,得到接口测试参数列表。
在其中一个实施例中,接口测试参数信息包括jar包版本号,获取任一条接口测试参数信息对应的包含多个报文入参字段信息的第一jar包,调用该接口测试参数信息对应的第二jar包中的入参组装方法将第一jar包中的多个报文入参字段信息组装为接口输入参数信息,包括:
根据任一条接口测试参数信息中的jar包版本号从预置的第三方库获取该jar包版本号对应的第一jar包,以及根据该jar包版本号从预置的工具库中调用该jar包版本号对应的第二jar包中的入参组装方法,通过入参组装方法将第一jar包中的多个报文入参字段信息组装为接口输入参数信息;
具体地,第三方库为Maven库,工具库为JPype库。
在其中一个实施例中,接口测试参数信息还包括脚本版本号和脚本输出文件格式,根据接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成该条接口测试参数信息对应的接口性能测试脚本,包括:
获取该条接口测试参数信息对应的脚本模板,将接口输入参数信息填入该脚本模板,得到该条接口测试参数信息对应的接口性能测试脚本信息;
根据该条接口测试参数信息中的脚本输出文件格式将接口性能测试脚本信息生成为对应格式的脚本文件,根据该条接口测试参数信息中的脚本版本号设置该脚本文件的版本号,得到该条接口测试参数信息对应的接口性能测试脚本,该接口性能测试脚本的格式为脚本输出文件格式,该接口性能测试脚本的版本号为脚本版本号。
在其中一个实施例中,接口测试参数信息还包括测试平台类型、接口类型、入参行数和参数化类型,获取该条接口测试参数信息对应的脚本模板,包括:
根据该条接口测试参数信息中的测试平台类型、接口类型、入参行数以及参数化类型从预置的脚本模板集合中选出对应的脚本模板。
在其中一个实施例中,所述方法还包括:
获取各接口性能测试脚本的输出路径信息,将生成的各接口性能测试脚本发送到输出路径信息对应的路径位置。
在其中一个实施例中,所述方法还包括:
将生成的各接口性能测试脚本组装成对应的接口调试请求并发送给各接口性能测试脚本对应的待测试接口;
接收各待测试接口在按照接收到的接口调试请求进行调试后返回的调试结果日志,任一待测试接口返回的测试结果日志包括该待测试接口对应的接口性能测试脚本的脚本调试结果和该待测试接口的接口调试结果;
根据接收到的各待测试接口返回的调试结果日志向测试人员进行反馈。
本发明第二方面提供一种接口性能测试脚本的生成装置,所述装置包括:
关键字解析模块,用于响应于脚本生成命令,获取预置的关键字文件来进行解析得到接口测试参数列表,所述接口测试参数列表包括多条接口测试参数信息,每条所述接口测试参数信息用于生成一种待测试接口的接口性能测试脚本;
脚本生成模块,用于使用若干个线程并行对所述多条接口测试参数信息进行处理,生成每条所述接口测试参数信息对应的接口性能测试脚本;该脚本生成模块在用于使用任一个所述线程对任一条所述接口测试参数信息进行处理,生成该条接口测试参数信息对应的接口性能测试脚本时,具体用于获取任一条接口测试参数信息对应的包含多个报文入参字段信息的第一jar包,调用该接口测试参数信息对应的第二jar包中的入参组装方法将所述第一jar包中的所述多个报文入参字段信息组装为接口输入参数信息,根据所述接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成该条接口测试参数信息对应的接口性能测试脚本。
本发明第三方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一方法的实施例的步骤。
本发明第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在上述实施例中,终端响应于脚本生成命令,获取预置的关键字文件来进行解析得到接口测试参数列表,使用若干个线程并行对接口测试参数列表中的多条接口测试参数信息进行处理,生成每条接口测试参数信息对应的接口性能测试脚本。
其中,测试人员可以预先在关键字文件中放入生成多种不同类型接口的性能测试脚本所需的参数信息,终端直接获取关键字文件并解析该关键字文件得到包含多条接口测试参数信息的接口测试参数列表,每条接口测试参数信息可以用于生成一种待测试接口的接口性能测试脚本,使用若干个线程并行对这些接口测试参数信息进行处理,可以快速地批量生成多种类型接口的接口性能测试脚本,降低了接口性能测试人员编写性能测试脚本的时间成本,提高了脚本生成的效率,同时只需修改关键字文件的内容即可实现不同类型接口的脚本生成,配置更为灵活,适用于需要生成脚本的接口类型丰富且数量多的情况;此外,上述实施例在使用任一个线程对任一条接口测试参数信息进行处理时,采用第二jar包中的入参组装方法将第一jar包中的多个报文入参字段信息组装为接口输入参数信息,确保了接口输入参数信息组装的准确性,再根据接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成接口性能测试脚本,从而提高了接口性能测试脚本生成的准确性。
附图说明
图1为一个实施例中接口性能测试脚本的生成方法的应用环境图;
图2为一个实施例中接口性能测试脚本的生成方法的流程示意图;
图3为一个实施例中脚本生成步骤的流程示意图;
图4为一种实施方式中接口性能测试脚本的生成方法的流程示意图;
图5为另一种实施方式中接口性能测试脚本的生成方法的流程示意图;
图6为一个实施例中接口性能测试脚本的生成装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
图8为一个实施例中输出路径信息设置的交互界面示例图。
图9为一个实施例中关键字文件内容的示例图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例一
在本实施例中,本申请提供的接口性能测试脚本的生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端102响应于脚本生成命令,可以从终端的本地存储器或者服务器104获取预置的关键字文件来进行解析得到接口测试参数列表,接口测试参数列表包括多条接口测试参数信息,终端102使用若干个线程并行对多条接口测试参数信息进行处理,生成每条接口测试参数信息对应的接口性能测试脚本。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例提供的一种接口性能测试脚本的生成方法包括如图2所示的步骤,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,响应于脚本生成命令,获取预置的关键字文件来进行解析得到接口测试参数列表,接口测试参数列表包括多条接口测试参数信息,每条接口测试参数信息用于生成一种待测试接口的接口性能测试脚本。
其中,关键字文件的内容可以包含多条用于生成待测试接口的接口性能测试脚本的参数信息,每条参数信息可以包括一种待测试接口的唯一标识信息和输出脚本所需的信息,比如:每条参数信息包括测试平台类型、接口类型、版本号、参数化类型、输出文件格式、服务码和方法名等关键字信息,其中,测试平台类型可以为nGrinder、Jmeter、LoadRunner等测试平台,接口类型可为RSF、RPC、WindQ、ActiveMQ、Kafka、Jsonp、HTTP等;版本号可以包括jar包版本号和脚本版本号,jar包版本号用于抓取接口测试参数信息对应的jar包,脚本版本号用于支持按版本号输出脚本,方便测试人员进行版本管理;参数化类型为待生成的接口性能测试脚本的参数化类型,比如Loop、Sequential、Random等;输出文件格式为生成的接口性能测试脚本的文件格式,服务码和方法名为待测试接口的必要关键信息。
接口测试参数列表是通过解析上述关键字文件得到的,其中的各条接口测试参数信息所包含的内容与关键字文件中的各参数信息一一对应且相同。在本实施例中,关键字文件的格式可以是表格格式或文本格式,比如Excel表格文件、txt文件、csv文件等,如果参数较多,可以优选使用Excel表格文件,条理清晰,且对用户更为便捷友好。例如,图9为一个Excel表格文件的内容示例图。在具体实施过程中,只需修改关键字文件中对应的关键字参数,保存后下达脚本生成命令,即可批量生成多种不同类型接口的性能测试脚本,比如通过设置测试平台类型、接口类型、参数化类型等关键字,就可以支持多种测试平台、多种接口类型、多种参数化类型等相应的接口性能测试脚本的生成,配置更灵活,能够适用于需要生成脚本的接口类型丰富且数量多的场合。
具体地,终端响应于测试人员下达的脚本生成命令,获取预置的关键字文件。上述关键字文件可以预先存储在远程的服务器或本地存储器中,终端接收到脚本生成命令后,可以从服务器或本地存储器获取该关键字文件,比如,终端获取关键字文件对应的IP地址,再根据该IP地址获取存储在服务器中的关键字文件。
在一种实施方式中,为了便于测试人员修改关键字文件内容,可以将关键字文件预置在本地存储器中,步骤202包括以下步骤:
终端获取关键字文件的输入路径信息,从输入路径信息中的路径位置读取到关键字文件。
对关键字文件进行解析,获得关键字文件中的参数信息,使用与关键字文件的格式对应的组装方式对获得的参数信息进行组装,得到接口测试参数列表。例如,当关键字文件是excel表格文件时,获取该excel表格文件中的各行参数信息,由于该excel表格文件的格式中每行参数信息即一条接口测试参数信息的全部内容,因此将各行参数信息整理为对应的多条接口测试参数信息,将上述多条接口测试参数信息放在一起就得到接口测试参数列表。
其中,测试人员可以通过交互界面设置关键字文件的输入路径信息,并将配置好的关键字文件预先存储在该输入路径信息中的路径位置。
步骤204,使用若干个线程并行对多条接口测试参数信息进行处理,生成每条接口测试参数信息对应的接口性能测试脚本。
其中,每条接口测试参数信息都包含接口的唯一标识和输出该接口的接口性能测试脚本所需的必要信息(如测试平台类型、接口类型、参数化类型等信息),需要说明的是,其中不包含测试接口所需的入参。
具体地,终端使用多线程库来进行若干个线程并行操作,比如使用Python自带的threading库以若干个线程并行对多条接口测试参数信息进行处理,可以批量生成各接口的性能测试脚本。在具体实施过程中,每个线程对一条接口测试参数信息进行处理,从而生成该条接口测试参数信息对应的接口性能测试脚本。每个线程对接口测试参数信息的处理过程是一样的,以下对任一个线程对任一条接口测试参数信息的处理过程进行描述。
如图3所示,使用任一个线程对任一条接口测试参数信息进行处理,生成该条接口测试参数信息对应的接口性能测试脚本的步骤包括:
步骤302,获取任一条接口测试参数信息对应的包含多个报文入参字段信息的第一jar包。
步骤304,调用该接口测试参数信息对应的第二jar包中的入参组装方法将第一jar包中的多个报文入参字段信息组装为接口输入参数信息。
在一种实施方式中,接口测试参数信息包括jar包版本号,便于终端抓取各条接口测试参数信息中接口对应的jar包版本,步骤302~步骤304包括:根据任一条接口测试参数信息中的jar包版本号从预置的第三方库获取该jar包版本号对应的第一jar包,以及根据该jar包版本号从预置的工具库中调用该jar包版本号对应的第二jar包中的入参组装方法,通过入参组装方法将第一jar包中的多个报文入参字段信息组装为接口输入参数信息。
其中,第一jar包是包含接口测试参数信息对应的接口所需的多个报文入参字段信息(即测试接口所需的入参)的jar包,用来组装接口输入参数信息;第二jar包是包含组装报文入参的入参组装方法。在一些应用示例中,第三方库可以采用Maven库,工具库可以采用JPype库,便于Python程序调用Java代码,第二jar包所包含的入参组装方法为Java反射方法。
具体地,终端根据任一条接口测试参数信息中的jar包版本号从预置的Maven库抓取该jar包版本号对应的包含多个报文入参字段信息的第一jar包,以及根据该jar包版本号从预置的JPype库中调用该jar包版本号对应的第二jar包中的入参组装方法,通过第二jar包中的入参组装方法将第一jar包中的多个报文入参字段信息组装为接口输入参数信息,避免了大量冗余重复的手工操作和组装繁琐的接口输入参数信息,确保了接口输入参数信息组装的准确性和速度。
步骤306,根据接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成该条接口测试参数信息对应的接口性能测试脚本。
具体地,在一种实施方式中,接口测试参数信息还包括脚本版本号和脚本输出文件格式,上述步骤306包括:
获取该条接口测试参数信息对应的脚本模板,将接口输入参数信息填入该脚本模板,得到该条接口测试参数信息对应的接口性能测试脚本信息。
其中,该脚本模板集合中可以包括对应不同接口的大量脚本模板,每个脚本模板对应一条接口测试参数信息中的各项参数;接口性能测试脚本信息指的是接口性能测试脚本的脚本代码。
进一步具体地,接口测试参数信息还可以包括测试平台类型、接口类型、入参行数和参数化类型,终端102可以根据该条接口测试参数信息中的测试平台类型、接口类型、入参行数以及参数化类型从预置的脚本模板集合中选出对应的脚本模板。
根据该条接口测试参数信息中的脚本输出文件格式将接口性能测试脚本信息生成为对应格式的脚本文件,根据该条接口测试参数信息中的脚本版本号设置该脚本文件的版本号,得到该条接口测试参数信息对应的接口性能测试脚本。
其中,该接口性能测试脚本的格式为脚本输出文件格式,该接口性能测试脚本的版本号为脚本版本号。脚本输出文件格式可以是groovy、txt、java等文件格式。
在上述实施方式中,终端102可以将所有线程生成的接口性能测试脚本信息全部整合至一个脚本结果列表中,按照每条接口性能测试脚本信息所对应的接口测试参数信息中的脚本版本号,将脚本结果列表中的各条接口性能测试脚本信息输出为对应的脚本输出文件格式的脚本文件,得到的脚本文件就是该条接口测试参数信息对应的接口性能测试脚本,该接口性能测试脚本的格式为脚本输出文件格式,该接口性能测试脚本的版本号为脚本版本号,从而可以实现按脚本版本号输出接口性能测试脚本的脚本文件,方便测试人员进行接口性能测试脚本的版本管理、追溯和维护。
具体实施时,若当前版本号的脚本已存在,则先对已有的当前版本号的脚本进行备份,再将接口性能测试脚本信息输出为其对应的脚本文件。
在一种实施方式中,为了可以更方便灵活地输出接口性能测试脚本,如图4所示,所述方法还包括以下步骤:
步骤206,获取各接口性能测试脚本的输出路径信息,将生成的各接口性能测试脚本发送到输出路径信息对应的路径位置。
其中,输出路径信息是生成的各接口性能测试脚本的存储路径,用于输出生成的各接口性能测试脚本。这个输出路径信息可以由测试人员通过如图8所示的交互界面自行配置,既可以与关键字文件的输入路径信息中的路径位置相同,也可以是不同路径位置。
在一种实施方式中,如图5所示,所述方法还包括:
步骤208,将生成的各接口性能测试脚本组装成对应的接口调试请求并发送给各接口性能测试脚本对应的待测试接口。
步骤210,接收各待测试接口在按照接收到的接口调试请求进行调试后返回的调试结果日志,任一待测试接口返回的调试结果日志包括该待测试接口对应的接口性能测试脚本的脚本调试结果和该待测试接口的接口调试结果。
步骤212,根据接收到的各待测试接口返回的调试结果日志向测试人员进行反馈。
本实施方式中提供的上述方法还可以支持接口性能测试脚本的预调试,预调试既是对待测试接口的调试,又是对接口性能测试脚本的预调试,并输出调试结果日志,该调试结果日志包括接口性能测试脚本的脚本调试结果和该待调试接口的接口调试结果,脚本调试结果中会包含接口性能测试脚本中存在的问题,接口调试结果中会包含待调试接口存在的问题,可以更及时准确发现接口性能测试脚本和待调试接口中存在的问题。
在上述实施例中,终端响应于脚本生成命令,获取预置的关键字文件来进行解析得到接口测试参数列表,使用若干个线程并行对接口测试参数列表中的多条接口测试参数信息进行处理,生成每条接口测试参数信息对应的接口性能测试脚本。
其中,测试人员可以预先在关键字文件中放入生成多种不同类型接口的性能测试脚本所需的参数信息,终端直接获取关键字文件并解析该关键字文件得到包含多条接口测试参数信息的接口测试参数列表,每条接口测试参数信息可以用于生成一种待测试接口的接口性能测试脚本,使用若干个线程并行对这些接口测试参数信息进行处理,可以快速地批量生成多种类型接口的接口性能测试脚本,降低了接口性能测试人员编写性能测试脚本的时间成本,提高了脚本生成的效率,同时只需修改关键字文件的内容即可实现不同类型接口的脚本生成,配置更为灵活,适用于需要生成脚本的接口类型丰富且数量多的情况;此外,上述实施例在使用任一个线程对任一条接口测试参数信息进行处理时,采用第二jar包中的入参组装方法将第一jar包中的多个报文入参字段信息组装为接口输入参数信息,确保了接口输入参数信息组装的准确性,再根据接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成接口性能测试脚本,从而提高了接口性能测试脚本生成的准确性。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二
在本实施例中,提供了一种接口性能测试脚本的生成装置,如图6所示,该装置包括:
关键字解析模块402,用于响应于脚本生成命令,获取预置的关键字文件来进行解析得到接口测试参数列表,所述接口测试参数列表包括多条接口测试参数信息,每条所述接口测试参数信息用于生成一种待测试接口的接口性能测试脚本。
脚本生成模块404,用于使用若干个线程并行对所述多条接口测试参数信息进行处理,生成每条所述接口测试参数信息对应的接口性能测试脚本;脚本生成模块404在用于使用任一个所述线程对任一条所述接口测试参数信息进行处理,生成该条接口测试参数信息对应的接口性能测试脚本时,具体用于获取任一条接口测试参数信息对应的包含多个报文入参字段信息的第一jar包,调用该接口测试参数信息对应的第二jar包中的入参组装方法将所述第一jar包中的所述多个报文入参字段信息组装为接口输入参数信息,根据所述接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成该条接口测试参数信息对应的接口性能测试脚本。
在一种实施方式中,关键字解析模块402,包括:
关键字文件获取单元,用于获取关键字文件的输入路径信息,从输入路径信息中的路径位置读取到关键字文件;关键字文件的格式为表格格式或文本格式。
关键字文件解析单元,用于对关键字文件进行解析,获得关键字文件中的参数信息,使用与关键字文件的格式对应的组装方式对获得的参数信息进行组装,得到接口测试参数列表。
在一种实施方式中,接口测试参数信息包括jar包版本号,脚本生成模块404,包括:
接口输入参数信息组装单元,用于根据任一条接口测试参数信息中的jar包版本号从预置的第三方库获取该jar包版本号对应的第一jar包,以及根据该jar包版本号从预置的工具库中调用该jar包版本号对应的第二jar包中的入参组装方法,通过入参组装方法将第一jar包中的多个报文入参字段信息组装为接口输入参数信息;
具体地,第三方库为Maven库,工具库为JPype库。
在一种实施方式中,接口测试参数信息还包括脚本版本号和脚本输出文件格式,脚本生成模块404,包括:
脚本信息获取单元,用于获取该条接口测试参数信息对应的脚本模板,将接口输入参数信息填入该脚本模板,得到该条接口测试参数信息对应的接口性能测试脚本信息。
脚本文件生成单元,用于根据该条接口测试参数信息中的脚本输出文件格式将接口性能测试脚本信息生成为对应格式的脚本文件,根据该条接口测试参数信息中的脚本版本号设置该脚本文件的版本号,得到该条接口测试参数信息对应的接口性能测试脚本,该接口性能测试脚本的格式为脚本输出文件格式,该接口性能测试脚本的版本号为脚本版本号。
在一种实施方式中,接口测试参数信息还包括测试平台类型、接口类型、入参行数和参数化类型,脚本信息获取单元还用于根据该条接口测试参数信息中的测试平台类型、接口类型、入参行数以及参数化类型从预置的脚本模板集合中选出对应的脚本模板。
在一种实施方式中,所述装置还包括:
脚本输出模块,用于获取各接口性能测试脚本的输出路径信息,将生成的各接口性能测试脚本发送到输出路径信息对应的路径位置。
在一种实施方式中,所述装置还包括:
预调试模块,用于将生成的各接口性能测试脚本组装成对应的接口调试请求并发送给各接口性能测试脚本对应的待测试接口,接收各待测试接口在按照接收到的接口调试请求进行调试后返回的调试结果日志,任一待测试接口返回的测试结果日志包括该待测试接口对应的接口性能测试脚本的脚本调试结果和该待测试接口的接口调试结果;根据接收到的各待测试接口返回的测试结果日志向测试人员进行反馈。
关于接口性能测试脚本的生成装置的具体限定可以参见上文中对于接口性能测试脚本的生成方法的限定,在此不再赘述。上述接口性能测试脚本的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例三
在本实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现如上述实施例一中所介绍的一种接口性能测试脚本的生成方法的步骤。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
实施例四
在本实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述实施例一中所介绍的一种接口性能测试脚本的生成方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种接口性能测试脚本的生成方法,其特征在于,所述方法包括:
响应于脚本生成命令,获取预置的关键字文件来进行解析得到接口测试参数列表,所述接口测试参数列表包括多条接口测试参数信息,每条所述接口测试参数信息用于生成一种待测试接口的接口性能测试脚本;
使用若干个线程并行对所述多条接口测试参数信息进行处理,生成每条所述接口测试参数信息对应的接口性能测试脚本;其中,使用任一个所述线程对任一条所述接口测试参数信息进行处理,生成该条接口测试参数信息对应的接口性能测试脚本的步骤包括:获取任一条接口测试参数信息对应的包含多个报文入参字段信息的第一jar包,调用该接口测试参数信息对应的第二jar包中的入参组装方法将所述第一jar包中的所述多个报文入参字段信息组装为接口输入参数信息,根据所述接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成该条接口测试参数信息对应的接口性能测试脚本。
2.根据权利要求1所述的方法,其特征在于,所述获取预置的关键字文件来进行解析得到接口测试参数列表,包括:
获取所述关键字文件的输入路径信息,从所述输入路径信息中的路径位置读取到所述关键字文件;所述关键字文件的格式为表格格式或文本格式;
对所述关键字文件进行解析,获得所述关键字文件中的参数信息,使用与所述关键字文件的格式对应的组装方式对获得的所述参数信息进行组装,得到所述接口测试参数列表。
3.根据权利要求1所述的方法,其特征在于,所述接口测试参数信息包括jar包版本号,所述获取任一条接口测试参数信息对应的包含多个报文入参字段信息的第一jar包,调用该接口测试参数信息对应的第二jar包中的入参组装方法将所述第一jar包中的所述多个报文入参字段信息组装为接口输入参数信息,包括:
根据任一条接口测试参数信息中的jar包版本号从预置的第三方库获取该jar包版本号对应的第一jar包,以及根据该jar包版本号从预置的工具库中调用该jar包版本号对应的第二jar包中的入参组装方法,通过所述入参组装方法将所述第一jar包中的所述多个报文入参字段信息组装为接口输入参数信息。
4.根据权利要求3所述的方法,其特征在于,所述接口测试参数信息还包括脚本版本号和脚本输出文件格式,所述根据所述接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成该条接口测试参数信息对应的接口性能测试脚本,包括:
获取该条接口测试参数信息对应的脚本模板,将所述接口输入参数信息填入该脚本模板,得到该条接口测试参数信息对应的接口性能测试脚本信息;
根据该条接口测试参数信息中的脚本输出文件格式将所述接口性能测试脚本信息生成为对应格式的脚本文件,根据该条接口测试参数信息中的脚本版本号设置该脚本文件的版本号,得到该条接口测试参数信息对应的接口性能测试脚本,该接口性能测试脚本的格式为所述脚本输出文件格式,该接口性能测试脚本的版本号为所述脚本版本号。
5.根据权利要求4所述的方法,其特征在于,所述接口测试参数信息还包括测试平台类型、接口类型、入参行数和参数化类型,所述获取该条接口测试参数信息对应的脚本模板,包括:
根据该条接口测试参数信息中的测试平台类型、接口类型、入参行数以及参数化类型从预置的脚本模板集合中选出对应的脚本模板。
6.根据权利要求1至4中任意一项所述的方法,其特征在于,所述方法还包括:
获取各所述接口性能测试脚本的输出路径信息,将生成的各所述接口性能测试脚本发送到所述输出路径信息对应的路径位置。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将生成的各所述接口性能测试脚本组装成对应的接口调试请求并发送给各所述接口性能测试脚本对应的待测试接口;
接收各待测试接口在按照接收到的接口调试请求进行调试后返回的调试结果日志,任一待测试接口返回的测试结果日志包括该待测试接口对应的接口性能测试脚本的脚本调试结果和该待测试接口的接口调试结果;
根据接收到的各待测试接口返回的调试结果日志向测试人员进行反馈。
8.一种接口性能测试脚本的生成装置,其特征在于,所述装置包括:
关键字解析模块,用于响应于脚本生成命令,获取预置的关键字文件来进行解析得到接口测试参数列表,所述接口测试参数列表包括多条接口测试参数信息,每条所述接口测试参数信息用于生成一种待测试接口的接口性能测试脚本;
脚本生成模块,用于使用若干个线程并行对所述多条接口测试参数信息进行处理,生成每条所述接口测试参数信息对应的接口性能测试脚本;所述脚本生成模块在用于使用任一个所述线程对任一条所述接口测试参数信息进行处理,生成该条接口测试参数信息对应的接口性能测试脚本时,具体用于获取任一条接口测试参数信息对应的包含多个报文入参字段信息的第一jar包,调用该接口测试参数信息对应的第二jar包中的入参组装方法将所述第一jar包中的所述多个报文入参字段信息组装为接口输入参数信息,根据所述接口输入参数信息、该条接口测试参数信息和该条接口测试参数信息对应的脚本模板生成该条接口测试参数信息对应的接口性能测试脚本。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110455614.9A CN113220566B (zh) | 2021-04-26 | 2021-04-26 | 接口性能测试脚本的生成方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110455614.9A CN113220566B (zh) | 2021-04-26 | 2021-04-26 | 接口性能测试脚本的生成方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220566A true CN113220566A (zh) | 2021-08-06 |
CN113220566B CN113220566B (zh) | 2024-06-28 |
Family
ID=77089134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110455614.9A Active CN113220566B (zh) | 2021-04-26 | 2021-04-26 | 接口性能测试脚本的生成方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220566B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778895A (zh) * | 2021-09-18 | 2021-12-10 | 上海中通吉网络技术有限公司 | 接口自动化测试方法及装置 |
CN115297039A (zh) * | 2022-10-08 | 2022-11-04 | 天津华来科技股份有限公司 | Http协议参数化测试架构方法、电子设备、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103050A (zh) * | 2017-03-31 | 2017-08-29 | 海通安恒(大连)大数据科技有限公司 | 一种大数据建模平台及方法 |
CN109062798A (zh) * | 2018-07-26 | 2018-12-21 | 浙江数链科技有限公司 | 一种基于Dubbo框架的测试方法与装置 |
CN111026635A (zh) * | 2019-09-27 | 2020-04-17 | 珠海随变科技有限公司 | 一种软件项目的测试系统、方法、装置及存储介质 |
CN111459492A (zh) * | 2020-03-19 | 2020-07-28 | 南京行而知网络科技有限公司 | Dubbo服务接口兼容性检测方法、装置、存储介质及设备 |
CN111881042A (zh) * | 2020-07-27 | 2020-11-03 | 云账户技术(天津)有限公司 | 自动化测试脚本的生成方法、装置和电子设备 |
US10922214B1 (en) * | 2019-08-23 | 2021-02-16 | Jpmorgan Chase Bank, N.A. | System and method for implementing a test optimization module |
CN112559356A (zh) * | 2020-12-18 | 2021-03-26 | 杭州兑吧网络科技有限公司 | 一种软件自动测试方法及其系统 |
-
2021
- 2021-04-26 CN CN202110455614.9A patent/CN113220566B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103050A (zh) * | 2017-03-31 | 2017-08-29 | 海通安恒(大连)大数据科技有限公司 | 一种大数据建模平台及方法 |
CN109062798A (zh) * | 2018-07-26 | 2018-12-21 | 浙江数链科技有限公司 | 一种基于Dubbo框架的测试方法与装置 |
US10922214B1 (en) * | 2019-08-23 | 2021-02-16 | Jpmorgan Chase Bank, N.A. | System and method for implementing a test optimization module |
CN111026635A (zh) * | 2019-09-27 | 2020-04-17 | 珠海随变科技有限公司 | 一种软件项目的测试系统、方法、装置及存储介质 |
CN111459492A (zh) * | 2020-03-19 | 2020-07-28 | 南京行而知网络科技有限公司 | Dubbo服务接口兼容性检测方法、装置、存储介质及设备 |
CN111881042A (zh) * | 2020-07-27 | 2020-11-03 | 云账户技术(天津)有限公司 | 自动化测试脚本的生成方法、装置和电子设备 |
CN112559356A (zh) * | 2020-12-18 | 2021-03-26 | 杭州兑吧网络科技有限公司 | 一种软件自动测试方法及其系统 |
Non-Patent Citations (1)
Title |
---|
罗云: ""基于TestNG框架的接口测试系统设计与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》, pages 138 - 436 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778895A (zh) * | 2021-09-18 | 2021-12-10 | 上海中通吉网络技术有限公司 | 接口自动化测试方法及装置 |
CN115297039A (zh) * | 2022-10-08 | 2022-11-04 | 天津华来科技股份有限公司 | Http协议参数化测试架构方法、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113220566B (zh) | 2024-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287694B (zh) | 应用程序构建方法、系统、计算机设备和存储介质 | |
CN111061526B (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
CN110647471B (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN109491891A (zh) | 全自动接口压测方法、装置、计算机设备及存储介质 | |
CN103729294B (zh) | 应用软件性能脚本测试方法与装置 | |
CN113220566B (zh) | 接口性能测试脚本的生成方法、装置和计算机设备 | |
CN111797026A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN110888709A (zh) | 监控屏的智能操作方法、装置、计算机设备和存储介质 | |
CN111008132B (zh) | Android系统的应用调试方法、装置、计算机设备和存储介质 | |
CN115061912A (zh) | 一种测试用例的生成与测试方法、系统及介质 | |
CN112650676A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN112433929B (zh) | 网页调试方法、装置、计算机设备和存储介质 | |
CN115168232A (zh) | 一种基于autosar平台的测试方法、装置、电子设备及存储介质 | |
CN111176986B (zh) | 线程脚本调试方法、装置、计算机设备和存储介质 | |
CN116627850B (zh) | 函数调试方法、装置、存储介质以及电子设备 | |
CN111679828B (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
CN112685311A (zh) | 测试脚本自动生成方法、装置、计算机设备及存储介质 | |
CN110865943A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN111083007B (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN113868127A (zh) | 在线调试方法、装置、计算机设备和存储介质 | |
CN114968751A (zh) | 一种无代码开发平台的程序调试方法和程序调试装置 | |
CN111124815A (zh) | 一种日志查看方法、装置、设备及存储介质 | |
CN114996249B (zh) | 数据处理方法、装置、电子设备、存储介质及产品 | |
CN112765040B (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 |