【问题标题】:Gatling Time Extraction From Response Body从响应体中提取加特林时间
【发布时间】:2020-01-06 07:50:32
【问题描述】:
  • 我对 Gatling/Scala 完全陌生。

我有一个场景要执行。就是这样:

-->改变员工的轮班时间。

对于上述内容,我可以编写流程脚本/编码。但是,我有一个挑战: -> 我需要从响应中提取“新”时间值并检查它是否与通过参数(csv)文件传递的“新”时间值匹配。

方法/逻辑:从响应正文中提取日期值,并将其与 csv 文件中提供的日期值进行比较。

示例响应:

{
   "employeeId":"xxxxxx",
   "schedules":
   [
   {
  "date":"2019-11-25",
:   :   :   "schedules":
:   :   :   [
:   :   :   :   {
:   :   :   :   :   "employeeId":"xxxxxx",
:   :   :   :   :   "laborWeekStartDate":"2019-11-25",  //New edited time
:   :   :   :   :   "laborWeekEndDate":"2019-12-01",    //New edited time
:   :   :   :   :   "schedules":
:   :   :   :   :   {
:   :   :   :   :   :   "startTime":"2019-11-25T18:15:00.000Z",
:   :   :   :   :   :   "endTime":"2019-11-25T23:45:00.000Z",
:   :   :   :   :   :   "departmentId":xxxxx,
:   :   :   :   :   :   "departmentName":"abc",
:   :   :   :   :   :   "lastModifiedTimestamp":"2019-12-11T09:22:44.000Z",
:   :   :   :   :   :   "breakDetails":
:   :   :   :   :   :   [
:   :   :   :   :   :   :   {
:   :   :   :   :   :   :   :   "startTime":"2019-11-25T21:00:00.000Z",
:   :   :   :   :   :   :   :   "endTime":"2019-11-25T21:15:00.000Z",
:   :   :   :   :   :   :   :   "type":"break"
:   :   :   :   :   :   :   }
:   :   :   :   :   :   ]
:   :   :   :   :   }
:   :   :   :   }
:   :   :   ]
:   :   }

这里,在下面,需要提取右侧的值并与 csv 文件中提供的值进行比较。

"startTime":"2019-11-25T18:15:00.000Z",

"endTime":"2019-11-25T23:45:00.000Z",

请帮助执行上述操作。考虑到我对此完全陌生,非常感谢您提供逐步详细的解释。

谢谢!

【问题讨论】:

  • 您是否需要检查员工的多个日程安排?您是否需要在一次响应中支持多名员工?
  • 一点点自我宣传 ;) 在我们公司,我们已经停止使用 Gatling 并创建了一个新的全代码性能测试库 - github.com/encircled/jPut

标签: scala performance-testing gatling scala-gatling


【解决方案1】:

免责声明:我将提供一些有用的链接,可以帮助您完成任务。如果您在执行此操作时遇到任何问题,请发布一个新问题

  1. 为了从 JSON 响应中获取值,您可以使用 jsonPath HTTP response body。这里有一个例子,如何使用这种方法提取和保存值:JSON Path Usage for Gatling Tests

  2. 使用内置的feeder 功能可以从 CSV 文件中读取值:CSV feeders。添加进纸器后,您可以使用${columnName} 引用值这里有一个示例:@ 987654324@。 在这一步之后,您在会话中拥有这两个值。然后使用 scala 语言,您应该能够比较这些值。 使用 session("variableName").as[String] 从会话中获取值

  3. 例如,您可以进行字符串比较,如果您首先从 csv 中对值进行子字符串化。 Scala String comparision 另一个选项就像这里描述的那样,非常接近您的要求:How to compare responses from http calls in gatling?

祝你好运! :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    • 2015-04-15
    相关资源
    最近更新 更多