• 12
  • 12
分享

1、JMeter简介

JMeter是Apache组织开发的基于Java的压力测试工具。具有开源免费、框架灵活、多平台支持等优势。除了压力测试外,JMeter在接口测试方面也有广泛的应用。

2、JMeter安装

访问JMeter官网:https://jmeter.apache.org/download_jmeter.cgi,点击下载后解压缩,依次打开\apache-jmeter-4.0\JMeter\bin,运行jmeterw.cmd即可。(建议在桌面创建jmeterw.cmd的快捷方式,方便快速打开)

3、使用JMeter完成单个接口测试

3.1 添加线程组

在“测试计划”上点击鼠标右键-->添加-->threads(Users)-->线程组。

1.jpg

3.2 添加http请求

在“线程组”打开鼠标右键-->添加-->sampler-->http请求

2.jpg

添加完http请求后,填写对应的域名、接口以及请求参数,如下图所示:

3.jpg

3.3 添加断言

在每一个http请求下,都应该增加一层判断机制(response的关键字),即添加结果断言。

在“http请求”打开鼠标右键-->添加-->Assertions-->response Assertion

4.jpg

3.4 查看请求结果

在“线程组”打开鼠标右键-->添加-->监听器-->察看结果树、断言结果、聚合报告

5.jpg

1、查看结果树:打开察看结果树,绿色代表测试通过,红色代表测试失败。在此我们可以看到详细的请求头、响应时间、请求参数和返回结果;方便我们进行接口调试

2、断言结果:断言结果是查看返回的数据是否符合给定的断言。

3、查看聚合报告:

Label:每个?JMeter?的 请求都有一个?Name?属性,这里显示的就是?Name?属性的值

#Samples:表示本次测试中一共发出了多少个请求

Average:平均响应时间

Median:也就是?50%?用户的响应时间

90%Line:90%?用户的响应时间

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

4、使用JMeter完成多个接口组合

以上,单个接口的请求已经完成。在接口测试中,是多个不同接口的组合,因此就会涉及到接口传值。我们可以使用正则表达式和 Json Path Extractor来获取接口返回值。

4.1 正则表达式

所谓正则表达式,即一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。

在“http请求”打开鼠标右键-->添加-->post processions-->Regular Expression Extractor

6.jpg

7.jpg

Name of created variable:正则表达式名称,我们使用${名称}来进行引用;

Regular Expression:设置提取规则

. 匹配任何字符

+  一次或更多次

?  停止在第一个匹配成功时

Templates:表示用哪个正则表达式模板获取的值?,默认使用$1$,如果有多个正则表达式,则可以使用$2$,$3$等,表示解析到的第几个值给test。

Match No.:-1表示全部,0随机,1第一个,2第二个

Default value:如果没有取到值,则默认使用该值,可以为空

4.2 Json Path Extractor

下载plugin Manager,并将下载下来的jar包放到JMeter的lib/ext目录下,重启JMeter。

重启后,在options菜单下点击“plugins Manager”,在available plugins中,搜索json path extractor,点击apply changes andrestart jmeter即可。

8.jpg

9.jpg

作者:sinat_32434273

原文链接:https://blog.csdn.net/sinat_32434273/article/details/81065731

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 写作背景:最近互联网行业大新闻,员工遭到集体裁员到事件估计大家都听说了,没错,我也在其中,在之前的文章里也有提到过目前就职于外包公司,当然,这么大的动作我们当然逃不过去。接到通知后,大家第一时间纷纷编辑简历,进行网上投递,同时领导也帮忙协调岗位,走内部通道,到这时候可真是不怕技多压身啊,同事A就是很好的例子,当大家都在像热锅上的蚂蚁一样寻找工作大时候,同事A就因为会日语,顺利调岗成功,怎么样后没后悔多学点东西,现在说什么已经为时以晚啦。正好有很多调休假没休,趁着这时候和领导请了假,一方面调整心情,一方面好应聘面试,休假的前两天心情是异样的差,有很多不利的因素:1.处于年末阶段,很多公司处于核算...
            3 0 2624
            分享
          •   苹果公司CEO库克日前到达浙江嘉善立讯精密工厂,并接受专访。(浙江嘉善立讯精密工厂主要生产、组装全新AppleWatch。)  库克在采访中表示,截至目前,苹果有超过95%的产品仍在中国制造组装,在过去30年的时间里推动了中国供应链的蓬勃发展。  同时,库克表示苹果希望和供应链企业在合作中实现“双赢”:不限于产品制造的合作、企业相关的应收,还应该包括环境保护、企业社会责任及教育等多方面。  9月21日,立讯精密董事长王来春接受澎湃新闻记者采访时透露,今年立讯精密为苹果生产三款iPhone15,该业务在过去一年翻了一番。她同时还透露一个重要的信息,公司正在为明年初上市的苹果头显AppleVi...
            0 0 919
            分享
          • 前后端差点打起来事情是这样的:今天我们公司的后端说他接口写完了,并分享了一个接口文档给我。用的就是 Swagger UI 自动生成的那种接口文档,就像这种:这种 Swagger 文档我每次看着就头大,毛病多多:查看多级模型时要一级级点开在接口数量变多的时候非常难用,连分类菜单都没有提交参数为 JSON 的时候不能格式化参数出错的时候查找麻烦返回结果不能折叠,长得没法看时间比较紧急,我就按照他给的文档里的参数与响应数据,写到了我的前端页面上,前端这边简单自测了一下就匆匆上线了。上线完当晚就炸了。。页面上各种接口报错:参数不存在参数类型错误接口不存在(是因为接口写错了)老大马上过来找我俩,但是前后...
            4 4 825
            分享
          •   每个载入浏览器的HTML文档都会成为Document对象,Document对象,是所有Anchor、Applet、Area、Form、Image、Link、Plugin等对象的祖先对象。  Document 对象使我们可以从脚本(例如javascript)中对 HTML 页面中的所有元素进行访问,比如通过标签操作元素。  一起来看看javascript(以下简称js)是如何操作Document对象及通过Document方法操作其他对象的。  Document方法列表  以chrome浏览器为例,js对document对象及其子对象常用操作方法列表如下(按字母顺序排列)。表1 Documen...
            13 13 1306
            分享
          •   一、什么是API接口测试?  API接口有多种,个人将其划分为三类。  第一种是函数级别的,测试需要对接口的各个参数进行测试,如:  Int getResult(String key, String ID, Int ticket)。  第二种是对象级别的,开发在使用API接口时,先引入包名,在使用之前声明一个对象,之后可以使用对象提供的方法,而测试时,需要测试的是API的功能及对数据输入的正确性。第二种和第一种的差别是,我们只需关注提供给用户使用的接口就可以了,不用关心接口调用其他函数情况,相对于第一种来说,测试的粒度要大一些,范围小一些。  第三种是http协议的接口,App客户端和后端...
            1 2 3088
            分享
      • 51testing软件测试圈微信