我想使用空手道框架创建动态网址。假设我要创建的URL是:
https://www.mars.com/mars/profile/{profileID}/line
URL {profileID}
中的路径是路径。
目前,我已经在下面编写了能够创建url的功能文件,但是由于使用path关键字,因此它对url进行了编码,并在配置文件ID后添加了%0A
。
https://www.mars.com/mars/profile/264%0A/line
功能文件:
@smoke
Scenario: Create a line score in existing profile
And def urlname = marsuri+ '/mars/profile/'
Given url urlname
Given path id + '/line'
请让我知道如何创建一个URL,并且该URL之间的路径不进行编码。
答案 0 :(得分:1)
您没有正确使用path
语法。请阅读文档:https://github.com/intuit/karate#path
进行此更改:
Given path id, 'line'
编辑:也请参见以下答案:https://stackoverflow.com/a/54477346/143475
答案 1 :(得分:0)
实际上,无论从何处获取到的id
变量都在字符串的末尾添加了新行,就像这样的"264\n"
一样,这就是为什么它被编码为264%0A
的原因
如果您要传递的只是"264"
,则必须先删除不需要的值,然后再将其添加到path
Background:
* def removeNewLine = function(x){return x.replace("\n","")}
Scenario: Create a line score in existing profile
And def urlname = marsuri+ '/mars/profile/'
Given url urlname
* def id = removeNewLine(id)
Given path id + '/line'
如果您可以直接从获得id
的源中修改数据,那将是非常棒的。