Jmeter初步使用(一)
2016-01-21 09:27
267 查看
Jmeter请求:
Jmeter:模拟用户大量的并发的问题。
应用部署到应用服务器上,用户做为个体发送请求给应用服务器,应用服务器会给用户返回请求。Jmeter模拟发送请求到应用服务器,检测发送请求后返回的值。一个Thread为一个用户。
使用Jmeter模拟EasiCare发送校园通知
首先先看看开发提供的API文档
http://seewoapi.gz.cvte.cn:3000/topic/54d4586635b2a08a39c9ef0b
request参数:
Response的值:
接着使用WireShark进行抓包验证,得到的结果为:
request参数:
Response的值:
API文档和抓包得到的参数是一致的,不过个人还是偏向于抓包和API文档的结合使用,因为有时候开发那边对于API文档的更新并没有那么及时。
现在使用Jmeter工具模拟这个请求:
1. 创建一个线程组
2.发送消息为HTTP请求,所以首先添加一个HTTP请求项
3.得到的HTTP请求页面
4.我们上面通过API或者抓包得到的请求URL和request参数,在Jmeter请求页面中,填写服务器名称或IP、路径以及请求的参数
4.1 服务器IP为:${IPVal},因为服务器IP在每次请求时都需使用,故将服务器IP设置为全局变量IPVal,全局变量的设置方法为:
4.2implementation的值为HttpClient3.1,协议为http,方法为POST
4.3 请求参数classId的对应的值为classIdVal,classIdVal的值为“获得用户个人详细信息”的HTTP请求返回结果使用正则表达式提取器得到的值
现在已完成一个Http请求
Jmeter:模拟用户大量的并发的问题。
应用部署到应用服务器上,用户做为个体发送请求给应用服务器,应用服务器会给用户返回请求。Jmeter模拟发送请求到应用服务器,检测发送请求后返回的值。一个Thread为一个用户。
使用Jmeter模拟EasiCare发送校园通知
首先先看看开发提供的API文档
http://seewoapi.gz.cvte.cn:3000/topic/54d4586635b2a08a39c9ef0b
URL:host+[port]+/server +"/message/update" Method:POST
request参数:
{ "userId":200, //required,用户id "accessToken":"xxxxx", //required,服务器返回tokenid "message":"xxxxx", //required,消息内容 "pic":"xxxxx", //optional "digest":"xxxxx", //optional,消息摘要 "classId":"xxxx", //optional,班级id,多个班级为数组形式 "messageType":xxx //required,0-学校消息;1-班主任消息;2-作业提醒;3-家长成绩;4-班级成绩单 "receivers":"xxx","xxx" //接收者的id,多个接收者以逗号分隔开 }
Response的值:
{ "data": [ { "classId": "149c49cdd72d44eca9321053d8fdf48f", "unreadCount": 2, "messageId": "f98ca30c41cf498bb810f594d238a873", "postedAt": 1428893156939 }, "statusCode": 200 }
接着使用WireShark进行抓包验证,得到的结果为:
URL:/seecare/message/update Method:POST
request参数:
sendId=be041324-ceec-4947-8be6-0bfa8be037b5&message=cghhjjkkkkkkkkkkkkkkkkk&accessToken=e09baab0c8f391c4b77a9e95fee52a50bca&classId=8891c0d167584d138471d199203a66bf&userId=0d492cf7846e4ae293a805f08582bfff&digest=&pic=&messageType=1
Response的值:
{"data":[{"classId":"8891c0d167584d138471d199203a66bf","messageId":"b3e544e72e9f407c9865b88bc3150bce","unreadCount":1,"postedAt":1440639146316}],"statusCode":200}
API文档和抓包得到的参数是一致的,不过个人还是偏向于抓包和API文档的结合使用,因为有时候开发那边对于API文档的更新并没有那么及时。
现在使用Jmeter工具模拟这个请求:
1. 创建一个线程组
2.发送消息为HTTP请求,所以首先添加一个HTTP请求项
3.得到的HTTP请求页面
4.我们上面通过API或者抓包得到的请求URL和request参数,在Jmeter请求页面中,填写服务器名称或IP、路径以及请求的参数
4.1 服务器IP为:${IPVal},因为服务器IP在每次请求时都需使用,故将服务器IP设置为全局变量IPVal,全局变量的设置方法为:
4.2implementation的值为HttpClient3.1,协议为http,方法为POST
4.3 请求参数classId的对应的值为classIdVal,classIdVal的值为“获得用户个人详细信息”的HTTP请求返回结果使用正则表达式提取器得到的值
现在已完成一个Http请求
相关文章推荐
- Java笔记16:多线程共享数据
- iOS开发之深入理解GCD
- android 混淆
- sscanf的高级用法(总结)
- 用自己的库替换系统库
- C语言复杂指针说明
- 关于C语言指针的用法
- TCP/IP源码学习(52)——TCP的连接过程的实现(1)
- linux内核面试题一
- 进程间通信:共享内存Shmem.c分析
- LWIP UDP 协议分析
- 如何减小与“大牛”的差距
- 图的遍历
- 面试中经常碰到的C语言算法
- MPlayer播放器源码分析
- 精·彩 没我怎么型! LG L3新款手机中国发布
- (转帖)Ascii码表(全)
- Linux独立中断栈学习笔记及验证实验(ARM、x86)
- 16道嵌入式C语言面试题(经典)
- gradle maven私服构建aar