用例不可能每一次运行都成功,肯定运行时候有不成功的时候。需要捕捉错误,并且把错误截图保存。
截图方法:driver.get_screenshot_as_file
"""
捕捉异常截图测试
"""
import os.path
import time
import unittest
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
class ScreeshotTest(unittest.TestCase):
def setUp(self) -> None:
self.driver = webdriver.Chrome()
self.driver.get('https://www.baidu.com/')
self.driver.maximize_window()
def tearDown(self) -> None:
sleep(3)
driver = self.driver
driver.quit()
def test_01(self):
driver = self.driver
driver.find_element(By.ID, 'kw').send_keys("lala")
driver.find_element(By.ID, 'su').click()
sleep(3)
print(driver.title)
try:
self.assertEqual(driver.title, u"百度一下你就知道", msg="不相等")
except:
self.saveScreenShot(driver, "shot.png")
sleep(5)
def saveScreenShot(self, driver, filename):
if not os.path.exists("./picture"):
os.makedirs("./picture")
# 格式十分重要,小写大写敏感 %Y%m%d-%H%M%S
# 格式化时间:strftime
now = time.strftime("%Y%m%d-%H%M%S", time.localtime(time.time()))
driver.get_screenshot_as_file("./picture/" + now + "-" + filename)
sleep(3)
if __name__ == '__main__':
unittest.main()