目前我有一个创建屏幕截图的函数,我在这里调用它
def tearDown(self):
self.save_screenshot()
self.driver.quit()
还有一个正在创建的文件夹,用于存储屏幕截图。
我不希望测试通过时发生这种情况。
我必须添加什么才能避免这种情况发生?
感谢大家的帮助
最佳答案
如果您的测试失败,sys.exc_info会有异常(exception)。因此您可以将其用作测试的通过/失败结果:
if sys.exc_info()[0]:
# 'Test Failed'
else:
# 'Test Passed'
如果您想在失败时截取屏幕截图:
import unittest
import sys
from selenium import webdriver
class UrlTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
def test_correct_url(self):
self.driver.get('https://google.com')
self.assertTrue('something.com' in self.driver.current_url)
def tearDown(self):
if sys.exc_info()[0]:
self.driver.get_screenshot_as_file('screenshot.png')
self.driver.quit
if __name__ == '__main__':
unittest.main()
关于python - 仅在测试失败时创建屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27879640/