从响应体中提取加特林时间


  • 我对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 文件中提供的值进行比较。

"开始时间":"2019-11-25T18:15:00.000Z",

"结束时间":"2019-11-25T23:45:00.000Z",

请帮助执行上述操作。考虑到我是完全陌生的,逐步的详细解释将不胜感激。

谢谢!

免责声明:我将提供一些有用的链接,以帮助您完成任务。如果您遇到任何问题,只需发布一个新问题

  1. 为了从 JSON 响应中获取值,您可以使用jsonPathHTTP 响应正文。这里有一个例子,如何使用此方法提取和保存值:加特林测试的JSON路径用法

  2. 可以使用内置的feeder功能从CSV文件中读取值: CSV馈送器 .添加馈线后,您可以使用${columnName}引用值 这里有一个例子: 步骤03:将动态数据与馈线和检查一起使用。完成此步骤后,您将在会话中同时具有这两个值。然后使用 scala 语言,您应该能够比较这些值。从会话中获取值是使用session("variableName").as[String]

  3. 例如,如果您首先对 csv 中的值进行子字符串,则可以执行字符串比较。Scala 字符串比较 另一个选项就像这里描述的那样,它非常接近您的要求:如何比较加特林中 http 调用的响应?

祝你好运!:)

最新更新