WebDriver 内置了一些在测试中捕获屏幕并保存的方法:
方法 | 描述 |
---|---|
save_screenshot(filename) | 获取当前屏幕截图并保存为订单文件,filename指定保存的路径或者图片的文件名 |
save_screenshot_as_base64() | 获取当前屏幕截图base64编码字符串 |
save_screenshot_as_file(filename) | 获取当前的屏幕截图,使用完整的路径 |
save_screenshot_as_png() | 获取当前屏幕截图的二进制文件数据 |
具体实例如下:
import os
from selenium import webdriver
from time import sleep, strftime,localtime,time
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
self.driver.get('http://www.baidu.com')
def test1(self):
self.driver.maximize_window()
self.driver.find_element_by_id('kw').send_keys('selenium')
self.driver.find_element_by_id('su').click()
sleep(2)
st = strftime("%Y-%m-%d-%H-%M-%S",localtime(time()))
fime_name = st + '.png'
#self.driver.save_screenshot(fime_name)
path = os.path.abspath('screenshot')
file_name = path + '/' + fime_name
self.driver.get_screenshot_as_file(file_name)
sleep(2)
self.driver.quit()
if __name__ == '__main__':
case = TestCase()
case.test1()