zhangdizhu 发表于 2015-1-12 12:27:21

jmeter如何读取http header中的信息

jmeter如何读取http header中的信息??

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header><SessionId>${sessionID}</SessionId></SOAP-ENV:Header>
<SOAP-ENV:Body>.....</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

在发送请求时,http header 中的sessionID 和 请求中的 soap中的sessionID一致服务器才会正确返回响应
通过添加HTTP Cookie 管理器可以自动添加http header 中的sessionID ,
但是如何获得http header 中的sessionID并传给 soap中的sessionID呢??
直接通过 正则表达式提取器 好像不能获取到http header中的信息,

土土的豆豆 发表于 2015-1-12 15:41:52

讲session 参数化呗~
直接用正则或者断言截取session,将其保存在对象变量里进行参数化就行了
或者索性写个shell脚本~

zhangdizhu 发表于 2015-1-12 18:15:39

土土的豆豆 发表于 2015-1-12 15:41
讲session 参数化呗~
直接用正则或者断言截取session,将其保存在对象变量里进行参数化就行了
或者索性写 ...

Response headers:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: SESSIONID=925F1BFC37400E15BF99BCE51A09FB50; Path=/
Content-Type: text/xml;charset=UTF-8
Content-Length: 357
Date: Mon, 12 Jan 2015 10:18:39 GMT
Connection: close

========================

String json = prev.getResponseHeaders();
//System.out.println(json);

int index;
String temp;
indxe = json.indexOf("=");
//System.out.println(index);

temp =json.subString(index,index+11);
System.out.println(temp);

我这样写的脚本,但是没有输出结果,请问有什么问题吗,
Set-Cookie: SESSIONID=(.+?); Path=/
另外,试了断言截取了session,但是怎么保存呢??
试了正则表达式提取器,但是提取不到session,

zhangdizhu 发表于 2015-1-13 08:53:30

相同的设置,
昨天用正则表达提取器提取不到session,今天就能提取到:L
页: [1]
查看完整版本: jmeter如何读取http header中的信息