RobotFramework:如何在 运行 关键字和预期错误中捕获不明确的错误
RobotFramework: How to catch ambiguous error in Run Keyword And Expect Error
我在以下环境使用机器人框架。
- Python 2.7.6
- 机器人框架 2.8.7
- Ubuntu 14.04.3 LTS
我用这样的关键字测试 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?
我在以下环境使用机器人框架。
- Python 2.7.6
- 机器人框架 2.8.7
- Ubuntu 14.04.3 LTS
我用这样的关键字测试 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?