selenium + python實現截圖並且保存圖片的方法

在自動化測試過程中,是有必要截圖的,特別是遇到錯誤的時候進行截圖,截圖可以幫助我們直觀的定位錯誤、記錄測試步驟。。截圖對於測試人員來說應該是較爲重要的一個技能。

webdriver的截圖功能十分強悍,無論頁面多長,webdriver都能比較完美的截到完整的頁面。

Webdriver自帶截圖功能:

(1)get_screenshot_as_file()

該方式很簡單,通過driver獲取該方法,將截圖要保存的路徑寫入就好,

(2)save_screenshot(),與get_screenshot_as_file()方式一樣,使用起來都很簡單

看以下實例,打開csdn首頁進行截圖

# -*- coding: utf-8 -*-
from selenium import webdriver
import unittest
import os,sys,time
from pathlib import Path

#初始化實例
driver = webdriver.Chrome()

current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
current_time1 = time.strftime("%Y-%m-%d", time.localtime(time.time()))
print(current_time )
print(current_time1 )

#設置存儲圖片路徑,測試結果圖片可以按照每天進行區分

#通過if進行斷言判斷
driver.get("https://www.csdn.net/")
#新創建路徑“.”表示當前整個.py文件的路徑所在的位置,“\\”路徑分割符,其中的一個是"\"轉義符
pfilename = u'.\\image'
pic_path = pfilename+ '\\' + current_time1 + '_' + current_time + '.png'
#判斷文件夾是否存在,不存在就新建一個新的
if Path(pfilename).is_dir():
    pass
else:
    Path(pfilename).mkdir()

print(pic_path)
time.sleep(2)
print(driver.title)
#截取當前url頁面的圖片,並且將截取的圖片保存在指定的路徑(pic_path)
driver.save_screenshot(pic_path)

if u'CSDN-專業IT技術社區' == driver.title:
    print('Assertion test pass')
else:
    print('Assertion test fail')

driver.quit()

運行的結果如下

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章