在jmeter中使用XPATH-基于父级

时间:2018-07-20 18:20:15

标签: jmeter

我有一个具有以下结构的xml文件:

           <subscriberDetailsItem>
                <externalSubId>911</externalSubId>
                <paymentIndicator>2</paymentIndicator>
                <IMSI>302</IMSI>
                <MSISDN>416</MSISDN>
                <status>A</status>
                <outSubscriptionDetails>
                    <subscriptionDetailsItem>
                        <socId>ABCDEF</socId>
                        <featureCode>GHIJKL</featureCode>
                        <startDate>20180720000000</startDate>
                        <featureSeq>47452111</featureSeq>
                        <subscriptionType>DATA</subscriptionType>
                        <shareGroupCd>SHARE</shareGroupCd>
                        <initialValueBytes>1073741824</initialValueBytes>
                        <priority>3000</priority>
                        <balanceType>BAL</balanceType>
                    </subscriptionDetailsItem>
                </outSubscriptionDetails>
            </subscriberDetailsItem>

我希望能够基于socID字段提取externalSubId字段。本质上,我希望能够做到这一点:

如果externalSubId=911,则提取SOCID。有人提示吗?

1 个答案:

答案 0 :(得分:0)

您未指定要在何处提取 ,因此我假设您可以将 XPath Extractor 用作读取该文件的某些采样器的后处理器

您可以这样配置后处理器:

enter image description here

XPath查询可以这样构建:

  1. 选择具有subscriberDetailsItem和您想要的值的externalSubId

    //subscriberDetailsItem[externalSubId=911]
    
  2. 使用绝对路径选择socId

    //subscriberDetailsItem[externalSubId=911]/outSubscriptionDetails/subscriptionDetailsItem/socId
    

    或者如果在项目的其他位置找不到socId,则可以在中间省略实体:

    //subscriberDetailsItem[externalSubId=911]//socId