RobotFramework:如何在 运行 关键字和预期错误中捕获不明确的错误

RobotFramework: How to catch ambiguous error in Run Keyword And Expect Error

我在以下环境使用机器人框架。

我用这样的关键字测试 REST API。

MyKeyword  
Send Request -> Check Response Status Code -> Return Response content

我在否定的情况下使用这个关键字,如下所示。

Run Keyword And Expect Error    400 != 201    MyKeyword    @args    

在这种情况下,如果状态代码为 401,则机器人失败并显示此消息。

Expected error '400 != 201' but got '401 != 201'.

但我想检查请求是否会因客户原因而被拒绝,
所以我希望状态码是 40X.

如何设置 运行 关键字和 Expect Error 模棱两可的预期消息?

我认为您需要根据文档使用通配符 - http://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Run%20Keyword%20And%20Expect%20Error

我以前从未使用过它,但我认为您需要将其更改为:

Run Keyword And Expect Error    40? != 201    MyKeyword    @args

也许我误解了文档,因为我以前从未使用过它,在这种情况下,我可能会寻找捕获所有错误的方法:

运行 关键字和期望错误 * MyKeyword @args

虽然我觉得你在做什么有点奇怪,你不应该使用返回响应结果的变量并检查它吗?即 ${response} != 40?