码迷,mamicode.com
首页 > 其他好文 > 详细

采用Loadrunner&Jmeter发送Get&Post请求技巧

时间:2016-05-10 16:49:03      阅读:686      评论:0      收藏:0      [点我收藏+]

标签:

 

一、        Get请求
  不带参数

(1)       Loadrunner脚本

Action()

{

  web_custom_request("get请求",

  "URL=http://localhost:8080/ReceiveGetPost/MyServlet",【Get URL地址】

  "Method=GET",

  "Resource=0",

  "Referer=",

  "Mode=HTTP",

  "EncType=text/html; charset=UTF-8",

  "Body=",

  LAST);

  return 0;

}

(2)       发送请求

  • 方法一:

创建/编辑脚本中,配置Vuser->运行时设置->常规->运行逻辑,填写迭代次数,即为发送请求次数。

 

点击“运行”,开始执行:

 

  • 方法二:

运行负载测试中,场景设计配置用户数量,即为发送请求次数。注意:这里的发送请求测试由用户数量值和运行设置中的迭代次数值共同决定的,比如,用户数量为10,迭代次数为5,那么发送请求次数为10*5=50.

       

点击“开始场景”,开始执行:

 

  带参数

(1)       非参数化的Loadrunner脚本

Action()

{

  web_custom_request("get请求",

"  URL=http://localhost:8080/ReceiveGetPost/MyServlet?name=xuyj&id=123456",【Get URL地址】

  "Method=GET",

  "Resource=0",

  "Referer=",

  "Mode=HTTP",

  "EncType=text/html; charset=UTF-8",

  "Body=",

  LAST);

  return 0;

}

以上发送请求的方式与不带参数的Get请求发送方式一致。

(2)       参数化的Loadrunner脚本

Action()

{

  web_custom_request("get请求",

  "URL=http://localhost:8080/ReceiveGetPost/MyServlet?name=xuyj&id={NewParam}",【Get URL地址】

  "Method=GET",                                                【id 参数化】

  "Resource=0",

  "Referer=",

  "Mode=HTTP",

  "EncType=text/html; charset=UTF-8",

  "Body=",

  LAST);

  return 0;

}

(3)       发送请求

  • 方法一:

首先脚本变量参数化:

 

创建/编辑脚本中,配置Vuser->运行时设置->常规->运行逻辑,填写迭代次数,即为发送请求次数。

 

点击“运行”,开始执行:

 

运行结果为:id值可依次传入{NewParam}参数的值,相当于一个用户累加五次发送get请求,发送的id值均不相同。

 

  • 方法二:

首先脚本变量参数化:

 

运行负载测试中,场景设计配置用户数量,即为发送请求次数。注意:这里的发送请求测试由用户数量值和运行设置中的迭代次数值共同决定的,比如,用户数量为2,迭代次数为5,那么发送请求次数为2*5=10.

 

点击“开始场景”,开始执行:

 

       运行结果为:两个用户独立发送五次get请求,每个请求中的id依次传入{NewParam}参数的值,共10条。

 

二、        Post请求
  Body参数非独立

(1)       Loadrunner脚本

Action()

{

    web_custom_request("post测试",   //名称

    "Method=POST",                         //请求的方法

    "URL=http://localhost:8080/ReceiveGetPost/MyServlet",//请求地址

    "RecContentType=application/octet-stream",    //指定相应头的Content-Type

    "EncType=application/octet-stream",               //指定请求头的Content-Type

    "Mode=HTML",

    RAW_BODY_START,                      //请求BODY开始的标识符

    "{\"userIds\":[1300000001,1300002029,1300003163],\"type\":0}",  //BODY的内容  

    55,                            //上面一行BODY内容的长度

    RAW_BODY_END,                  //请求BODY结束的标识符

    LAST); 

    return 0;

}

计算BODY内容的长度的方法:

  1. 在Firefox上装好firebug这个插件
  2. 打开Firefox,然后打开控制台
  3. 在控制台里面输入BODY内容,然后用length属性来获取该字符串的长度,如果对于上面这个例子,就是|| “{\"userIds\":[1300000001,1300002029,1300003163],\"type\":0}”.length ||,这样就能计算出结果“55”

详情可查看网址http://magustest.com/blog/loadtest/json-format-request-using-loadrunner/

解析:Post请求中的Body内容作为一个整体,发送给接收方,参数不独立。其中参数userIdstype在Loadrunner中不可参数化。

(2)       发送请求

其发送方式与不带参数的Get请求发送方式相同。

  Body参数独立

(1)       Jmeter添加Post请求

 

Post请求的Body中分别有userIds和type两个独立参数

(2)       发送请求

在Jmeter线程组中配置发送方式和发送次数

 

线程数:相当于用户数

ramp-up period:用于告知Jmeter要在多长时间内建立全部的线程。默认值是0。如果未指定ramp-up period,也就是说ramp-up period为零,Jmeter将立即建立所有线程,假设ramp-up period设置成T秒,线程数设置成N个,Jmeter将每隔T/N秒建立一个线程。

       点击“运行”,开始执行:

 

  Body带音频/视频等附属文件

Jmeter添加音频/视频文件

 

采用Loadrunner&Jmeter发送Get&Post请求技巧

标签:

原文地址:http://www.cnblogs.com/yunman/p/5478271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!