selenium + python實現截圖並且儲存圖片的方法
阿新 • • 發佈:2018-12-17
在自動化測試過程中,是有必要截圖的,特別是遇到錯誤的時候進行截圖,截圖可以幫助我們直觀的定位錯誤、記錄測試步驟。。截圖對於測試人員來說應該是較為重要的一個技能。
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()
執行的結果如下