如何自定义机器人框架测试输出?

时间:2017-05-03 23:58:37

标签: listener robotframework

我试图找出如何使用监听器自定义机器人测试脚本的输出。我正在尝试使用以下监听器:

from robot.api import logger

class TestListener:

    ROBOT_LISTENER_API_VERSION = 2

    def __init__(self):
        self.pass_count = 0
        self.fail_count = 0
        self.skip_count = 0
        self.error_count = 0
        self.total_count = 0

    def end_test (self, name, attributes):
        if attributes['status'] == 'PASS':
            self.pass_count = self.pass_count + 1
        else:
            self.fail_count = self.fail_count + 1
        self.total_count = self.total_count + 1

    def close(self):
        logger.console("%d tests total, %d passed, %d failed" % (self.total_count,self.pass_count,self.fail_count))

但不知何故,当我运行pybot时,我得到以下输出:

% pybot --listener listen.py --output NONE --log NONE --report NONE --quiet --exitonfailure --outputdir NONE test.robot

[ WARN ] Listener 'listener.py' uses deprecated API version 1. Switch to API version 2 instead.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
108   980  108   980    0     0   1677      0 --:--:-- --:--:-- --:--:-- 25789
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 17125  100 17125    0     0  55405      0 --:--:-- --:--:-- --:--:--  229k

我想知道为什么即使在" - 安静"使用了mode,以及为什么不显示监听器中logger.console的输出。

非常感谢任何帮助! 谢谢!

1 个答案:

答案 0 :(得分:0)

您看到的输出可能是关键字的输出,该输出不通过日志记录机制。例如,您的关键字可能直接打印到stdout或/ dev / tty。