溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python+selenium實(shí)現(xiàn)截圖圖片并保存截取的圖片

發(fā)布時(shí)間:2020-08-21 19:41:30 來源:腳本之家 閱讀:322 作者:木棉花的漂泊 欄目:開發(fā)技術(shù)

這篇文章介紹如何利用Selenium的方法進(jìn)行截圖,在測試過程中,是有必要截圖,特別是遇到錯(cuò)誤的時(shí)候進(jìn)行截圖。在selenium for Python中主要有三個(gè)截圖方法,我們挑選其中最常用的一種。

截圖技能對于測試人員來說應(yīng)該是較為重要的一個(gè)技能。

在自動(dòng)化測試中,截圖可以幫助我們直觀的定位錯(cuò)誤、記錄測試步驟。

記得以前在給某跨國銀行做自動(dòng)化項(xiàng)目的時(shí)候,某銀的PM要求我們自動(dòng)化測試的每一步至少需要1個(gè)截圖,以證明每個(gè)功能都被自動(dòng)化測試給覆蓋過,在這種情況下截圖就成了證明自動(dòng)化測試有效性的重要手段。

好的測試人員都會(huì)截得一手好圖,就跟骨灰級宅男定會(huì)吟得一手好詩一般。

webdriver的截圖功能十分強(qiáng)悍。以前在截圖的時(shí)候,最麻煩的問題莫過于頁面太長而只能截到一屏,屏幕以外需要移動(dòng)滾動(dòng)條才能看到的區(qū)域一般是截不到的。現(xiàn)在webdriver解決了這個(gè)問題,無論頁面有多長,webdriver都能比較完美的截到完整的頁面。

下面的代碼演示了如何使用webdriver進(jìn)行截圖:

# -*- coding: utf-8 -*-
from selenium import webdriver
import unittest
import os,sys,time
import HTMLTestReport
#登錄
driver =webdriver.Firefox()
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 )
# 必須打印圖片路徑HTMLTestRunner才能捕獲并且生成路徑,\image\**\\**.png 是獲取路徑的條件,必須這樣的目錄
#設(shè)置存儲(chǔ)圖片路徑,測試結(jié)果圖片可以按照每天進(jìn)行區(qū)分
#通過if進(jìn)行斷言判斷
driver.get("https://cache.yisu.com/upload/information/20200622/113/64783.html'
print(pic_path)
time.sleep(5)
print(driver.title)
#截取當(dāng)前url頁面的圖片,并將截取的圖片保存在指定的路徑下面(pic_path),注:以下兩種方法都可以
driver.save_screenshot(pic_path)
driver.save_screenshot('.\\result\\image\\' + current_time1+'\\' + current_time +'.png') 
if u'百度一下,你就知道' == driver.title:
  print ('Assertion test pass.') 
else:
  print ('Assertion test fail.')
 #通過try拋出異常進(jìn)行斷言判斷  
driver.get("https://baidu.com/")
driver.save_screenshot(pic_path)
try:
  assert u'百度一下,你就知道' == driver.title
  print ('Assertion test pass.') 
except Exception as e:
  print ('Assertion test fail.', format(e))
time.sleep(5)
driver.quit()

save_screenshot方法實(shí)現(xiàn)了截圖功能,只需要傳入保存截圖的文件名就可以了,十分方便。

總結(jié)

以上所述是小編給大家介紹的Python+selenium實(shí)現(xiàn)截圖圖片并保存截取的圖片,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI