空手道:如何发送原始请求和禁用嵌入式表达式

Karate: How to send raw request and disable embedded expressions

如何发送包含在括号中的原始请求并防止 Karate 将其解析为 "embedded expression"

示例 1:正确发送字符串 '(1+2)' 作为负载(如预期)。

Given request '(1+2)'

示例2:与多行相同的字符串被检测为“嵌入表达式”并由空手道转换为类型数字3(您可以在日志和接收中清楚地看到它API):

Given request
"""
(1+2)
"""

为什么会这样?我怎样才能发送真正的原始字符串,无论里面有什么?换句话说:How to disable embedded expressions?

我的背景是我需要发送多行原始字符串作为负载。一些子字符串包含在括号中,这将导致接收错误 API(为了简化我的问题,我将示例减少到 1 行)。

使用texthttps://github.com/intuit/karate#text

* url 'https://httpbin.org'
* path 'anything'
* text body =
"""
(1+2)
"""
* request body
* method post

另请参阅“类型转换”文档。另一个参考: