帮助使用常规提取器在jmeter请求中存储值和调用变量

帮助使用常规提取器在jmeter请求中存储值和调用变量,jmeter,Jmeter,我的soap/xml响应如下所示: <Account><Accountnumber>1234<Description>savings</Account><Account><Accountnumber>1235<Description>Savings1</Account> 1234储蓄1235储蓄1 我希望将AccountNumber存储在变量或数组中,并在jmeter中的另一个soap xml请求

我的soap/xml响应如下所示:

<Account><Accountnumber>1234<Description>savings</Account><Account><Accountnumber>1235<Description>Savings1</Account>
1234储蓄1235储蓄1
我希望将AccountNumber存储在变量或数组中,并在jmeter中的另一个soap xml请求中调用它,以了解它们的详细信息。有人能帮我存储和调用那个变量吗?我是Jmeter的新手

提前谢谢

  • 您可以将数据保存在“.csv”文件中,Jmeter可以通过其csv数据集配置轻松读取数据
  • 在脚本中使用${your data variable}

  • 如果帐号是静态的,那么最好使用.csv文件,正如Vance所提到的,因为csv数据读取器的开销比正则表达式小

    然而,如果您想要动态数据,这很容易做到

  • 下载“regexcoach”以帮助您编写正则表达式。这是一个了不起的工具
  • 将“正则表达式提取器”作为子级附加到SOAP/XML请求
  • 运行请求一次,以获得响应
  • 将响应复制到regex coach(或您使用的任何工具)中,然后编写您的regex。它将如下所示:(\d+?)\d(查找文本accountNumber后的任何数字,并在非数字后停止)
  • 配置正则表达式的其余部分。在这种情况下,您需要:

    • 适用于:仅适用于主样本
    • 检查响应文件:主体
    • 参考名称:VariableName
    • 正则表达式:参见步骤3
    • 比赛编号:1(第一场比赛)0(任何比赛)或-1(全部比赛) 匹配,在执行“FOR EACH”时很有用 发现“逻辑”
    • 默认值:失败
  • 要在其他请求中使用您的可变帐号,只需使用引用名称即可。在本例中:${VariableName}

  • 参考: