- 我对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",
请帮助执行上述操作。考虑到我是完全陌生的,逐步的详细解释将不胜感激。
谢谢!
免责声明:我将提供一些有用的链接,以帮助您完成任务。如果您遇到任何问题,只需发布一个新问题
-
为了从 JSON 响应中获取值,您可以使用
jsonPath
HTTP 响应正文。这里有一个例子,如何使用此方法提取和保存值:加特林测试的JSON路径用法 -
可以使用内置的
feeder
功能从CSV文件中读取值: CSV馈送器 .添加馈线后,您可以使用${columnName}
引用值 这里有一个例子: 步骤03:将动态数据与馈线和检查一起使用。完成此步骤后,您将在会话中同时具有这两个值。然后使用 scala 语言,您应该能够比较这些值。从会话中获取值是使用session("variableName").as[String]
- 例如,如果您首先对 csv 中的值进行子字符串,则可以执行字符串比较。Scala 字符串比较 另一个选项就像这里描述的那样,它非常接近您的要求:如何比较加特林中 http 调用的响应?
祝你好运!:)