robotframework.org/robotframework/latest/libraries/...

я есть набор тестов фреймворка робота, который вызывает метод Python. Я хотел бы, чтобы этот метод Python возвращал сообщение на консоль, не провалив тест. В частности, я пытаюсь рассчитать время процесса.

Я могу использовать «поднимать», чтобы вернуть сообщение на консоль, но это одновременно проваливает тест.

 def doSomething(self, testCFG={}):
    '''
    Do a process and time it. 
    '''
testCFG['operation'] = 'doSomething'
startTime = time.time()
response=self.Engine(testCFG)
endTime = time.time()
duration = int(round(endTime-startTime))
raise "doSomething took", duration//60 , "minutes and", duration%60, "seconds."
errmsg = 'doSomething failed'
if testCFG['code']: raise Exception(errmsg)

Или я могу использовать «печать», чтобы вернуть сообщение в файл журнала и сообщить отчет, не провалив тест, но эта информация доступна только в отчете, но не в консоли.

 def doSomething(self, testCFG={}):
    '''
    Do a process and time it. 
    '''
testCFG['operation'] = 'doSomething'
startTime = time.time()
response=self.Engine(testCFG)
endTime = time.time()
duration = int(round(endTime-startTime))
print "doSomething took", duration//60 , "minutes and", duration%60, "seconds."
errmsg = 'doSomething failed'
if testCFG['code']: raise Exception(errmsg)

Если я использую опцию «печать», я получаю это:

==============================================================================
Do Something :: Do a process to a thing(Slow Process).                | PASS |
------------------------------------------------------------------------------
doSomething :: Overall Results                                        | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================

Что я хочу это:

==============================================================================
Do Something :: Do a process to a thing(Slow Process).                | PASS |
doSomething took 3 minutes and 14 seconds.
------------------------------------------------------------------------------
doSomething :: Overall Results                                        | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================

Ответы на вопрос(3)

Ваш ответ на вопрос