robot framework使用SeleniumLibrary打開谷歌瀏覽器無頭模式
- 2021 年 9 月 30 日
- 筆記
- Robot Framework
註:我百度了一圈並沒有發現類似的教程
robot framework的seleniumLibrary一般打開瀏覽器的方式是用關鍵字
Open Browser
但是,閱讀seleniumLibrary的源碼後發現,並沒有一個參數可以讓我們指定無頭模式,所以Open Browser做不到,除非修改源碼。
這個時候,通過文檔,找到了官方對於有需要傳參數的需求,提供了一個關鍵字
Create Webdriver
我們可以自己創建一個Webdriver對象,既然是自己創建,那自然就可以跟selenium一樣指定配置參數。
但是當我根據官方介紹的方式來創建對象時,卻發現這種傳參方式沒有效果。
我們使用selenium打開無頭模式時,需要創建一個Options對象,然後給add_argument函數賦值才可以做到。
當我學習官方介紹的傳參方式時,發現根本不起作用,雖然沒有報錯,但是瀏覽器依舊是打開了。
後面想了想
${proxy.add_argument} Set Variable –headless
這一段,Set Variable 是賦值,所以是達不到傳參的效果的,結果就變成了
proxy.add_argument=”headless”
最後將Options.add_argument函數變成了一個字符串變量。。。
那把這樣的參數傳進去,自然就開不了無頭模式。
所以,我們得換一個方式傳參,就用到了
Call Method
Call Method 是robot 自帶的關鍵字,就是專門用來傳參的。
我們將語句更改為
Call Method ${Options} add_argument --headless
於是乎,你會發現,雖然沒有打開瀏覽器,但是測試用例顯示已經執行完畢。