【发布时间】:2023-03-17 21:05:02
【问题描述】:
我使用空手道和 RestAssured 已经有一段时间了。当然,这两种工具各有利弊。现在我有一个 RestAssured 项目,其中有请求和响应对象和 POJO。我的请求包装了我的端点并将我的 POJO 发送到这些端点。我在抽象层中进行所有标题等配置。如果我需要覆盖它们,我会在测试期间覆盖它们。如果没有,我只需两行代码即可触发端点。
我使用 edpoint 的快乐路径和消极路径的方式是,我在每次测试之前使用构造函数中的新值初始化 POJO。然后我覆盖了我想要在测试范围内的值。例如,如果我想测试密码字段的否定情况,我在测试期间将此字段设置为空字符串。但是其他字段在测试之前已经设置为一些随机的东西。
但我不知道如何通过空手道实现这一目标。
Karate 允许我创建我的请求正文的 JSON 表示并定义我的参数,如下例所示。
{
"firstName": "<name>",
"lastName": "<lastName>",
"email": "<email>",
"role": <role>
}
然后在每次测试中,我都必须用一些数据填充所有字段。
|token |value|
|name |'canberk'|
|lastName |''|
|email |'canberk@blbabla.com'|
|role |'1'|
和
|token |value|
|name |''|
|lastName |'akduygu'|
|email |'canberk@blbabla.com'|
|role |'1'|
就这样继续下去。
4 字段 JSON 正文没关系,但是当正文开始有超过 20 个字段时,为每个测试初始化每个字段变得很痛苦。
空手道有没有办法通过预先定义的步骤来解决这个问题?我需要想出一个解决方案?
【问题讨论】:
标签: rest-assured karate web-api-testing