【发布时间】:2017-08-25 10:59:25
【问题描述】:
我有一个 python 脚本,我在机器人框架中作为测试运行。测试配置为记录stdout 和stderr,只要测试通过,它们就可以正常工作,但是当测试失败时,即使在失败之前打印了输出,我也没有得到任何日志。
即使测试失败,有没有办法获得stdout。
我的机器人文件:
*** Settings ***
Library Process
*** Test Cases ***
First test
${result} = Run Process python createCommunityTest/createCommunityTest.py
Should Be Equal As Integers ${result.rc} 0
Log ${result.stderr}
Log ${result.stdout}
测试脚本sn-p
if res.status == 201:
sys.exit(0)
else:
print("ERRRROR")
sys.exit(1)
【问题讨论】:
-
认为它可能归结为,RF 只是在失败时停止测试。所以它实际上永远不会到达 2 个日志命令...通过将日志放在失败的部分之前来测试它。
-
我做到了,我也在问题中写了这个......
-
显示你在哪里“做了那个”。在测试用例失败之前,我们需要查看您是如何记录结果的。如前所述,如果
Run process关键字或Should be equal as integers失败,则日志语句将永远不会运行。 -
是的,因为这个原因它失败了......因为我不返回 sys.exit(0) 而是返回 sys.exit(1)
-
你误解了这个问题。你的过程如何失败并不重要。重要的是您何时通过调用
Should be equal as integers来终止测试。
标签: python robotframework