【发布时间】:2018-09-06 04:41:00
【问题描述】:
我目前正在使用 ROBOT 进行一些自动化测试,但遇到了问题。 .robot 文件中使用 SeleniumLibrary 关键字失败的任何内容都会按预期准确捕获屏幕截图。
不幸的是,我在 SeleniumLibrary 旁边有一些自定义库,我想做同样的事情,但它没有。因此,例如,如果我从我的 CustomLibrary1 调用关键字,但它无法执行
self.selib.wait_until_page_contains("Hello")
那么它只会在不捕获屏幕截图的情况下使测试失败。
到目前为止,我能找到的唯一解决方法是:
- 将每个关键字正文放入
try并使用
except:
self.selib.capture_page_screenshot()(不理想,因为我有数百个关键字)。
- 为我拥有的每个测试添加测试拆解,并使用
Run Keyword If Test Failed Capture Test Screenshot,这也不理想,因为如果在 .robot 文件中运行 SeleniumLibrary 关键字时测试失败,那么将捕获两个屏幕截图,并且我有一些混合数据驱动/关键字驱动测试不调用测试之间的测试拆解,仅在所有测试结束时进行。
有没有办法将“run_on_failure”功能注册到自定义库中?
【问题讨论】:
-
您可以尝试创建一个侦听器,该侦听器将检查该侦听器将在每个关键字的末尾运行,以及关键字是否来自您的库并且失败而不是处理它。 robotframework.org/robotframework/latest/…
标签: python robotframework