【发布时间】:2017-01-05 20:55:06
【问题描述】:
我正在尝试在整个执行结束时收集文件:output.xml、report.html 和 log.html。
我可以为此目的使用一个监听器,但我想避免写这样一行:
robot --listener "SomeListener.py" YourTestSuite.robot
然后,我查看了文档,发现可以将测试库用作侦听器并将其导入我的测试套件中,例如:
class SomeLibrary(object):
ROBOT_LISTENER_API_VERSION = 2 # or 3
ROBOT_LIBRARY_SCOPE = "GLOBAL" # or TEST SUITE
def __init__(self):
self.ROBOT_LIBRARY_LISTENER = self
def start_suite(self, data, result):
pass
def close(self):
pass
我的问题是当库超出范围时会调用 close 方法。因此,我无法收集报告文件,因为它们在那一刻不存在并且我收到错误消息。我也试过这个方法:
def report_file(self, path):
pass
但是,什么都没有发生,我想这可能是因为作为侦听器的库无法使用 Listener API 中的这些方法,或者因为文件仍未创建。
关于如何使用库作为侦听器收集这些文件的任何想法? 我愿意接受想法或建议。
谢谢。
【问题讨论】:
标签: python automated-tests robotframework