2017-08-25 78 views
1

我有我跑在机器人框架测试一个Python脚本。该测试被配置来记录stdoutstderr这很好,只要可以作为检验合格,但我没有得到任何日志时,即使输出在失败之前打印的测试失败。机器人框架内log.html无输出,当测试失败

有没有什么办法让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

认为这可能是由于射频只是停止测试失败。所以它永远不会达到2个日志命令......通过将日志放在失败的部分之前进行测试。 – Goralight

+0

我这样做,我写的也是这个问题.... – Jacob

+0

显示在那里你“这样做”。我们需要了解在测试用例失败之前如何记录结果。正如所写的,如果'Run process'关键字或'应该等于整数'失败,日志语句将永远不会运行。 –

回答

3

的问题是,您所呼叫Log后的测试失败。当您检查返回码和返回码不为零,测试立即停止正在运行的任何其他声明。

你可以简单地通过调用检查返回代码之前Log关键字解决这个问题。

Log  ${result.stderr} 
Log  ${result.stdout} 
Should Be Equal As Integers  ${result.rc} 0 
+0

很明显但看不到它。谢谢 – Jacob