首页 > 解决方案 > 空手道:如何发送原始请求和禁用嵌入式表达式

问题描述

如何发送用括号括起来的原始请求并防止空手道将其解析为“嵌入式表达式”

示例 1:正确地将字符串'(1+2)'作为有效负载发送(如预期的那样)。

Given request '(1+2)'

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

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

为什么会这样,无论里面有什么,我如何发送真正的原始字符串?换句话说:如何禁用嵌入式表达式?

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

标签: karateraw

解决方案


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

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

另请参阅“类型转换”的文档。另一个参考:https ://stackoverflow.com/a/64328206/143475


推荐阅读