Jmeter新手。还在学习。任何帮助将不胜感激。
上面是发布请求,我发送wa,trealm,wctx,wct,wauth的值,这是我从之前的回复中获得的。 对于上面的帖子请求,我得到了以下一个隐藏变量“wresult”
的响应<html><head>
<title>Working...</title>
</head>
<body>
<html><head><title>Working...</title></head><body>
<form method="POST" name="hiddenform" action="https://exe.example.com/">
<input type="hidden" name="wa" value="esignin1.0" />
<input type="hidden" name="wresult" value="<t:RequestSecurityTokenResponse xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust"><t:Lifetim….…….../trust/Issue</t:RequestType><t:KeyType>http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey</t:KeyType></t:RequestSecurityTokenResponse>" />
<input type="hidden" name="rctx" value="rm=1&id=f71cbbfb-c9f6-4255-bb38-f9ec81f1d4aa&ru=https%3a%2f%2fexample.com%2fdefault.aspx" />
<noscript><p>Script is disabled. Click Submit to continue.<input type="submit" value="Submit" /></noscript></form><script language="javascript">window.setTimeout('document.forms[0].submit()', 0);</script></body></html>
我必须在下一个请求中发送摔跤价值。摔跤价值应如下。
<t:RequestSecurityTokenResponsexmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust<t:Lifetim……………entity/NoProofKey</t:KeyType></t:RequestSecurityTokenResponse>
,而是将wresult值作为
发送<t:RequestSecurityTokenResponse xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust"><t:Lifetim….….……entity/NoProofKey</t:KeyType></t:RequestSecurityTokenResponse>" />
在浏览器中,我猜是用“&lt;”替换“<
” 。我检查了一切,看起来请求失败了,因为“<
”没有被替换
“&LT;”在jmeter。我猜对了吗?如果是,有没有办法在Jmeter中编辑wresult的值,然后在请求中发送它?
有谁能告诉我如何解决这个问题?
答案 0 :(得分:0)
JMeter不会执行任何javascript但是你的浏览器会这样做! 所以你可能是对的!
所以,在你的分析中,如果“&lt;” - 只是这会导致问题 - 您可以使用BeanShell PostProcessor / PreProcessor来查找要替换的字符串/字符串,并将其替换为您想要的内容!
http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PostProcessor
答案 1 :(得分:0)
尝试在HTTP请求中使用“内容编码:”“UTF-8”或“iso-8859-1”。
您还必须检查“编码?”中的参数。你要求的栏目。
希望这会有所帮助。答案 2 :(得分:0)
如果它是您遇到此问题的唯一地方,您可以使用以下代码添加Beanshell Pre-Processor来解决此问题:
String wresult = vars.get("wresult").replaceAll("<([^.]*?)", "<");
vars.put("wresult",wresult);
使用上面的代码添加Beanshell预处理器作为请求的子代,您尝试传递wresult
变量。