一、截屏功能
測試執行過程中進行截屏并且儲存,是任何一款自動化測試工具或者架構必備的功能。那麼Robotframework如何進行截屏呢?Robotframework提供了一個“Screenshot”庫。
使用“Screenshot”庫前,需要确認你搭建的環境(本人是window環境)中是否已經安裝以下軟體:
wxPython (位址 http://wxpython.org)
Python Imaging Library (PIL) (位址 http://www.pythonware.com/products/pil)
安裝完畢後,先引入該測試庫:Library Screenshot
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuEDZlZGM4AzNxEzMlFmZ2YGN1YTY5MTZzEGZlFTY5gTZfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
Screenshot庫
二、Screenshot庫解析
“Screenshot”庫有3個關鍵字:Set Screenshot Directory、Take Screenshot、Take Screenshot Without Embedding。
第一個關鍵字Set Screenshot Directory是設定截屏圖檔儲存的路徑,例如:
Set Screenshot Directory ${CURDIR} 就是指将圖檔儲存在測試用例的目錄下。
還有另外一種方式是在引入“Screenshot”庫時設定路徑,例如:
Library Screenshot ${CURDIR}也同樣是設定圖檔儲存路徑為目前目錄。
後兩個關鍵字Take Screenshot、Take Screenshot Without Embedding是用來截屏并儲存的。
差別是:
第一個截屏後,圖檔将顯示在報告中,它用于截取目前視窗;
第二個截屏後,報告中隻有圖檔的連結。
截屏圖檔預設儲存為“screenshot_n.jpg”這樣的檔案,n=1、2、3,依次類推。Robotframework會自動保證檔案命名的唯一。
你也可以手工命名圖檔的名稱,例如:Take Screenshot pic.jpg 就是将圖檔儲存為“pic.jpg”。截屏圖檔如果很大,嵌入報告中會顯得不好看。Robotframework允許指定圖檔的大小,例如:Take Screenshot width=500px 就是标明圖檔儲存為500像素。
三、示例Demo
示例Demo
執行結果:
執行結果