在robotframework的控制台输出中显示时间

在robotframework的控制台输出中显示时间,robotframework,Robotframework,是否可以在robotframework的控制台输出中显示时间。通常输出是这样的 ============================================================================== Example test suite ============================================================================== First test :: Possible test docum

是否可以在robotframework的控制台输出中显示时间。通常输出是这样的

==============================================================================
Example test suite
==============================================================================
First test :: Possible test documentation                             | PASS |
------------------------------------------------------------------------------
Second test                                                           | FAIL |
Error message is displayed here
==============================================================================
Example test suite                                                    | FAIL |
2 critical tests, 1 passed, 1 failed
2 tests total, 1 passed, 1 failed
==============================================================================
我想了解有关测试在控制台中运行了多长时间的信息。我尝试在robot命令中添加选项--console verbose,但没有注意到任何更改


您可以在输出的报告中看到这些信息,但是如果您没有达到这一点,只是想看看哪个测试正在减慢测试套件的执行,该怎么办。

我认为默认记录器不可能做到这一点。但您可以使用并创建自己的记录器

例如,来自的方法end_test和end_suite提供了一个对象,该对象具有各种属性,如starttime、endtime和elapsedtime。你可能会对这些感兴趣

下面是一个如何使用此功能的简短示例:

时间记录器.py

ROBOT\u LISTENER\u API\u VERSION=3
def end_测试(数据、结果):
打印('测试开始:'+结果.starttime);
打印('测试结束:'+结果.endtime);
我执行测试的方式是,只有我的新记录器才会将消息打印到控制台:

$ robot --listener time_logger.py --console quiet test.robot
这给了我这个输出:

Test started: 20210105 10:17:30.377
Test ended: 20210105 10:17:32.380

我认为这在默认记录器中是不可能的。但您可以使用并创建自己的记录器

例如,来自的方法end_test和end_suite提供了一个对象,该对象具有各种属性,如starttime、endtime和elapsedtime。你可能会对这些感兴趣

下面是一个如何使用此功能的简短示例:

时间记录器.py

ROBOT\u LISTENER\u API\u VERSION=3
def end_测试(数据、结果):
打印('测试开始:'+结果.starttime);
打印('测试结束:'+结果.endtime);
我执行测试的方式是,只有我的新记录器才会将消息打印到控制台:

$ robot --listener time_logger.py --console quiet test.robot
这给了我这个输出:

Test started: 20210105 10:17:30.377
Test ended: 20210105 10:17:32.380
您可以创建一个小型测试,通过
end\u test
方法可以获得执行期间的开始时间、结束时间和经过的时间。您可以从侦听器将它们打印到控制台

ROBOT\u LISTENER\u API\u VERSION=3
def end_测试(数据、结果):
打印(f'\n开始时间:{result.starttime}')
打印(f'结束时间:{result.endtime}')
打印(f'运行时间:{result.elapsedtime}')
例如:

*** Test Case ***
Test case 1
    Sleep    1 sec
    
Test case 2
    Sleep    2 sec

Test case 3
    Sleep    3 sec
    Fail    Do a fail.

Test case 4
    Sleep    4 sec
像这样执行:
robot--listener-listener.py test.robot

控制台上的输出:

==============================================================================
Test
==============================================================================
Test case 1
Start time: 20210105 10:19:47.711
End time: 20210105 10:19:48.712
Elapsed time: 1001
| PASS |
------------------------------------------------------------------------------
Test case 2
Start time: 20210105 10:19:48.712
End time: 20210105 10:19:50.714
Elapsed time: 2002
| PASS |
------------------------------------------------------------------------------
Test case 3
Start time: 20210105 10:19:50.715
End time: 20210105 10:19:53.716
Elapsed time: 3001
| FAIL |
Do a fail.
------------------------------------------------------------------------------
Test case 4
Start time: 20210105 10:19:53.716
End time: 20210105 10:19:57.719
Elapsed time: 4003
| PASS |
------------------------------------------------------------------------------
Test                                                                  | FAIL |
4 critical tests, 3 passed, 1 failed
4 tests total, 3 passed, 1 failed
==============================================================================
您可以创建一个小型测试,通过
end\u test
方法可以获得执行期间的开始时间、结束时间和经过的时间。您可以从侦听器将它们打印到控制台

ROBOT\u LISTENER\u API\u VERSION=3
def end_测试(数据、结果):
打印(f'\n开始时间:{result.starttime}')
打印(f'结束时间:{result.endtime}')
打印(f'运行时间:{result.elapsedtime}')
例如:

*** Test Case ***
Test case 1
    Sleep    1 sec
    
Test case 2
    Sleep    2 sec

Test case 3
    Sleep    3 sec
    Fail    Do a fail.

Test case 4
    Sleep    4 sec
像这样执行:
robot--listener-listener.py test.robot

控制台上的输出:

==============================================================================
Test
==============================================================================
Test case 1
Start time: 20210105 10:19:47.711
End time: 20210105 10:19:48.712
Elapsed time: 1001
| PASS |
------------------------------------------------------------------------------
Test case 2
Start time: 20210105 10:19:48.712
End time: 20210105 10:19:50.714
Elapsed time: 2002
| PASS |
------------------------------------------------------------------------------
Test case 3
Start time: 20210105 10:19:50.715
End time: 20210105 10:19:53.716
Elapsed time: 3001
| FAIL |
Do a fail.
------------------------------------------------------------------------------
Test case 4
Start time: 20210105 10:19:53.716
End time: 20210105 10:19:57.719
Elapsed time: 4003
| PASS |
------------------------------------------------------------------------------
Test                                                                  | FAIL |
4 critical tests, 3 passed, 1 failed
4 tests total, 3 passed, 1 failed
==============================================================================