一直以來,跑Robot FrameworkWeb UI Test Case時,習慣都用對FireFox支援較友善的Selenium2LiberaryRun Firefox web driver,雖然明知SeleniumOpen Browser keywork事實上支援多種Web Driver,但一直都只用firefox來作為Robot Framework的專用Browser,唯二的缺點就是:開Browser有時很慢並且需要指定firefox profile路徑(如果需要客製化profile,這還衍生另一個跨平台問題,Mac(Unix-like OS)Windows的路徑使用格式不同,因此你可能需要對open browser 寫法做if 條件處理,否則就是做兩版Robot Framework project for macwindows)

下圖說明Open Browser可以指定多種不同Browser

 

  然而我實在是受夠FireFox常常開很慢的問題,這取決於機器效能與網路速度,另外就是FireFox因為需要打開UI在桌面上跑,所以有時候為了怕找不到頁面元素,總是需要做類似Maximize Browser Window的處理,而且效果取決於執行機器的環境,在調整Test Case時總是要花費很多時間在這種無效率的調整上,所以我開始考慮使用HeadLess Browser作為Robot FrameworkTesting Browser

  PhantomJS正是這樣的Browser,這種Browser有一個特色就是執行的時候不會有UI畫面出現在桌面上,看起來就乾淨俐落許多,而要把他弄到Robot Framework 上步驟很簡單,只要先下載PhantomJS Package並放到電腦某個路徑,再把PhantomJSbin Folder設為環境變數Path的路徑之一,重新run robot framework,然後在Test Case中指定用PhantomJS作為Open BrowserBrowser,就可以執行HeadLess Browser Automatic Testing了。

  1. 下載PhantomJS Package(Version 應該大於2.0)並解壓放到電腦某一路徑底下。

Download from : http://phantomjs.org/download.html

然後我解壓縮把Package內容後放到D:\Program Files\PhantomJS底下。

  • bin 底下放著PhantomJS.exe,必須把該folder設到環境變數path之下。

 

  1. 設定PhantomJS bin Folder為環境變數Path路徑之一。

1). 到電腦 系統->進階系統設定->環境變數

2). 找到path 變數加入底下路folder path : D:\Program Files\phantomjs\bin\; 然後儲存變數。

3). 可以在command line 下用 echo %path%檢查path是否已加入該folder路徑。

  1. 重新載入Robot Framework

Robot可以重新把新的環境變數吃進去。

  1. robottest case中,用以下兩種方式指定用PhantomJS作為Browser

1). Open Browserhttp://www.google.comphantomjs

2). Create Webdriverphantomjs

Go Tohttp://www.google.com

  最後實測結果:

  1. 執行時桌面不會開browser
  2. 不需要最大化視窗也可以操作到所有元素。
  3. 執行時間比需要開FireFox Browser還要快上十秒左右。

 

201891日星期六

arrow
arrow

    jackterrylau 發表在 痞客邦 留言(0) 人氣()