Как обрезать строку в артиллерии, которая содержит символ "\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
}