robotframework - 在不停止机器人框架中的测试执行的情况下使关键字失败
问题描述
我从关键字中引发错误的方式是使用 robots.api.logger 类
def test_keyword():
logger.error("Report error")
这会在关键字下的 log.html 文件中创建一个错误行,但不会使关键字失败。
我失败关键字的方法是引发异常。
def test_keyword():
raise Exception("Not implemented")
这会使关键字以及调用关键字的测试用例失败。但这也停止了测试用例的进一步执行。
有什么方法可以在不停止测试用例执行的情况下使关键字失败?
解决方案
从文档中:
库关键字使用异常报告失败,并且可以使用特殊异常告诉核心框架无论失败都可以继续执行。
当测试结束并且出现一个或多个持续失败时,测试将被标记为失败。如果有多个失败,所有这些都将在最终错误消息中枚举:
Several failures occurred:
1) First error message.
2) Second error message ...
从测试库发出信号的方法是向用于传达故障的异常添加一个具有 True 值的特殊 ROBOT_CONTINUE_ON_FAILURE 属性。下面的例子证明了这一点。
class MyContinuableError(RuntimeError):
ROBOT_CONTINUE_ON_FAILURE = True
推荐阅读
- c - 避免暴露已编译 C 模块的细节
- c# - 我从 api 检索到的 json 有问题
- javascript - 遍历angularjs中的字符串化json数据返回未定义
- javascript - 我们可以在一个 node.js 中使用 app.use 两次吗
- html - 根据另一个 div 的子元素中的类隐藏 div 的子元素
- jsf - 在 JSF 页面的页面加载期间未调用 @PostConstruct
- sql-server - 从 varchar 转换为 numeric 时出错
- taurus - 何在 yaml 中传递本地 apache jmeter 路径
- three.js - DstAlphaFactor 在 THREE.js 中不起作用
- python-3.x - 熊猫:drop_duplicates 无法正常工作