扩展Python unittest结果对象以保存屏幕截图

扩展Python unittest结果对象以保存屏幕截图,python,python-3.x,selenium,python-unittest,Python,Python 3.x,Selenium,Python Unittest,我目前有一个python selenium webdriver项目,其中测试结果保存到数据库中。 然后,测试运行的结果将显示在网页中,以便于查看 我想对此进行改进,这样就可以查看失败的屏幕截图 我已经能够扩展unittest.TestCase中的addError和addFailure方法来截图,但是我无法确定如何扩展TestResult对象来保存这个截图 我的TestBaseClass当前看起来像这样,但在addError上抛出了太多参数错误 class TestCaseBase(unittes

我目前有一个python selenium webdriver项目,其中测试结果保存到数据库中。 然后,测试运行的结果将显示在网页中,以便于查看

我想对此进行改进,这样就可以查看失败的屏幕截图

我已经能够扩展unittest.TestCase中的addError和addFailure方法来截图,但是我无法确定如何扩展TestResult对象来保存这个截图

我的TestBaseClass当前看起来像这样,但在addError上抛出了太多参数错误

class TestCaseBase(unittest.TestCase):

    def run(self, result=None):
        super(TestCaseBase, self).run(TestResultEx(result, self))


class TestResultEx(object):
    def __init__(self, result, testcase):
        self.result = result
        self.testcase = testcase

    def __getattr__(self, item):
        return object.__getattribute__(self.result, item)

    def addError(self, test, error):
        screenshot = self.testcase.driver.get_screenshot_as_base64()
        self.result.addError(test, error, screenshot)