首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMS发布服务器-如何从XML请求中获取值

JMS发布服务器-如何从XML请求中获取值
EN

Stack Overflow用户
提问于 2021-12-29 10:46:23
回答 1查看 76关注 0票数 0

我试图从从JMS发布服务器发送到JMS订阅服务器的xml文档中获取一个值。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<sys1>
    <req>
        <id>123</id>
        <message>hello</message>
    </req>
</sys1>

文档会被转换。我需要检查xml文档中的“id”在转换后是否保持不变。当我从订阅者那里得到"id“时,我只需要使用后处理器- XPath抽取器并得到它。

但是当我在出版商里使用它的时候,我什么也得不到。

我阅读了一些j抄手册,发现“这个测试元素(XPath抽取器)允许用户使用查询语言从结构化的XPath响应- XML或(X)HTML中提取值。”

然后,我尝试用正则表达式抽取器获得它,但它也只适用于响应。但我怎样才能从请求中得到呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-29 14:44:16

我认为您可以使用JSR223 PostProcessor访问请求数据,示例代码如下所示:

代码语言:javascript
复制
def id = new groovy.xml.XmlParser().parseText(ctx.getCurrentSampler().getTextMessage()).req.id.text()

如果要将结果存储到JMeter变量中,还可以添加下一行:

代码语言:javascript
复制
vars.put('id', id)

一旦完成,您将能够在需要时以${id}的形式访问提取的值。

在上面的代码中,ctx表示JMeterContext类实例,请参阅JavaDoc获取对所有方法和字段的描述,并查看在Groovy中应该使用的前8个JMeter Java类以获得有关该方法和JSR223测试元件可用的其他JMeter API缩写的更多信息。

您也可能对Groovy文档的Apache处理XML章节感兴趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70518326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档