转载:https://blog.youkuaiyun.com/qq_37746973/article/details/81904751
1. 使用BadBoy录制脚本
在地址栏中输入对应网址
在左边添加步骤,这一点比较重要,最好不要将操作混在一起。每个操作有他对应的响应时间。
点击【File -> export to JMeter】,到处录制的脚本。
2. 配置JMeter
1. JMeter打开脚本
左键点击Thread Group,
2. 添加监听器
一般添加:察看结果数量,聚合报告,图形结果
对于有的请求是BadBoy无法录制到的比如Ajax请求
就要自行添加请求。请求内容从浏览器的network上查找
请求发送参数化:
右键点击请求【添加 -> 配置原件 -> CSV数据文件设置】
添加对base64的转码工具
右键【添加》后置处理》BashShell】
在下面添加如下代码
-
String s=
new String(prev.getResponseData(),
"UTF-8");
-
char aChar;
-
int len= s.length();
-
StringBuffer outBuffer=
new StringBuffer(len);
-
for(
int x =
0; x <len;){
-
aChar= s.charAt(x++);
-
if(aChar==
'\\'){
-
aChar= s.charAt(x++);
-
if(aChar==
'u'){
-
int
value =
0;
-
for(
int i=
0;i<
4;i++){
-
aChar= s.charAt(x++);
-
switch(aChar){
-
case
'0':
-
case
'1':
-
case
'2':
-
case
'3':
-
case
'4':
-
case
'5':
-
case
'6':
-
case
'7':
-
case
'8':
-
case
'9':
-
value=(
value <<
4)+aChar-
'0';
-
break;
-
case
'a':
-
case
'b':
-
case
'c':
-
case
'd':
-
case
'e':
-
case
'f':
-
value=(
value <<
4)+
10+aChar-
'a';
-
break;
-
case
'A':
-
case
'B':
-
case
'C':
-
case
'D':
-
case
'E':
-
case
'F':
-
value=(
value <<
4)+
10+aChar-
'A';
-
break;
-
default:
-
throw
new IllegalArgumentException(
-
"Malformed \\uxxxx encoding.");}}
-
outBuffer.append((
char)
value);}
else{
-
if(aChar==
't')
-
aChar=
'\t';
-
else
if(aChar==
'r')
-
aChar=
'\r';
-
else
if(aChar==
'n')
-
aChar=
'\n';
-
else
if(aChar==
'f')
-
aChar=
'\f';
-
outBuffer.append(aChar);}}
else
-
outBuffer.append(aChar);}
-
prev.setResponseData(outBuffer.toString());