目前,我有一个可以创建屏幕截图的函数,我在这里调用它
def tearDown(self):
self.save_screenshot()
self.driver.quit()
还创建了一个文件夹,用于存储屏幕截图。
我不希望这种情况在测试通过时发生。
我必须添加什么才能使这种情况不发生?
谢谢你的帮助
python大神给出的解决方案
这是仅在失败时捕获屏幕截图的一种方法:
def setUp(self):
# Assume test will fail
self.test_failed = True
def tearDown(self):
if self.test_failed:
self.save_screenshot()
def test_something(self):
# do some tests
# Last line of the test:
self.test_failed = False
这种方法的基本原理是,当测试到达最后一行时,我们知道测试已通过(例如,所有self.assert *通过)。此时,我们重置test_failed
成员,该成员在setUp
中设置为True。在tearDown
中,我们现在可以判断测试是通过还是失败,并在适当时拍摄屏幕截图。