我正在使用Jmeter进行Service Call.I我得到了xml格式的响应。随着xml响应,我也得到了它上面的标题,这不是xml响应的一部分.Below是我得到的响应
TOKEN
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<URL>https://link.com</URL>
<ToName>sharnell Kkqwjidzwh</ToName>
<Link>gsajfgasgfgasjkgfjasgfjgjg</Link>
</xml>
我想提取Link属性的值。我在xpath提取器中尝试了这个路径..
//链接 但它不起作用。我认为这是因为TOKEN标题位于响应之上。任何人都知道我们如何编辑响应并从响应中删除该标题。
先谢谢
答案 0 :(得分:3)
首先尝试检查Use Tidy
框,如果XML / XTML无效,可能会有帮助
如果它没有帮助 - 请参阅下面的解决方法:
如果您需要在<?xml version="1.0" encoding="UTF-8"?>
行前删除所有内容,可以通过Beanshell PostProcessor进行删除。
将以下代码放入Beanshell PostProcessor&#34; Script&#34;面积:
String originalResponse = new String(data);
String filteredResponse = originalResponse.substring(originalResponse.indexOf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"));
prev.setResponseData(filteredResponse.getBytes());
以上代码将覆盖响应并删除<?xml version="1.0" encoding="UTF-8"?>
行
说明:
data
- 是包含父样本的响应数据的字节数组substring
和indexOf
- 是基本的java.lang.String方法prev
是SampleResult类的一个实例,它提供对父采样器结果的读/写访问权有关JMeter中Beanshell脚本的更多信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南。
答案 1 :(得分:-1)