karate - 空手道:如何发送原始请求和禁用嵌入式表达式
问题描述
如何发送用括号括起来的原始请求并防止空手道将其解析为“嵌入式表达式”?
示例 1:正确地将字符串'(1+2)'
作为有效负载发送(如预期的那样)。
Given request '(1+2)'
示例2:与多行相同的字符串被检测为“嵌入表达式”,并由空手道转换为类型编号3
(在日志和接收API中可以清楚地看到):
Given request
"""
(1+2)
"""
为什么会这样,无论里面有什么,我如何发送真正的原始字符串?换句话说:如何禁用嵌入式表达式?
我的背景是我需要发送多行原始字符串作为有效负载。一些子字符串用括号括起来,这会导致接收 API 出错(为了简化我的问题,我将示例减少到 1 行)。
解决方案
使用text
:https ://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
推荐阅读
- tensorflow2.0 - 请发布工作 tflite_convert 命令行示例
- python - 如何用 0-10 之间的数字绘制 5 个乘法?
- c++ - 查找嵌套向量中的哪个子向量包含某个项目
- sql - postgres,使用另一个描述更改的表更新值
- python - 在 ubuntu 20.04 中安装 libpq-dev 的问题
- php - 在 function.php wordpress 中包含函数文件
- ios - 无法快速获取默认的 Firebase 实例
- laravel - SQLSTATE [42000]:当我使用 DB::raw("CAST(SUM(amount) AS INTEGER)") 时出现语法错误或访问冲突
- c# - 无法跳入 FPS
- r - 多线程 Flask 应用程序导致 rpy2 R 进程中的堆栈错误