如何 trim 火炮中包含“\n”字符的字符串?
How to trim a string in artillery that contains a "\n" char?
如 documentation 所示从 csv 文件中成功提取用户名和密码后,我注意到我的用户名采用以下格式:“\ntomer@mail.com”。如何删除 artillery 中的“\n”字符?
P.S.
检查您的 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"
}
}
}
我用JS解决了问题如下(解决方案是基于this)
在 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
}
如 documentation 所示从 csv 文件中成功提取用户名和密码后,我注意到我的用户名采用以下格式:“\ntomer@mail.com”。如何删除 artillery 中的“\n”字符?
P.S.
检查您的 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"
}
}
}
我用JS解决了问题如下(解决方案是基于this)
在 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
}