空手道 - 随每个请求发送自定义 headers 的好方法

Karate- Good way to send custom headers with each request

我有一个场景,我正在执行 GET 调用,在我的 table 上我定义了参数。现在对于 headers,我想有目的地发送不正确的值以确保测试按预期失败。虽然不太确定该怎么做。

我有以下设置:

        * table input
            | machine    | version | osSystem | status |
            | machineName| version | windows  | 401    |

上面调用的我的辅助文件如下所示:

        Given url env
        And path path
        And header Content-Type = 'application/xml; charset=UTF-16'
        And header Accept = '*/xml; charset=UTF-16'
        And header key = key
        When method GET

在上面,我想为“key”发送虚假值 header。总共六个虚假值(随机字母字符串、随机数字字符串、随机字母数字值、随机 guid 等)。我显然已经尝试在“and header key = {}”下输入值作为 json 但是我如何让每个请求 运行 EACH header 每个请求,而不是运行在一个请求中将它们全部合并?

提前致谢!

试试这个例子并观察它是如何工作的,它会回答你所有的问题:

Scenario Outline:
* url 'https://httpbin.org/anything'
* header foo = header
* method get

Examples:
| header |
| one    |
| two    |

关于“循环”的另一种方法,请参阅此答案: