如何使用从 CSV 文件中获取的 BodyData 映射 RegEx 变量
How to Map RegEx variables with BodyData fetched from CSV Files
来自 JMeter 的 CSV 数据配置包含以下内容 -
File.csv 包含以下内容
GetAllOrderItems.txt 包含以下内容
{"dataRows":[],"orderGuid":"${orderGuid_1_g1}","facilityPk":"0","jtStartIndex":0,"jtPageSize":100,"jtSorting":"SKU ASC","isMap":"1"}
orderGuid_1_g1 从正则表达式提取器中获取
我将以下内容传递给 JMeter 正文数据
当我执行JMeter测试时,我可以看到以下内容
{"dataRows":[],"orderGuid":"${orderGuid_1_g1}","facilityPk":"0","jtStartIndex":0,"jtPageSize":100,"jtSorting":"SKU ASC","isMap":"1"}
但是,我希望从先前 HTTP 请求的 Reg Ex 中获取 ${orderGuid_1_g1}。
我想关注
{"dataRows":[],"orderGuid":"644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b","facilityPk":"0","jtStartIndex":0,"jtPageSize":100,"jtSorting":"SKU ASC","isMap":"1"}
代码运行良好,如果我没有从文本中获取正文数据并直接在 HTTP 请求正文中插入下面的代码
{"dataRows":[],"orderGuid":"${orderGuid_1_g1}","facilityPk":"0","jtStartIndex":0,"jtPageSize":100,"jtSorting":"SKU ASC","isMap":"1"}
当您从文件加载内容时,JMeter 不会解释变量。
此外,不建议使用 __FileToString 函数进行负载测试 ,除非它用于设置,例如这里不是这种情况。
所以只需要将JSON Body请求放在请求正文中,这样可读性会更好。
如果您仍想这样做,请按照 Dmitri 的回答进行操作。
如果您的文件包含嵌套的 JMeter 变量,您需要包装您的 __FileToString() function call in __eval() function,例如:
${__eval(${__FileToString(${GetAllOrderItems})})}
演示:
来自 JMeter 的 CSV 数据配置包含以下内容 -
File.csv 包含以下内容
GetAllOrderItems.txt 包含以下内容
{"dataRows":[],"orderGuid":"${orderGuid_1_g1}","facilityPk":"0","jtStartIndex":0,"jtPageSize":100,"jtSorting":"SKU ASC","isMap":"1"}
orderGuid_1_g1 从正则表达式提取器中获取
我将以下内容传递给 JMeter 正文数据
当我执行JMeter测试时,我可以看到以下内容
{"dataRows":[],"orderGuid":"${orderGuid_1_g1}","facilityPk":"0","jtStartIndex":0,"jtPageSize":100,"jtSorting":"SKU ASC","isMap":"1"}
但是,我希望从先前 HTTP 请求的 Reg Ex 中获取 ${orderGuid_1_g1}。 我想关注
{"dataRows":[],"orderGuid":"644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b","facilityPk":"0","jtStartIndex":0,"jtPageSize":100,"jtSorting":"SKU ASC","isMap":"1"}
代码运行良好,如果我没有从文本中获取正文数据并直接在 HTTP 请求正文中插入下面的代码
{"dataRows":[],"orderGuid":"${orderGuid_1_g1}","facilityPk":"0","jtStartIndex":0,"jtPageSize":100,"jtSorting":"SKU ASC","isMap":"1"}
当您从文件加载内容时,JMeter 不会解释变量。
此外,不建议使用 __FileToString 函数进行负载测试 ,除非它用于设置,例如这里不是这种情况。
所以只需要将JSON Body请求放在请求正文中,这样可读性会更好。
如果您仍想这样做,请按照 Dmitri 的回答进行操作。
如果您的文件包含嵌套的 JMeter 变量,您需要包装您的 __FileToString() function call in __eval() function,例如:
${__eval(${__FileToString(${GetAllOrderItems})})}
演示: