1. 程式人生 > >Python+selenium之截圖圖片並保存截取的圖片

Python+selenium之截圖圖片並保存截取的圖片

只需要 odi 通過 位置 .py alt ims oca 創建

本文轉載:http://blog.csdn.net/u011541946/article/details/70141488

http://www.cnblogs.com/timsheng/archive/2012/09/05/2672651.html

介紹如何利用Selenium的方法進行截圖,在測試過程中,是有必要截圖,特別是遇到錯誤的時候進行截圖。在selenium for Python中主要有三個截圖方法,我們挑選其中最常用的一種。

截圖技能對於測試人員來說應該是較為重要的一個技能。

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

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

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

webdriver的截圖功能十分強悍。以前在截圖的時候,最麻煩的問題莫過於頁面太長而只能截到一屏,屏幕以外需要移動滾動條才能看到的區域一般是截不到的。現在webdriver解決了這個問題,無論頁面有多長,webdriver都能比較完美的截到完整的頁面。

下面的代碼演示了如何使用webdriver進行截圖:

 1 # -*- coding: utf-8 -*-
 2 from selenium import webdriver
 3 import unittest
 4 import os,sys,time
 5 import
HTMLTestReport 6 7 #登錄 8 driver =webdriver.Firefox() 9 10 current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) 11 current_time1 = time.strftime("%Y-%m-%d", time.localtime(time.time())) 12 print(current_time ) 13 print(current_time1 ) 14 # 必須打印圖片路徑HTMLTestRunner才能捕獲並且生成路徑,\image\**\\**.png 是獲取路徑的條件,必須這樣的目錄
15 #設置存儲圖片路徑,測試結果圖片可以按照每天進行區分 16 17 18 19 #通過if進行斷言判斷 20 driver.get("https://baidu.com/") 21 #新創建路徑“.”表示當前整個.py文件的路徑所在的位置,“\\”路徑分割符,其中的一個是“\”表示轉義字符 22 pic_path = .\\result\\image\\ + current_time1+\\ + current_time +.png 23 print(pic_path) 24 time.sleep(5) 25 print(driver.title) 26 #截取當前url頁面的圖片,並將截取的圖片保存在指定的路勁下面(pic_path),註:一下兩種方法都可以 27 driver.save_screenshot(pic_path) 28 driver.save_screenshot(.\\result\\image\\ + current_time1+\\ + current_time +.png) 29 30 if u百度一下,你就知道 == driver.title: 31 print (Assertion test pass.) 32 else: 33 print (Assertion test fail.) 34 35 #通過try拋出異常進行斷言判斷 36 driver.get("https://baidu.com/") 37 driver.save_screenshot(pic_path) 38 try: 39 assert u百度一下,你就知道 == driver.title 40 print (Assertion test pass.) 41 except Exception as e: 42 print (Assertion test fail., format(e)) 43 44 time.sleep(5) 45 driver.quit()

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

Python+selenium之截圖圖片並保存截取的圖片