屏幕截图功能常用的有两种:
savescreenshot()及 getscreenshotasfile()。
使用格式
self.driver.save_screenshot('baidu.png')
self.driver.getscreenshotasfile(filepath)
在项目中用到屏幕截图的地方基本使用场景为测试用例失败后保存失败的截图,帮助定位问题。
实现功能1
百度搜索成功后屏幕截图-通过save_screenshot方法。
实现代码:
#导入相关包
from time import sleep
from selenium import webdriver
class Testcase():
#打开百度
def __init__(self):
self.driver=webdriver.Chrome()
driver.get('https://www.baidu.com')
def test4(self):
self.driver.find_element_by_id('kw').send_keys('nihao ')
self.driver.find_element_by_id('su').click()
sleep(2)
#屏幕截图
self.driver.save_screenshot('baidu.png')
sleep(2)
if __name__ == '__main__':
case=Testcase()
case.test4()
实现功能2
百度搜索成功后屏幕截图,保存到指定路径,以当前时间命名
实现代码:
#导入相关包
from time import sleep
from selenium import webdriver
import os
from time import sleep, time, localtime, strftime
def test4(self):
self.driver.find_element_by_id('kw').send_keys('nihao ')
self.driver.find_element_by_id('su').click()
sleep(2)
#获取当前时间
str=strftime("%Y-%m-%d-%H-%M-%S",localtime(time()))
#png格式命名
file_name=str+'.png'
#获取路径
path=os.path.abspath('screenshot')
#路径名+文件名拼接
file_path=path+'/'+file_name
#截图操作
self.driver.get_screenshot_as_file(file_path)
if __name__ == '__main__':
case=Testcase()
case.test4()