2

我已阅读此文档,其中解释了如何在执行期间创建纯文本日志文件。正如它所说,它是一个Debug Fileand All messages got from test libraries are written to them; 但我正在寻找一种方法来控制其内容的日志级别。没有任何机制或技巧来获得它吗?甚至任何其他机器人框架选项也具有Debug file(在测试进行时将测试执行消息写入纯文本)功能?

4

1 回答 1

3

无法控制进入调试文件的详细信息量。调试文件的重点是为调试目的创建详细的输出。

如果您希望在测试运行时将信息写入纯文本文件,您可以创建一个侦听器,该侦听器可以随时随地写入您想要的任何内容。

例如,假设您想写下每个测试开始和结束的时间。第一步是创建一个监听器。对于此示例,创建一个名为“CustomLog.py”的文件,其内容如下:

import datetime
class CustomLog:
    ROBOT_LISTENER_API_VERSION = 2

    def __init__(self, filename='listen.txt'):
        self.logfile = open("/tmp/robot.log", 'w')

    def _write(self, message):
        now = datetime.datetime.now()
        self.logfile.write(str(now) + " " + message + "\n")
        self.logfile.flush()

    def start_test(self, name, attrs):
        self._write("start_test: %s" % name)

    def end_test(self, name, attrs):
        self._write("end_test: %s (%s)" % (name, attrs["status"]))

    def close(self):
        self.logfile.close()

您可以通过--listener参数将此文件的名称传递给机器人:

robot --listener CustomLog.py ...

侦听器界面使您能够执行套件、测试和关键字启动和停止的操作。这些方法都包含在文档中。

于 2017-04-26T11:08:53.773 回答