Karate 删除空手道请求中参数值的引号

Karate 删除空手道请求中参数值的引号,karate,Karate,场景:我收到空手道请求的响应,其形式如下: idValues = ["123:ABCD-F", "345:CFGB-F", "678:DERF-F"] Given path 'users','details' * param = 123:ABCD-F, 345:CFGB-F, 678:DERF-F When method get Then status 200 然后,我需要在一个场景中发出进一步的请求,其中来自上面数组的值在空手道的请求*param中传递,如下所示: idValues = [

场景:我收到空手道请求的响应,其形式如下:

idValues = ["123:ABCD-F", "345:CFGB-F", "678:DERF-F"]
Given path 'users','details'
* param = 123:ABCD-F, 345:CFGB-F, 678:DERF-F
When method get
Then status 200
然后,我需要在一个场景中发出进一步的请求,其中来自上面数组的值在空手道的请求
*param
中传递,如下所示:

idValues = ["123:ABCD-F", "345:CFGB-F", "678:DERF-F"]
Given path 'users','details'
* param = 123:ABCD-F, 345:CFGB-F, 678:DERF-F
When method get
Then status 200
问题:我需要将此ID列表作为逗号分隔的值发送给param关键字,而不使用
引号。如果这些值通过引号传递给params,则空手道会进一步将ID括在引号内(我认为这是正确的行为),因此我没有得到预期的响应

想知道是否有办法: 1.从数组中取出值,从开始和结束处删除引号。 2.将这些值作为逗号分隔的值传递给'param'关键字(如上面的示例所示)

谢谢你的建议

karate.forEach()
可以进行任何类型的转换。下面是一个示例。如果您觉得这太难看,请使用Java(在文档中搜索Java Interop):

param
将始终进行编码,正如您所说,这是正确的行为。因此,请使用
url
并手动连接所需的路径。有关更多信息,请参阅此答案:

2建议

karate.forEach()
可以进行任何类型的转换。下面是一个示例。如果您觉得这太难看,请使用Java(在文档中搜索Java Interop):

param
将始终进行编码,正如您所说,这是正确的行为。因此,请使用
url
并手动连接所需的路径。有关更多信息,请参阅此答案: