Cucumber - Js 加载 json 数据作为请求示例

问题描述 投票:0回答:1

功能:登录用户的Api测试并获取token

场景概要:认证登录获取token 给定登录名 当我将 POST 请求发送到 /auth/login 时 然后我得到响应 statusCode 200 然后我得到字符串形式的响应令牌 当我将当前用户 GET 请求发送到 /auth/me 时 然后我得到当前用户响应statusCode 200 然后我得到当前用户的响应 鉴于刷新 当我将刷新身份验证会话 POST 请求发送到 /auth/refresh 时 然后我得到刷新身份验证会话响应 statusCode 200 然后我得到带有令牌的刷新身份验证会话数据的响应

Examples: 
  | request                                          | refreshRequest         |
  | {"username": "kminchelle","password": "0lelplR"} | {"expiresInMins": 30 } |

我想从 json 文件中读取请求数据,例如 例子: |读取(“数据/data.json”)|

有没有正确的方法来加载数据

cucumberjs
1个回答
0
投票

您可以使用车把来做到这一点!

可以安装

handlebars

const Handlebars = require('handlebars');

/**
 * Registers handlebars helpers with the given handlebars object.
 * @param {object} hbs The handlebars object.
 * @returns {object} The handlebars object.
 */
function registerHelpers(hbs) {
    // Data Format Helpers

    // Converts JSON object to a string.
    hbs.registerHelper('json', context => JSON.stringify(context));
}


// this is where we initialize the common helper functions with handlebars.
registerHelpers(Handlebars);

来自 JSON 文件的参考数据

将 JSON 文件放入项目的

./data
文件夹中。然后您可以按名称引用它们。

给定一个名为

myfile.json
的文件,其中包含
{ "value": 1, "message": "my message" }

  • {{data.myfile.value}}
    - 输出
    1
  • {{data.myfile.message}}
    - 输出
    my message

数据格式助手

如果要将值输出为 JSON 对象,请使用

json
把手助手和三重大括号:
{{{json data.myfile}}}
- 将完整的 json 对象输出为字符串

Examples: 
  | request                                  |  
  | {{json data.events.RequestBody}}         | 


processMessage(filepath, context) {
     return Handlebars.compile(filepath);
}

const fileContents = processMessage(request, [context]);

return JSON.parse(fileContents );
© www.soinside.com 2019 - 2024. All rights reserved.