如何在小黄瓜步骤中发送有效负载和 header 参数
how to send payload and header parameters in a gherkin step
黄瓜新手。
我想使用 Cucumber jvm 测试 rest api。
假设,我有以下场景
scenario:
* POST at "http://localhost:8080/x" with payload:
"""
<user>
<name>abc</name>
</user>
"""
with header:
|param1|value|
|param2|value|
但它不起作用。
如果我将步骤分成 2 个,一个提供有效载荷,另一个提供 header,
我必须保持第一步(因为它会丢失 header)并在第二步执行实际的 post 操作。
我有哪些选择?
谢谢
有一个 feature request for supporting both tables and docstrings,但由于在所有 cucumber 实现中支持它的工作量很大,而不仅仅是用于 jvm 的实现,它已关闭。
因此解决方法是将其分成多个步骤,收集所有数据,并在最后发送:
Scenario: Create a user
Given the following payload:
"""
<user><name>abc</name></user>
"""
And the following headers:
| param | value |
When the request is sent as "POST" to "http://example.com/users"
Then the user is created
我认为这也有助于场景的可读性,有效载荷和 headers 都是可选的,这可能对其他(更简单的)请求有用。
黄瓜新手。 我想使用 Cucumber jvm 测试 rest api。
假设,我有以下场景
scenario:
* POST at "http://localhost:8080/x" with payload:
"""
<user>
<name>abc</name>
</user>
"""
with header:
|param1|value|
|param2|value|
但它不起作用。
如果我将步骤分成 2 个,一个提供有效载荷,另一个提供 header, 我必须保持第一步(因为它会丢失 header)并在第二步执行实际的 post 操作。
我有哪些选择? 谢谢
有一个 feature request for supporting both tables and docstrings,但由于在所有 cucumber 实现中支持它的工作量很大,而不仅仅是用于 jvm 的实现,它已关闭。
因此解决方法是将其分成多个步骤,收集所有数据,并在最后发送:
Scenario: Create a user
Given the following payload:
"""
<user><name>abc</name></user>
"""
And the following headers:
| param | value |
When the request is sent as "POST" to "http://example.com/users"
Then the user is created
我认为这也有助于场景的可读性,有效载荷和 headers 都是可选的,这可能对其他(更简单的)请求有用。