JMeter测试脚本的自动生成方法、接口测试方法和系统技术方案

技术编号:27481569 阅读:21 留言:0更新日期:2021-03-02 17:53
本发明专利技术涉及一种JMeter测试脚本的自动生成方法、接口测试方法和系统,属于自动化测试技术领域。所述JMeter测试脚本的自动生成方法,包括:解压Web项目压缩包至文件夹;递归所述文件夹,检索出所有的目标文件;对所述的所有的目标文件利用反射机制获取符合特定规范的接口信息;利用所述接口信息,生成JMeter测试脚本。有益效果是:一方面,通过自动生成JMeter测试脚本,减少了人为编写测试脚本的工作量,而且提高了工作效率;另一方面,由于针对检索出的所有的目标文件利用反射机制,可以确保没有遗漏测试接口,也避免了人为编写测试脚本的出错因素,因此,能够保障测试脚本的可靠性。性。性。

【技术实现步骤摘要】
JMeter测试脚本的自动生成方法、接口测试方法和系统


[0001]本专利技术涉及互联网
,特别涉及自动化测试
,具体是指一种JMeter测试脚本的自动生成方法、接口测试方法和系统。

技术介绍

[0002]对于目前使用Java开发的Web服务,在测试阶段,往往使用人工在客户端通过UI点击调用Web服务进行测试,不仅效率低,而且容易忽略某些接口。
[0003]另外,JMeter也可作为测试工具。JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、或FTP服务器等等。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。
[0004]然而,在使用JMeter测试时,需要人为编写每个测试接口,既会造成繁琐的工作量,又会增加出错的可能,而且,在Web服务修改之后,又需要手动对测试脚本做调整,非常的繁琐且耗时耗力。

技术实现思路

[0005]为了解决上述现有技术中的问题,本专利技术的一方面提供了一种JMeter测试脚本的自动生成方法,包括:解压Web项目压缩包至文件夹;递归所述文件夹,检索出所有的目标文件;对所述的所有的目标文件利用反射机制获取符合特定规范的接口信息;利用所述接口信息,生成JMeter测试脚本。
[0006]进一步地,所述的利用所述接口信息,生成JMeter测试脚本,包括:利用所述接口信息,通过映射生成JMeter测试脚本片段;将所述JMeter测试脚本片段利用脚本模板组合生成JMeter测试脚本。
[0007]进一步地,所述的符合特定规范的接口信息为符合jax-rs规范的接口信息。
[0008]进一步地,所述的目标文件为以.class结尾的文件。
[0009]本专利技术的又一方面提供了一种微服务接口测试方法,运行通过上述任一项方法生成的JMeter测试脚本,实现以下执行微服务接口测试流程:创建一并发池用于存储并发请求;利用所述并发池中的所述并发请求进行微服务请求模拟;对各个微服务接口的反馈做预期验证。
[0010]进一步地,根据各个所述微服务接口的反馈,分别判断所述微服务接口的状态为:报错、正常或阻塞。
[0011]进一步地,当所有的所述微服务接口的状态为阻塞时,判断服务器崩溃。
[0012]进一步地,记录所述状态为报错或阻塞的所述微服务接口。
[0013]本专利技术的另一方面提供了一种JMeter测试脚本的自动生成系统,采用上述任一项所述的JMeter测试脚本的自动生成方法生成JMeter测试脚本。
[0014]本专利技术的再一方面提供了一种微服务接口测试系统,采用上述任一项所述的微服务接口测试方法执行微服务接口测试。
[0015]根据上述内容的JMeter测试脚本的自动生成方法,包括:解压Web项目压缩包至文件夹;递归所述文件夹,检索出所有的目标文件;对所述的所有的目标文件利用反射机制获取符合特定规范的接口信息;利用所述接口信息,生成JMeter测试脚本。本专利技术的有益效果是:一方面,通过自动生成JMeter测试脚本,减少了人为编写测试脚本的工作量,而且提高了工作效率;另一方面,由于针对检索出的所有的目标文件利用反射机制,可以确保没有遗漏测试接口,也避免了人为编写测试脚本的出错因素,因此,能够保障测试脚本的可靠性。
附图说明
[0016]图1示出本专利技术一实施例的JMeter测试脚本的自动生成方法的流程示意图;
[0017]图2示出图1中S140步骤包含的流程示意图;
[0018]图3示出本专利技术一实施例的微服务接口测试方法的流程示意图;
[0019]图4示出本专利技术一实施例中映射方式的映射表的部分示意图;
[0020]图5示出一实施例中加载生成的JMeter测试脚本的界面示意图。
具体实施方式
[0021]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。
[0022]请参阅图1所示,为本专利技术一实施例的JMeter测试脚本的自动生成方法的流程示意图,包括:
[0023]S110:解压Web项目压缩包至文件夹;
[0024]S120:递归所述文件夹,检索出所有的目标文件;
[0025]S130:对所述的所有的目标文件利用反射机制获取符合特定规范的接口信息;
[0026]S140:利用所述接口信息,生成JMeter测试脚本。
[0027]由此,一方面,通过自动生成JMeter测试脚本,减少了人为编写测试脚本的工作量,而且提高了工作效率;另一方面,由于针对检索出的所有的目标文件利用反射机制,可以确保没有遗漏测试接口,也避免了人为编写测试脚本的出错因素,因此,能够保障测试脚本的可靠性。
[0028]进一步地,图2是图1中S140步骤包含的流程示意图,包括:
[0029]S141:利用所述接口信息,通过映射生成JMeter测试脚本片段;
[0030]S142:将所述JMeter测试脚本片段利用脚本模板组合生成JMeter测试脚本。
[0031]由此,不但降低了测试操作的繁琐性,而且也提高了测试工作的完成量。
[0032]综上所述,通过本实施例的JMeter测试脚本的自动生成方法,不仅能够减少人为编写测试脚本的工作量,提高工作效率,而且可以确保没有遗漏测试接口,也避免了人为编写测试脚本的出错因素,从而保障测试脚本的可靠性。
[0033]基于上述实施例的方法自动生成JMeter测试脚本,运行该JMeter测试脚本以执行微服务接口测试,如图3所示,为本专利技术一实施例的微服务接口测试方法的流程示意图,包括:
[0034]S210:创建一并发池用于存储并发请求;
[0035]S220:利用所述并发池中的所述并发请求进行微服务请求模拟;
[0036]S230:对各个微服务接口的反馈做预期验证。
[0037]由此,一方面,通过自动的方式实现对微服务接口的测试,减少测试工作的繁琐操作,提高了测试效率,从而能够降低开发成本并且提高生产效率;另一方面,利用了本专利技术的方案自动生成的JMeter测试脚本进行测试,提高了测试的准确性。
[0038]进一步地,根据各个所述微服务接口的反馈,分别判断所述微服务接口的状态为:报错、正常或阻塞。能够快速得到每个微服务接口的测试结果。
[0039]进一步地,当所有的所述微服务接口的状态为阻塞时,判断服务器崩溃。由此简化整个测试过程的工作。
[0040]进一步地,记录所述状态为报错或阻塞的所述微服务接口。能够快速筛选出这些微服务接口以便于排查问题。
[0041]综上所述,通过基于本专利技术的技术方案自动生成JMeter测试脚本,运行该JMeter测本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种JMeter测试脚本的自动生成方法,其特征在于,包括:解压Web项目压缩包至文件夹;递归所述文件夹,检索出所有的目标文件;对所述的所有的目标文件利用反射机制获取符合特定规范的接口信息;利用所述接口信息,生成JMeter测试脚本。2.根据权利要求1所述的JMeter测试脚本的自动生成方法,其特征在于,所述的利用所述接口信息,生成JMeter测试脚本,包括:利用所述接口信息,通过映射生成JMeter测试脚本片段;将所述JMeter测试脚本片段利用脚本模板组合生成JMeter测试脚本。3.根据权利要求1所述的JMeter测试脚本的自动生成方法,其特征在于,所述的符合特定规范的接口信息为符合jax-rs规范的接口信息。4.根据权利要求1所述的JMeter测试脚本的自动生成方法,其特征在于,所述的目标文件为以.class结尾的文件。5.一种微服务接口测试方法,其特征在于,...

【专利技术属性】
技术研发人员:张怡
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1