测试之JMeter接口测试

什么是JMeter

JMeter是一款Java开源工具,用于性能负载测试。旨在分析和商量Web应用程序和各种服务的性能和负载功能行为

JMeter的工作原理

JMeter就像一群将请求发送到目标服务器的用户一样。它收集来自目标服务器的响应以及其他统计数据,这些统计数据通过图形或表格显示应用程序或服务器的性能。

性能测试指标

1.响应时间

2.并发用户数

3.吞吐量

4.系统性能计数器

5.思考时间

这5点总结即为“多快好省”。

“多”:最大的用户访问量(并发量);

“快”:响应时间快(延时,响应时间)客户感知的感应时间:是端到端的可以通过ping一下网址告诉消息发送过去回应后的响应时间;响应时间:对请求做出响应所用的时间,标准一般是(2/5/8秒)

“好”:持久运行,稳定性;

“省”:系统性能要省(资源使用率)。

 JMeter做代理抓数据(数据抓包)

添加线程组

 点击测试元件,选择HTTP代理服务器。

 类比在fiddler抓包上,使用ipconfig得到IP,打开浏览器的代理模式,代理模式和JMeter的HTTP代理服务器上的端口保持一致。在JMeter的HTTP代理服务器的目标控制器下选择 测试计划-> 线程组。最后抓到的结果可以在线程组中查看。

 JMeter 做接口测试  

以下测试是功能测试

1.添加线程组

先选择一个线程组。在选择的线程组里面的数据不必修改

2.添加HTTP请求 

按照以下的方式输入参数。

3.添加HTTP信息头管理器

输入请求头的内容 

 4.添加察看结果树

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

 点击运行后,可以查看运行后的结果。

HTTP请求默认值 

 在HTTP请求默认值中填写在整个流程中参数相同的信息,在其他地方则不必在填写该参数信息。

 HTTP Cookie管理器

若接口中需要获得Cookie值,配置元件 — HTTP Cookie管理器

 JSON提取器

 

请求头1:名称:X-AUTH-TOKEN 值:通过获取Token 接口(该操作的上一个操作所得的值)获取到的值

请求头2:名称:Content-Type 值:application/json

 1.添加JSON提取器

 将其放在被提取值的操作下,比如上述例子就是放在“获取Token值”的操作下,结果如下所示:以键值对形式存在。

"token":

"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJmYW5jbCIsInN1YiI6ImZhbmNsIiwiaWF0 IjoxNTUwODI2NjI4fQ.610ca0Np-OxDRHew0TyJIScqnBAeeUQs9ir6zRXtp_4"

自己起一个变量名,通过$.键名获得Token值 

 获取的token值在请求头中使用

使用格式为  ${json中的变量名}

 CSV数据文件设置

以上的操作都是基于用户数为1进行操作,若2个及两个以上操作则需要用到CSV数据文件设置

 以下一个两个用户,时间间隔1秒的操作为例,将线程组中的线程属性的线程数改为2,Ramp-Up时间为1。

 HTTP请求中的键值对的值用变量表示,格式为${变量名}如下改为${uesrName}和${passWord}

 在CSV数据文件设置中,文件从磁盘获得,变量名称按上述填写

 JMeter做参数化,使用函数助手,根据所需要的功能选择相应的函数。

 将生成的字符串拷贝下来,代替原有的字符串

比如:

 

正则表达式

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

 添加 ->后置处理器  -> 正则表达式提取器

 正则表达式名称,我们使用${名称}来进行引用;(同JSON提取器)

设置提取规则:.  匹配任何字符      +   一次或更多次   ?    停止在第一个匹配成功时  基本格式为"键名":'' (.+?)"或者"键名"="(.+?)";前面的形式为上一步所获得的键名的形式。

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

匹配数字:-1表示全部,0随机,1第一个,2第二个

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

 断言

在响应断言里添加给定的相应文本,并在查看结果树里查看是否断言成功,若成功,则没有任何信息,若失败,则出现第三幅图的情况。

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

 同步计时器

同步计时器用来保证我们的取样器在同一时刻向服务器发起负载,考虑到线程运行的时间快慢和场景的需要,也提供了同步线程数量的设置。

 

如上的taken值提取,cookies值提取,JSON提取器,正则表达式提取器就是JMeter的关联技术

单点登录、多点登录、同步计时器的使用就是JMeter的集合点技术。

 

 

 

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值