相关疑难解决方法(0)

如何捕获 Python Unittest 测试用例失败的屏幕截图

我使用 Python 3.6.5 和以下库:

  • Appium-Python-客户端==0.26
  • unittest2==1.1.0
  • 硒==3.5.0
  • pytest==3.6.3

现在我需要在测试失败的情况下捕获屏幕截图,所以我故意放了一个错误的陈述 self.driver.find_element_by_css_selector('test')

我正在使用sys.exc_info(). 但是当我使用命令执行以下代码时:py.test untitled.py或者python3 -m unittest untitled.py它没有捕获它。

代码:

import sys, time, unittest2
from selenium import webdriver

class FB360(unittest2.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()

    def test_user_can_login(self):
            self.driver.get('https://www.google.co.in')
            self.driver.find_element_by_css_selector('test')

    def tearDown(self):
        print(sys.exc_info())
        if sys.exc_info()[0]:
            test_method_name = self._testMethodName
            self.driver.save_screenshot(test_method_name + str(time.time()) + '.png')
        self.driver.quit()

if __name__ == '__main__':
    unittest2.main()
Run Code Online (Sandbox Code Playgroud)

开/关:

(无,无,无)

================================================== ==================== 错误:test_user_can_login (untitled.FB360)


回溯(最近一次通话):文件“/Volumes/Harry/Projects/pythonScreenshots/untitled.py”,第 11 行,在 test_user_can_login self.driver.find_element_by_css_selector('test') 文件“/Library/Frameworks/Python.framework/ Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 498, in find_element_by_css_selector …

python pytest selenium-webdriver python-unittest python-3.6

3
推荐指数
1
解决办法
3579
查看次数