Jmeter

本文详细介绍了JMeter的组件及其作用,包括测试计划、线程组、取样器等,并阐述了接口测试的步骤,如设计用例、执行测试、断言验证和生成测试报告。还探讨了JMeter在接口测试中的局限性,如cookie鉴权、脚本录制问题及本地接口测试。最后,展示了如何设置JSON格式参数进行登录验证,并提供了生成测试报告的命令行操作。
摘要由CSDN通过智能技术生成

Jmeter

1 组件

1.测试计划:jmeter的起点和容器
2.线程组:相当于多个用户,同时去执行相同的一批任务。每个线程之间隔离,互不影响。
3.取样器:发送请求的最小单元
4.逻辑控制器:控制组件的执行顺序
5.前置处理器:在请求之前的操作
6.后置处理器:再请求之后的操作
7.断言:判断请求是否成功
8.定时器:是否延迟或间隔发送请求
9.配置元件:请求期的配置信息
10.监听器:负责收集测试结果

2 执行顺序

测试计划-> 线程组-> 配置元件-> 前置处理器-> 定时器-> 取样器-> 后置处理器-> 断言-> 监听器

3 作用域

组件会作用于它的父级组件、同级组件以及同级组件的子组件

4 接口测试流程

1)拿到接口文档(如果没有就抓包,录制),熟悉接口业务,接口地址,入参,出参,错误码,兼容性等。
2)接口测试用例的设计和评审
正例:
反例:
1.鉴权反例(鉴权码过期,比如调用支付宝的接口,一般是一年过期)
2.参数反例(参数类型、长度异常)
3.其他场景(黑名单、调用次数限制、分页场景)
4.兼容性(一个接口对应多个版本App)

3)执行测试接口
4)团队协作,持续集成并生成报告发送邮件

5 接口测试

cookie鉴权的原理
客户端第一次访问服务器的时候,服务器就会生成cookie,然后通过响应头里的set-Cookie传输到客户端,然后保存在客户端
之后访问时,在请求头里面通过Cookie把我们保存在本地的Cookie信息传输到服务器以实现鉴权。

录制网站流量(类似LoadRunner中的脚本录制功能)

1.在测试计划下添加HTTP代理服务器

2.在线程组里面添加逻辑控制器中的录制控制器

3.设置Http代理服务器

  • 将每个组放到新的事务控制器中
  • 如果需要过滤一些请求(因为有些资源不是放在你想测的服务器上的),点击Request Filtering配置页

但是jmeter的脚本录制功能有很多限制
例如:
1.开启代理之后电脑不能访问外网问题
这是我们需要把证书导入浏览器中才行
在这里插入图片描述
在这里插入图片描述
2.即使导入了证书,有些https请求还是不能访问,例如网易邮箱等等

3.不能测试本地项目
这时我们要把localhost换成本机地址,http:本机ip/api/xxx/xxx/xxx

Jmeter发送的请求参数为JSON

在做登录验证时,我后台接受的参数是请求体,要求数据是JSON格式。
在这里插入图片描述
这时我们应该如何在Jmeter中设置JSON格式的参数呢?
在这里插入图片描述
我们可以在消息体数据中添加一个JSON格式的数据。测试一下
在这里插入图片描述
后台成功响应

生成测试报告

命令行输入以下代码(如果没有配置环境变量,需要在jmeter的bin文件夹下运行)

jmeter -n -t D:\jmeter-testPlan\TestBS.jmx -l D:\jmeter_report\TestBS\login.jtl -j D:\jmeter_report\TestBS\login.log

会在指定文件夹下生成.jtl文件和.log文件
有了jtl文件后方可生成html报告
jmeter -g D:\jmeter-testPlan\login.jtl -o E:\jmeter\htmls

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值