gpt4 book ai didi

csv - JMeter:使用 CSV 数据将参数传递到 HTTP GET 请求查询字符串

转载 作者:行者123 更新时间:2023-12-02 21:10:54 27 4
gpt4 key购买 nike

我对 JMeter 相当陌生,正在创建一个负载测试。我在 HTTP Sampler 中有一个 GET 请求,如下所示:

/myCalendar?c={calendarName}&l={location}&i={calendarId}&loc={locationId}&s={calendarEvent}&a={eventId}&t={epochTime}

大括号中显示的名称是我的参数的名称。每个参数都有自己的 .csv 文件,因此也有自己的 CSV 数据集配置元素。每个参数还链接到 HTTP 采样器中“随请求发送参数”字段中各自的 CSV 文件。

我的测试失败了,但我可以通过单击结果树中的失败测试指示器来判断所有参数都从我的 .csv 文件返回正确的值。但是,我注意到,如果我仅将某些值硬编码到查询字符串中,则在某些情况下测试将会通过。

例如,这失败了......

/myCalendar?c=calendarName&l=location&i=calendarId&loc=locationId&s=calendarEvent&a=eventId&t=epochTime

...但这通过了:

/myCalendar?c=calendarName&l=BMJErIH4Mku4HwdHyuX2XA&i=84Rza73ERUmRGb99NWZytw&loc=locationId&s=calendarEvent&a=odH1gBRnH0moh5YN4tgczw&t=157963549

如果我通过将硬编码的 epochTime 替换为指向 .csv 文件的参数来修改传递的请求,则会收到以下错误:

The server encountered an error processing the request. The exception message is 'Value cannot be null. Parameter name: edate

如果我将 epochTime 恢复为其硬编码值,并用其关联参数替换其他三个硬编码值,则会收到以下错误:

The server encountered an error processing the request. The exception message is 'bad base64 conversion to GUID

我意识到这可能是一个完全不同的问题,但这些值在硬编码到查询字符串中时确实有效,所以我不明白为什么如果从 .csv 文件中提取它们就不起作用。

最后,值得注意的是,我确实有使用以下语法的单参数测试用例,其中“生日”是用户定义的变量,如下所示。我发现在具有多个变量的查询字符串中使用此语法会在第一个“{”字符处引发异常。

myCalendar/${Birthday} 

任何帮助将不胜感激!

最佳答案

我的测试失败的原因只是因为我在 HTTP 请求采样器的路径字段中输入了错误的信息。

最初,我的路径是这样的,

/myCalendar?c=calendarName&l=location&i=calendarId&loc=locationId&s=calendarEvent&a=eventId&t=epochTime

“随请求发送参数”字段中的参数名称/值对为:

  • 日历名称,${calendarName}
  • 地点,${地点}
  • 日历 ID,${calendarId}

我从问题下面的评论中了解到,查询字符串不应包含在路径字段中,因此问号后面的所有内容都应在“随请求发送参数”字段中处理。所以路径应该是这样的:

/myCalendar?

名称/值对中的名称应使用每个等号之前存在的变量,如下所示:

  • c,${calendarName}
  • l,${位置}
  • i、${calendarId 等}

我的所有测试现在都已通过,并按预期迭代我的多个 .csv 文件。

关于csv - JMeter:使用 CSV 数据将参数传递到 HTTP GET 请求查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28421687/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com