Selenium/Python 如何錄製自動化測試時的操作畫面

Selenium/Python 如何錄製自動化測試時的操作畫面

這篇文章主要介紹一個套件,可以在自動化測試的過程中,錄製整個畫面成為一個SWF影片。

這樣一來,當自動化測試受到非預期干擾或是錯誤發生的時候,可以比較清楚的知道當下發生的狀況。

要達到錄製畫面為影片檔,必須要一個工具套件完成,”Castro”

工具參考網站: http://www.unixuser.org/~euske/vnc2swf/pyvnc2swf.html#vnc2swf

步驟一:安裝Castro的 python 套件

首先,我們安裝 Castro 的python套件。該套件提供影片錄製的相關 API

pip install Castro

步驟二:安裝VNC

需要透過VNC來做到錄影的功能,因此該電腦需安裝VNC

Windows TightVNC (http://www.tightvnc.com/)

安裝TightVNC Server and Viewer

Linux Settings> Preference > Remote Desktop > Allow other users to view your desktop
Mac 安裝VNC Server http://www.testplant.com/products/vine/

System Preferences > Remote Desktop

步驟三:Python 程式範例

這個程式會啟動 之後,會啟動Firefox ,瀏覽 Google,結束。執行完畢之後,會產生兩個檔案 GoogleSearchVideo.swf 與 GoogleSearchVideo.html。

[pastacode lang=”python” message=”Python Video Recording ” highlight=”10,13,25″ provider=”manual”]

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from castro import Castro
import time, unittest


class VideoRecording (unittest.TestCase) :
    def setUp(self) :
        
         # Define the video file name
         self.screenCapture = Castro(filename="GoogleSearchVideo.swf")

         # Start Recording of movie
         self.screenCapture.start()

         self.driver = webdriver.Firefox()

    def testGoogleSearch(self) :
         driver = self.driver
         driver.get("http://www.google.com")

    def tearDown(self) :
         self.driver.quit()
         
         # Stop the recording
         self.screenCapture.stop();


if __name__ == "__main__":
        unittest.main()

[/pastacode]

Leave a Reply

Your email address will not be published. Required fields are marked *