Как обрезать строку в артиллерии, которая содержит символ "\n"?

После успешного извлечения имени пользователя и пароля из CSV, как показано в документации, я заметил, что мое имя пользователя было в следующем формате: "\ntomer@mail.com". Как я могу стереть символ "\n" в артиллерии?


PS

Способ проверить ваш HTTP-запрос (мне не удалось найти документацию для этого):

В cmd выполните следующую команду:

set DEBUG=http,http:capture,http:response

После этого каждый обычный запрос артиллерии будет давать вам режим отладки http следующим образом:

 http request: {
  "url": "https://host.com/api/user/login",
  "method": "POST",
  "headers": {
    "user-agent": "Artillery (https://artillery.io)"
  },
  "json": {
   "email": "\ntomer@mail.com",
   "password":"9526e7bb980ba35a1788d46d4a2aaaaa3d941d2efc8a4fcb1402d1"
    }
  }
}

1 ответ

Решение

Я решил проблему с помощью JS следующим образом (решение основано на этом)

В разделе конфигурации yml я установил, что вызываемым JS-файлом будет login.js, добавив следующую строку:

processor: "./js/login.js"

При отправке запроса на вход в систему я вызывал функцию setJSONBody следующим образом:

- post:
    url: "https://dev-api.host.com/api/user/login"
    beforeRequest: "setJSONBody" 
    json:
        email: "{{ user }}"
        password: "{{ password }}"

Вот мой файл login.js:

  //
  // my-functions.js
  //
  module.exports = {
    setJSONBody: setJSONBody
  }

  function setJSONBody(requestParams, context, ee, next) {

    context.vars.user = context.vars.user.replace('\n',''); //erases from user name any \n char

    return next(); // MUST be called for the scenario to continue
  }
Другие вопросы по тегам