我正在测试我的网站,该网站需要正确设置Cookie数据,并且有很多Cookie数据使得手动添加它很烦人。我稍微谷歌,知道我可能会从Firefox firebug导出cookie并将其加载到jMeter HTTP COOKIES MANAGER中。但是我尝试了很多次并且没有看到导入的任何cookie数据,没有任何改变,我不知道发生了什么。
我正在使用最新的jMeter。有什么建议吗?
这些是我的一些cookie数据,从firebug中导出
.qq.com TRUE / FALSE 1755394742 RK xGvq1yp4Tf
.tenpay.com TRUE / FALSE certallnum 1
.tenpay.com TRUE / FALSE certinfo 1|150537011-
.tenpay.com TRUE / FALSE certlist 150537011-
.tenpay.com TRUE / FALSE certuserflag 1
.tenpay.com TRUE / FALSE 1441074265 ctrlServErr undefined
.qq.com TRUE / FALSE 1443526587 lskey 0001000064e173918a7f1bfc52dc25d64a62e88892dfc1128b742e69cdf304aecaf2136b14628f2188588a3a
.qq.com TRUE / FALSE 1443526587 luin o0414077270
.qq.com TRUE / FALSE 2147385600 o_cookie 414077270
答案 0 :(得分:0)
JMeter的HTTP Cookie管理器非常智能,可以自行处理cookie。
查看tenpay.com
网站的回复,我可以看到以下内容:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="GB2312">
<meta http-equiv="refresh" content="0;url=https://www.tenpay.com/v2/">
<title>²Æ¸¶Í¨ - »áÖ§¸¶ »áÉú»î</title>
</head>
<body>
</body>
</html>
注意这一行:
<meta http-equiv="refresh" content="0;url=https://www.tenpay.com/v2/">
JMeter不是浏览器。就Web服务和远程服务而言,JMeter看起来像浏览器(或者更确切地说,是多个浏览器);但是JMeter不会执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的Javascript。它也不像浏览器那样呈现HTML页面(可以将响应视为HTML等,但是时间不包含在任何样本中,并且一次只查看一个线程中的一个样本)。
这意味着JMeter不会自动打开https://www.tenpay.com/v2/
URL,您需要明确“告诉”JMeter对该URL执行GET请求。
使用Regular Expression Extractor从<meta http-equiv="refresh"...
位提取网址,如:
按如下方式配置:
URL
<meta http-equiv="refresh" content="0;url=(.+?)">
$1$
在第一个采样器之后添加一个新的HTTP请求采样器,保留所有内容并将${URL}
放入“路径”输入中,这样您的测试计划就像: