Karate-有什么不丑陋的方式来发送每个请求主体字段都包含格式错误的 API 请求吗?

2023-12-11

我有一个奇怪的问题,我已经有了解决方案,但它非常丑陋。我想知道是否有更好的方法通过空手道或 JS 来做到这一点。我对这两方面都是新手,所以请耐心等待。

我正在发送一个带有相当大的请求正文(总共 19 个字段)的 POST 调用。我必须有目的地向每个字段发送格式错误的请求,而不是输入密钥的合法值,而是放置垃圾值(或完全删除该值)并确保按预期返回 400。

例如,请求正文如下(出于说明目的而缩短):

{
    "Age": 20
    "School": "UIC"
    "Sex": "Female"
}

我正在发送如下请求:

* def payload = {"Age":'#(age)',"School":'#(schoolName)', "Sex":'#(gender)'}
* copy payload1 = payload
* copy payload2 = payload
* copy payload3 = payload
* remove payload1.Age
* remove payload2.School
* remove payload3.Sex
* table callTable
    |payload  |status|
    |payload1 | 400  |
    |payload2 | 400  |
    |payload3 | 400  |
* call read (call to the actual POST API here)

现在表面上看,上面的内容可能并不难看,但想象一下对 19 个字段执行此操作,而不是删除,每个字段大约有 5 个不同的请求(而不是上面只有一个“删除”)。

我曾考虑过使用 JS 和循环函数,但我了解不够,而且我的尝试失败了。

请告知是否有更好的方法可以在空手道和/或 JS 中做到这一点。

预先感谢您的阅读和您的时间!


您可以使用循环来构建 JSON。例如:

* def keys = ['foo', 'bar', 'baz']
* def body = {}
* keys.forEach(k => body[k] = 'blah')
* match body == { foo: 'blah', bar: 'blah', baz: 'blah' }

也可以看看https://stackoverflow.com/a/69149219/143475

JSON 转换的主要文档:https://github.com/intuit/karate#json-transforms

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Karate-有什么不丑陋的方式来发送每个请求主体字段都包含格式错误的 API 请求吗? 的相关文章

  • 用于分享帖子的 Yammers REST API

    我想使用 REST API 从我的业务应用程序共享帖子 不是发布新消息 而是共享现有帖子 有谁知道要使用哪个端点以及如何实现它 当您使用 Yammer API 创建新帖子时 请将参数 shared message id 与要共享的消息的 m
  • useState 由于某种原因没有更新?

    当我尝试使用 axios 从后端 API 获取一些数据 并在由于某种原因获得结果后设置状态时 状态不会更新 当我尝试使用状态时 它只会向我显示一个空数组 但有趣的是当我console log res data 它会毫无问题地向我显示我的列表
  • .NET Web API - 添加日志记录

    我正在寻找有关处理 API 日志记录的最佳方法的帮助 我想将所有请求和响应记录到 sql 或文本文件 如果这是最好的方法 目前我已经在 SQL Server 的日志表中插入一行 我使用名为 LogAction 的静态方法来执行此操作 并在
  • 将 Django 模型映射到外部 API

    上下文 我有一个外部 API 提供数据并允许发布新数据或修补现有数据 API 响应示例 response requests get http api band 4 print response json id 4 name The Beat
  • 如何在S3中存储数据并允许用户使用rails API / iOS客户端以安全的方式访问?

    我是编写 Rails 和 API 的新手 我需要一些有关 S3 存储解决方案的帮助 这是我的问题 我正在为 iOS 应用程序编写一个 API 用户在 iOS 上使用 Facebook API 登录 服务器根据 Facebook 向 iOS
  • 从我自己的博客获取帖子[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何 API 通过它我可以从 wordpress com 上我自己的博客获取帖子并将它们放在我的
  • 如何使用 Twitter Api 在单个请求中获取 20 多个列表成员?

    我想让超过 20 个用户在单个请求中使用 twitter api 有什么参数可以指定吗 我正在使用这个APIhttp api twitter com 1 Barelyme Politics members xml cursor 1 http
  • 如何使用php api检查电子邮件或手机paypal帐户状态?

    如何使用 php api 检查电子邮件或手机 Paypal 帐户状态 好的 如果我想汇款到此电子邮件贝宝 email protected cdn cgi l email protection 或手机 1234567890 汇款前 我可以检查
  • 如何在 Google Maps API 中指示语言?

    就像你访问一样maps google com tw or maps google co kr or maps google co jp 您可以看到每个国家 地区都显示自己的语言 我可以在 Google 地图 API 中使用任何属性来动态设置
  • 如何获取优酷access_token

    我在哪里可以找到access token refresh token在我的优酷账号里 我找到了如何使用外部脚本通过 API 将视频上传到 youku com 但我需要access token refresh token使用它 您需要对优酷应
  • 如何在 NodeJS 中允许表单数据

    我最近创建了一个接受文件的 API 我正在尝试使用 Postman 测试 API 如果我使用发出帖子请求x wwww form urlencoded身体类型 一切正常 我得到了所有预期的数据 唯一的问题是它不允许发送文件 如果我使用form
  • 中间件 API 的最佳实践是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们正在开发一个中间件 SDK 采用 C 和 Java 语言 供游戏开发人员 动画软件开发人员 阿凡达开
  • Trello API - 未经授权的权限请求

    我正在尝试编写一个小脚本来更新卡的当前列表中的时间量 以便我们可以优化吞吐量 我在 jsfiddle 上写了一个小脚本 几乎可以工作 但我得到了一个 请求未经授权的卡许可 当尝试使用时 Trello post cards card id a
  • java.net.SocketException:Selenium driver.close() 或 driver.quit() 语句上的连接重置

    我看到一个java net SocketException 连接重置几乎每次我使用 driver close 或 driver quit 语句时 浏览器确实关闭了 并且到目前为止 该异常并未影响我的任何测试 但我仍然想了解为什么会发生这种情
  • 415 不支持的媒体类型; Angular2 到 API

    我是 Angular 2 的新手 我面临着一个无法找到解决方案的问题 当我尝试从 Angular 2 发布到 API 时 我得到 415 不支持的媒体类型 角度2代码 onSubmit value any console log value
  • 在Wordpress中通过API创建新用户时如何发送电子邮件密码?

    可以使用以下行通过 API 创建新用户 user id wp insert user user data 我想知道如何向新创建的用户发送包含其密码的电子邮件 Wordpress API 中是否有任何函数可以处理这项工作 还是我应该自己创建并
  • Selenium 与 HtmlUnit? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我试图更好地理解测试框架并一直在研究 Selenium 我用过HTMLUnit http htmlun
  • 带有 OAuth2 的 YouTube API v3:更新和删除失败并出现“权限不足”错误

    我在尝试着update and delete视频使用YouTube API v3 https developers google com youtube v3 docs videos with OAuth2 用于身份验证 https dev
  • 注册期间现有电子邮件的 422 或 409 状态代码

    我正在构建 RESTful API 遇到了一种情况 在用户注册期间 如果电子邮件已存在 则在422 and 409哪个http响应代码有意义 我浏览过类似的one https stackoverflow com questions 9269
  • 是否有 .NET 库或 API 可以与 IIS 配置数据库交互/编辑它?

    或者我是否坚持使用自己的 XML 切割 功能 我想创建一个小型任务托盘应用程序 以便我可以快速将虚拟目录重新指向硬盘上的几个文件夹之一 一点背景 我的开发机器上的代码库有 3 个不同的 svn 分支 Current Production B

随机推荐