测试用例在执行过程中是无人看守的,用例运行报错的时候,我们希望能对当前屏幕截图,留下证据。而在写测试用例的时候,最后一步是断言,可以把截图的动作放在断言之后,那么如何在断言失败后执行截图操作呢?
一、截图方法
# 获取当前Window的截图,出现IOError时候返回False,截图成功返回True
# filename参数是保存文件的路径。
# Usage: driver.get_screenshot_as_file('/Screenshots/foo.png')
get_screenshot_as_file(self, filename)
# 获取屏幕截图,保存的是base64的编码格式,在html测试报告中输出截图时会用到
# Usage: driver.get_screenshot_as_base64()
get_screenshot_as_base64(self)
# 获取屏幕截图,保存的是二进制数据,很少用到
# Usage: driver.get_screenshot_as_png()
get_screenshot_as_png(self)
二、使用 try...except 捕获异常后对当前屏幕截图
1)给截图命名时需要加上时间戳,避免同一个文件名称被覆盖掉。
2)如果要获取截图,需要填写截图文件的保存路径。
3)截图的结果,如果没截到图会返回False,截图成功会返回True。
import unittest
from selenium import webdriver
import os
import time
class Demo(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.get("https://www.baidu.com")
def tear

最低0.47元/天 解锁文章
343

被折叠的 条评论
为什么被折叠?



