如何从之前的soap请求中提取值并传递给jmeter中的另一个新请求?

问题描述:

我想提取以前的soap响应值并将它传递给jmeter中的下一个请求,请提供更好的帮助,并请查找我的soap请求。如何从之前的soap请求中提取值并传递给jmeter中的另一个新请求?

SOAP请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.clp.eks.com" xmlns:wsf="http://wsform.clp.eks.com"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <ser:PB_GC_SaveTxn> 
     <ser:inputForm> 
      <wsf:carddiscount>1.00</wsf:carddiscount> 
      <wsf:cardno>69699</wsf:cardno> 
      <wsf:cashmemodt>03-06-2017</wsf:cashmemodt> 
      <wsf:couponcode></wsf:couponcode> 
      <wsf:mcdtls>[email protected]@[email protected]</wsf:mcdtls> 
      <wsf:paymentCardno>[email protected]</wsf:paymentCardno> 
      <wsf:paymentmode>[email protected]</wsf:paymentmode> 
      <wsf:no>1</wsf:posno> 
      <wsf:rpoint></wsf:rpoint> 
      <wsf:code>727</wsf:sitecode> 
      <wsf:txnno>31129</wsf:txnno> 
     </ser:inputForm> 
     </ser:PB_GC_SaveTxn> 
    </soapenv:Body> 
</soapenv:Envelope> 

现在我需要提取日期,卡,事务处理不,存储和传递到下一个请求,即取消TXN请求,请提供的解决方案如何使用,我用的XPath提取但它不起作用。

+0

你想从响应中提取?响应和你尝试的xpath在哪里? – user7294900

+0

我想从请求中提取而不是响应,并在屏幕截图上截图,以防上传屏幕截图时未显示屏幕截图。 –

  1. 你的反应是无效的,即:

    <wsf:no>1</wsf:posno>` 
        ^it should be <wsf:posno>` 
    <wsf:code>727</wsf:sitecode> 
        ^it should be <wsf:sitecode> 
    

    如果有复制粘贴问题,这很好,如果你的应用程序响应这种方式 - 这是一个错误。您将无法使用XPath提取在这种情况下,你需要切换到Regular Expression Extractor

  2. 鉴于你将能够得到正确的响应(有效的XML)的使用XPath查询,如:

    //wsf:cashmemodt | //wsf:cardno| //wsf:txnno 
    

    得到日期,卡片和Txn。我不知道什么是“商店”是

  3. 下面是从View Results Tree听者的XPath测试模式演示(见How to Debug your Apache JMeter Script文章,详细了解故障排除方法)

    JMeter Xpath Tester Demo

+0

我无法看到png图像 –

+0

K即复制粘贴问题。 –

+0

嗨德米特里,我不能像上面那样执行并接收错误消息为“断言错误:错误 断言失败:为真 断言失败消息:前缀必须解析为命名空间:wsf 请参阅日志文件以获取更多详细信息。 –