有没有办法在外部python lib创建的log.html中显示截图?

时间:2018-04-08 06:07:31

标签: robotframework

我是机器人框架的初学者,所以我更喜欢使用带有selenium的外部python库。 由于机器人框架log.html真的很酷,我想把我的截图和测试结果放到机器人框架log.html中。 无论如何将外部python lib创建的屏幕截图放入robotframework中的log.html中?

1 个答案:

答案 0 :(得分:1)

通常,大多数开箱即用的关键字都映射到单个Python函数。这使得@BryanOakley的建议成为正确的建议。看看Robot Framework本身的代码,了解它是如何做到的。

在这种情况下,我认为您可以通过查看Screenshot library的代码了解最多。可以在GitHub中访问此库的Python代码。鉴于问题是将它们添加到日志中,重点应放在从line 230开始的两个函数上。第一个添加图像文件引用到日志,第二个添加只是超链接。

def _embed_screenshot(self, path, width):
    link = get_link_path(path, self._log_dir)
    logger.info('<a href="%s"><img src="%s" width="%s"></a>'
                % (link, link, width), html=True)

def _link_screenshot(self, path):
    link = get_link_path(path, self._log_dir)
    logger.info("Screenshot saved to '<a href=\"%s\">%s</a>'."
                % (link, path), html=True)

调用的实际函数logger.info可以在Robot Framework API类中找到,并在文件的开头导入:

from robot.api import logger