CN109885498A - 一种测试脚本生成方法及*** - Google Patents

一种测试脚本生成方法及*** Download PDF

Info

Publication number
CN109885498A
CN109885498A CN201910140512.0A CN201910140512A CN109885498A CN 109885498 A CN109885498 A CN 109885498A CN 201910140512 A CN201910140512 A CN 201910140512A CN 109885498 A CN109885498 A CN 109885498A
Authority
CN
China
Prior art keywords
script
test
test case
message
jmeter
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
Application number
CN201910140512.0A
Other languages
English (en)
Inventor
刘松
牛素芬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shouqi Zhixing Technology Co Ltd
Original Assignee
Beijing Shouqi Zhixing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Shouqi Zhixing Technology Co Ltd filed Critical Beijing Shouqi Zhixing Technology Co Ltd
Priority to CN201910140512.0A priority Critical patent/CN109885498A/zh
Publication of CN109885498A publication Critical patent/CN109885498A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开的测试脚本生成方法及***,涉及软件测试技术领域,通过创建JMeter脚本,生成初始JMeter脚本,逐条读取各条测试用例并获取各条测试用例的名称,根据各条测试用例的名称,分别判断各条测试用例的类型,根据该类型,在各个测试用例对应的脚本中添加相应的报文,整理并组合各条测试用例对应的脚本,生成脚本接口数据,将脚本接口数据写入初始JMeter脚本,生成测试脚本,减少了测试时间、降低了维护成本及提高了整体测试效率。

Description

一种测试脚本生成方法及***
技术领域
本发明涉及软件测试技术领域,具体涉及一种测试脚本生成方法及***。
背景技术
随着互联网公司的快速发展,服务器端版本迭代速度加快,导致测试技术也需要随之不断调整及优化。
现阶段主要通过接口测试来发现服务器端的问题。当前常用基本方法是使用EXCEL或专业接口管理工具(如禅道、TestLink)保存、管理测试用例,之后按照测试用例编写测试脚本。
上述接口测试方案主要存在以下缺陷:
(1)测试用例的编写及JMeter脚本占整个接口测试时长的80%以上,编写耗时长且重复性高;
(2)测试用例与JMeter脚本分离,导致业务发生改变时需同时调整测试用例和JMeter脚本,若只维护其一容易引起混乱。
(3)服务器端快递迭代时无法可持续集成,无法满足快速发版的需求。
发明内容
针对现有技术存在的缺陷,本发明实施例提供了一种测试脚本生成方法及***。
第一方面,本发明实施例提供了一种测试脚本生成方法,该方法包括以下步骤:
创建JMeter脚本,生成初始JMeter脚本;
逐条读取各条测试用例并获取各条测试用例的名称;
根据各条测试用例的名称,分别判断各条测试用例的类型,根据所述类型,在各个测试用例对应的脚本中添加相应的报文,包括:
若所述类型为配置类,则在相应的测试用例对应的脚本中添加配置报文;若所述类型为HTTP请求类,则在相应的测试用例对应的脚本中添加HTTP请求报文及响应断言报文,其中,配置报文为HTTP默认请求报文或用户自定义参数中的一种,HTTP请求报文包括请求路径、服务器IP、服务器端口号及指令参数;
整理并组合各条测试用例对应的脚本,生成脚本接口数据;
将所述脚本接口数据写入所述初始JMeter脚本,生成第一测试脚本。
进一步地,在生成第一测试脚本之后,所述方法还包括:
组合所述第一测试脚本与Jenkins模块,生成第二测试脚本。
第二方面,本发明实施例提供了一种测试脚本生成***,该***包括:
创建模块,用于创建JMeter脚本,生成初始JMeter脚本;
获取模块,用于逐条读取各条测试用例并获取各条测试用例的名称;
判断模块,用于根据各条测试用例的名称,分别判断各条测试用例的类型,根据所述类型,在各个测试用例对应的脚本中添加相应的报文,其中,所述判断模块包括添加单元,所述添加单元用于:
在测试用例对应的脚本中添加配置报文或HTTP请求报文与响应断言报文;其中,配置报文为HTTP默认请求报文或用户自定义参数中的一种,HTTP请求报文包括请求路径、服务器IP、服务器端口号及指令参数;
组合模块,用于整理并组合各条测试用例对应的脚本,生成脚本接口数据;
写入模块,用于将所述脚本接口数据写入所述初始JMeter脚本,生成第一测试脚本。
进一步地,所述组合模块还用于:
组合所述第一测试脚本与Jenkins模块,生成第二测试脚本。
本发明实施例提供的测试脚本生成方法及***,具有以下有益效果:
(1)只需编写测试用例,无需编写JMeter脚本,减少了测试时间;
(2)接口发生改变时只需修改测试用例,之后使用工具将测试用例转换为JMeter脚本即可,降低了维护成本;
(3)与Jenkins结合使用,实现了持续集成,提高了整体测试效率。
附图说明
图1为本发明实施例公开的测试脚本生成方法的流程示意图;
图2为本发明实施例公开的测试脚本生成***的结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明作具体的介绍。
如图1所示,本发明实施例提供的测试脚本生成方法包括以下步骤:
S101,创建JMeter脚本,生成初始JMeter脚本。
S102,逐条读取各条测试用例并获取各条测试用例的名称。
S103,根据各条测试用例的名称,分别判断各条测试用例的类型,根据该类型,在各个测试用例对应的脚本中添加相应的报文,包括:
S1031,若测试用例的类型为配置类,则在相应的测试用例对应的脚本中添加配置报文,其中,配置报文为HTTP默认请求报文或用户自定义参数中的一种;
作为一个具体的实施例,HTTP默认请求报文包括HTTP默认请求的启用与不启用信息、服务器IP及服务器端口号。
S1032,若测试用例的类型为HTTP请求类,则在相应的测试用例对应的脚本中添加HTTP请求报文及响应断言报文,其中,HTTP请求报文包括请求路径、服务器IP、服务器端口号及指令参数。
S104,整理并组合各条测试用例对应的脚本,生成脚本接口数据。
S105,将脚本接口数据写入初始JMeter脚本,生成第一测试脚本。
可选地,该方法还包括:
组合第一测试脚本与Jenkins模块,生成第二测试脚本。
如图2所示,本发明实施例提供的测试脚本生成方法包括创建模块、获取模块、判断模块、组合模块及写入模块,其中:
创建模块,用于创建JMeter脚本,生成初始JMeter脚本;
获取模块,用于逐条读取各条测试用例并获取各条测试用例的名称;
判断模块,用于根据各条测试用例的名称,分别判断各条测试用例的类型,根据该类型,在各个测试用例对应的脚本中添加相应的报文,其中,所述判断模块包括添加单元,添加单元用于:
在测试用例对应的脚本中添加配置报文或HTTP请求报文与响应断言报文;其中,配置报文为HTTP默认请求报文或用户自定义参数中的一种,HTTP请求报文包括请求路径、服务器IP、服务器端口号及指令参数;
组合模块,用于整理并组合各条测试用例对应的脚本,生成脚本接口数据;
写入模块,用于将脚本接口数据写入初始JMeter脚本,生成第一测试脚本。
可选地,组合模块还用于:
组合第一测试脚本与Jenkins模块组合,生成第二测试脚本。
本发明实施例提供的测试脚本生成方法及***,通过创建JMeter脚本,生成初始JMeter脚本,逐条读取各条测试用例并获取各条测试用例的名称,根据各条测试用例的名称,分别判断各条测试用例的类型,根据该类型,在各个测试用例对应的脚本中添加相应的报文,整理并组合各条测试用例对应的脚本,生成脚本接口数据,将脚本接口数据写入初始JMeter脚本,生成测试脚本,减少了测试时间、降低了维护成本及提高了整体测试效率。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
需要说明的是,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

Claims (4)

1.一种测试脚本生成方法,其特征在于,包括:
创建JMeter脚本,生成初始JMeter脚本;
逐条读取各条测试用例并获取各条测试用例的名称;
根据各条测试用例的名称,分别判断各条测试用例的类型,根据所述类型,在各个测试用例对应的脚本中添加相应的报文,包括:
若所述类型为配置类,则在相应的测试用例对应的脚本中添加配置报文;若所述类型为HTTP请求类,则在相应的测试用例对应的脚本中添加HTTP请求报文及响应断言报文,其中,配置报文为HTTP默认请求报文或用户自定义参数中的一种,HTTP请求报文包括请求路径、服务器IP、服务器端口号及指令参数;
整理并组合各条测试用例对应的脚本,生成脚本接口数据;
将所述脚本接口数据写入所述初始JMeter脚本,生成第一测试脚本。
2.根据权利要求1所述的测试脚本生成方法,其特征在于,在生成第一测试脚本之后,所述方法还包括:
组合所述第一测试脚本与Jenkins模块,生成第二测试脚本。
3.一种测试脚本生成***,其特征在于,包括:
创建模块,用于创建JMeter脚本,生成初始JMeter脚本;
获取模块,用于逐条读取各条测试用例并获取各条测试用例的名称;
判断模块,用于根据各条测试用例的名称,分别判断各条测试用例的类型,根据所述类型,在各个测试用例对应的脚本中添加相应的报文,其中,所述判断模块包括添加单元,所述添加单元用于:
在测试用例对应的脚本中添加配置报文或HTTP请求报文与响应断言报文;其中,配置报文为HTTP默认请求报文或用户自定义参数中的一种,HTTP请求报文包括请求路径、服务器IP、服务器端口号及指令参数;
组合模块,用于整理并组合各条测试用例对应的脚本,生成脚本接口数据;
写入模块,用于将所述脚本接口数据写入所述初始JMeter脚本,生成第一测试脚本。
4.根据权利要求3所述的测试脚本生成***,其特征在于,所述组合模块还用于:
组合所述第一测试脚本与Jenkins模块组合,生成第二测试脚本。
CN201910140512.0A 2019-02-26 2019-02-26 一种测试脚本生成方法及*** Pending CN109885498A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910140512.0A CN109885498A (zh) 2019-02-26 2019-02-26 一种测试脚本生成方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910140512.0A CN109885498A (zh) 2019-02-26 2019-02-26 一种测试脚本生成方法及***

Publications (1)

Publication Number Publication Date
CN109885498A true CN109885498A (zh) 2019-06-14

Family

ID=66929216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910140512.0A Pending CN109885498A (zh) 2019-02-26 2019-02-26 一种测试脚本生成方法及***

Country Status (1)

Country Link
CN (1) CN109885498A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484269A (zh) * 2014-11-27 2015-04-01 北京广利核***工程有限公司 一种自动生成测试脚本的方法
US20180024914A1 (en) * 2016-07-20 2018-01-25 International Business Machines Corporation Generating test scripts for testing a network-based application
CN108334443A (zh) * 2017-12-22 2018-07-27 海尔优家智能科技(北京)有限公司 生成测试用例的方法、装置、设备及计算机可读存储介质
CN108415832A (zh) * 2018-02-07 2018-08-17 平安科技(深圳)有限公司 接口自动化测试方法、装置、设备及存储介质
CN108459850A (zh) * 2017-11-21 2018-08-28 广州视源电子科技股份有限公司 生成测试脚本的方法、装置及***
CN108763084A (zh) * 2018-05-30 2018-11-06 郑州云海信息技术有限公司 一种测试用例的生成方法、装置及电子设备
CN109299017A (zh) * 2018-11-16 2019-02-01 郑州云海信息技术有限公司 基于测试用例文档自动生成测试脚本框架的方法及***
CN109344076A (zh) * 2018-10-22 2019-02-15 浙江执御信息技术有限公司 一种基于JMeter和Jenkins的接口自动化测试方法及其装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484269A (zh) * 2014-11-27 2015-04-01 北京广利核***工程有限公司 一种自动生成测试脚本的方法
US20180024914A1 (en) * 2016-07-20 2018-01-25 International Business Machines Corporation Generating test scripts for testing a network-based application
CN108459850A (zh) * 2017-11-21 2018-08-28 广州视源电子科技股份有限公司 生成测试脚本的方法、装置及***
CN108334443A (zh) * 2017-12-22 2018-07-27 海尔优家智能科技(北京)有限公司 生成测试用例的方法、装置、设备及计算机可读存储介质
CN108415832A (zh) * 2018-02-07 2018-08-17 平安科技(深圳)有限公司 接口自动化测试方法、装置、设备及存储介质
CN108763084A (zh) * 2018-05-30 2018-11-06 郑州云海信息技术有限公司 一种测试用例的生成方法、装置及电子设备
CN109344076A (zh) * 2018-10-22 2019-02-15 浙江执御信息技术有限公司 一种基于JMeter和Jenkins的接口自动化测试方法及其装置
CN109299017A (zh) * 2018-11-16 2019-02-01 郑州云海信息技术有限公司 基于测试用例文档自动生成测试脚本框架的方法及***

Similar Documents

Publication Publication Date Title
US10929490B2 (en) Network search query
CN105808437B (zh) 基于测试用例数据表的自动化测试方法及***
US10366112B2 (en) Compiling extract, transform, and load job test data cases
CN105446865B (zh) 多种环境下的测试方法及装置
CN106815131A (zh) 一种基于Unity引擎的游戏资源检查方法和***
US11089000B1 (en) Automated source code log generation
CN104298588A (zh) 一种持续集成的实现方法及装置
CN109145055A (zh) 一种基于Flink的数据同步方法和***
CN109583921A (zh) 广告预算获取方法、装置、存储介质及处理器
CN107943465A (zh) 一种生成html表单的方法及装置
US10936810B2 (en) Token embedding based on target-context pairs
CN110457182A (zh) 一种负载均衡集群实例运行指标监控***
CN109871312A (zh) 一种接口测试方法、装置、设备及可读存储介质
CN113495797A (zh) 一种消息队列及消费者动态创建方法及***
CN109194483A (zh) 基于区块链的数据校验方法
CN115878092A (zh) 一种基于微服务架构的代码生成方法、设备及介质
US20210158076A1 (en) Determining Model-Related Bias Associated with Training Data
CN109508791A (zh) 车辆损伤管理方法
US20230099150A1 (en) Structural information preserving for graph-to-text generation
CN109885498A (zh) 一种测试脚本生成方法及***
Labba et al. An operational framework for evaluating the performance of learning record stores
US20190179689A1 (en) System and Method for Root Cause Analysis in Large Scale Data Curation Flows Using Provenance
CN109902178A (zh) 一种多级文本分类方法及***
CN110347607A (zh) 一种数据上链测试方法
US20220365758A1 (en) Tool for Introspection in Object-Oriented Source Code

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: 20190614

RJ01 Rejection of invention patent application after publication