【发布时间】:2021-07-16 23:23:51
【问题描述】:
由于某种原因,带有/ 字符的变量被转换为\/,我该如何防止这种情况发生?
- 我通过运行
npx http-echo-server启动了一个在 localhost:3000 上侦听的 echo 服务器 - 我执行以下操作:
代码:
* def CHALLENGE_USER = '/abc/user'
* def loginJson = { user: '#(CHALLENGE_USER)' , name: 'Some Name'}
* print loginJson
* def TEST_URL = 'http://localhost:3000'
Given url TEST_URL+'/session/loginresponse'
And header Content-Type = 'application/json'
And request loginResponseJson
And method put
Then status 200
它像我预期的那样打印{ "user": "/abc/user", "name": "Some Name" }。
-
http 服务器日志显示 "--> {"user":"/schemes/ATT_5_55/CH_1","name":"Some Name"}"
-
空手道显示回声
{"user":"\/abc\/user","name":"Some Name"}的结果
我试过了:
- def CHALLENGE_USER = '/abc/user'
- def CHALLENGE_USER = "/abc/user"
- def CHALLENGE_USER = '/abc/user'
- def CHALLENGE_USER = '//abc//用户'
事后设置变量也行不通:
* def loginJson = { name: 'Some Name'}
* loginJson.user = CHALLENGE_USER
【问题讨论】:
-
转义斜线是多余但合法的。没有理由担心。您需要修改您的测试以考虑到这一点。
标签: karate