我有一个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}
测试脚本代码段
if res.status == 201:
sys.exit(0)
else:
print("ERRRROR")
sys.exit(1)
答案 0 :(得分:3)
问题是,在测试失败后,您正在调用Log
。当您检查返回代码并且返回代码不为零时,测试会立即停止运行任何其他语句。
您可以在检查返回代码之前调用Log
关键字来解决此问题。
Log ${result.stderr}
Log ${result.stdout}
Should Be Equal As Integers ${result.rc} 0