使用机器人框架,测试结束后是否可以做一些事情?

时间:2017-03-18 05:15:07

标签: python robotframework

我想通过电子邮件将Robot Framework的测试报告发送给领导者。 最近,我制作了一个发送电子邮件库,用于机器人框架的套件拆解,但很快,我发现测试报告是在执行套件拆解后生成的,因此无法获取报告。 我想知道在套件结束后有没有办法在机器人框架中做类似的事情?

2 个答案:

答案 0 :(得分:4)

虽然@Jan是正确的,但是使用监听器的close event将允许你这样做,真正的问题是你是否应该这样做。在我看来,这不再与测试自动化有关,而是与编排有关。像这样的功能通常随着时间的推移而扩展,然后这肯定是错误的地方。

这就是为什么我建议看看Jenkins(或任何其他CI,如TravisCI,Bamboo等),它具有开箱即用的这种电子邮件功能。随着时间的推移,它将是一个更好的可维护解决方案,并且对于未来的功能将更加灵活。

对于Robot Framework,存在特定的plugin

答案 1 :(得分:1)

我会让你提到的库成为一个Robot Framework库监听器,如下所述:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#test-libraries-as-listeners

在调用close侦听器方法时,自动变量${REPORT_FILE}的上下文消失了,您需要将其合并,例如像这样的库构造函数:

class YourLibrary(object):
    ROBOT_LISTENER_API_VERSION = 2

    def __init__(self):
        self.ROBOT_LIBRARY_LISTENER = self
        self._path_to_report = BuiltIn().get_variable_value('${REPORT_FILE}')

    def _close(self):
        self.call_your_method_to_send_the_report(self._path_to_report)

注意:如果您使用侦听器版本2或3,则无关紧要。