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]