我想忽略基于条件的关键字失败并继续下一个关键字到已经存在的大量测试用例和套装
I want ignore the failure of keyword based on condition and continue to next keyword to already existing huge set of test cases and suits
我知道我们可以通过检查侦听器中关键字的状态,在关键字失败时为 运行 关键字编写一个侦听器。但是除了查看状态之外,我的要求之一是我还想在 运行 关键字之前查看错误消息。
RunListner.py
def _end_keyword(self, name, attributes):
if attributes['status'] == 'FAIL':
监听器中的上述部分代码将帮助我检查关键字的状态,但我无法检查关键字失败的原因。
有这样的可能吗?
def _end_keyword(self, name, attributes):
if attributes['status'] == 'FAIL' and ErrorMessage==""something went wrong"" :
目前我不知道如何将错误信息传递给监听器。
机器人代码
*** Settings ***
Documentation Suite description
Library RunListner
Test Template Run Keyword And Ignore Error
Suite Setup Set Keyword To Run On Failure Log Many 1 2 3
*** Test Cases ***
Test title
log step one
log step two
fail something went wrong
fail something else went wrong
log last step
正如您在屏幕截图中看到的,失败原因是“出错了”是失败的原因之一,另一个是“出错了”。我只想在“出现问题”时调用监听器
对于 恰好 Fail
关键字的情况,您可以从它的 'args'
键中得到它 - 这个关键字做一件事,那就是失败并显示一条消息 - 所以它的参数将是您可以与之比较的内容。
但该(逻辑)仅适用于 Fail
关键字;例如,在这个:
Should Be True 1 == 2
,'args'
的值为 ['1 == 2']
- 不太可用。
不过,还有一个替代方案 - 您可以追踪 log_message
侦听器,并拦截“FAIL”级别:
def _log_message(self, message):
if message['level'] == 'FAIL':
print(f'inside listener: {message}')
这些是登录失败(duh :),并且有一个保存消息本身的密钥;在下面的“应该是真的”示例中,它看起来像这样:
'message': "'1 == 2' should be true."
例如人们会在日志中看到的最后一条消息 - 或多或少,是您在您的方法中所追求的。
我知道我们可以通过检查侦听器中关键字的状态,在关键字失败时为 运行 关键字编写一个侦听器。但是除了查看状态之外,我的要求之一是我还想在 运行 关键字之前查看错误消息。
RunListner.py
def _end_keyword(self, name, attributes):
if attributes['status'] == 'FAIL':
监听器中的上述部分代码将帮助我检查关键字的状态,但我无法检查关键字失败的原因。 有这样的可能吗?
def _end_keyword(self, name, attributes):
if attributes['status'] == 'FAIL' and ErrorMessage==""something went wrong"" :
目前我不知道如何将错误信息传递给监听器。
机器人代码
*** Settings ***
Documentation Suite description
Library RunListner
Test Template Run Keyword And Ignore Error
Suite Setup Set Keyword To Run On Failure Log Many 1 2 3
*** Test Cases ***
Test title
log step one
log step two
fail something went wrong
fail something else went wrong
log last step
正如您在屏幕截图中看到的,失败原因是“出错了”是失败的原因之一,另一个是“出错了”。我只想在“出现问题”时调用监听器
对于 恰好 Fail
关键字的情况,您可以从它的 'args'
键中得到它 - 这个关键字做一件事,那就是失败并显示一条消息 - 所以它的参数将是您可以与之比较的内容。
但该(逻辑)仅适用于 Fail
关键字;例如,在这个:
Should Be True 1 == 2
,'args'
的值为 ['1 == 2']
- 不太可用。
不过,还有一个替代方案 - 您可以追踪 log_message
侦听器,并拦截“FAIL”级别:
def _log_message(self, message):
if message['level'] == 'FAIL':
print(f'inside listener: {message}')
这些是登录失败(duh :),并且有一个保存消息本身的密钥;在下面的“应该是真的”示例中,它看起来像这样:
'message': "'1 == 2' should be true."
例如人们会在日志中看到的最后一条消息 - 或多或少,是您在您的方法中所追求的。