Как обрезать строку в артиллерии, которая содержит символ "\ n"? - PullRequest
0 голосов
/ 17 декабря 2018

После успешного извлечения имени пользователя и пароля из 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 Ответ

0 голосов
/ 24 декабря 2018

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

В разделе конфигурации yml я установил, что вызываемый файл JS будет входить в систему.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
  }
...