您的位置:首页 > 其它

Jmeter初步使用(一)

2016-01-21 09:27 267 查看
Jmeter请求:



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请求
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: