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