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