Robot framework 引入 Selenium2Library 类库:
在用robotframework-selenium2library做web自動化測試時候,首先要將Selenium2Library導入到Test Suite中,在導入Selenium2Library時可以指定以下可選參數:
- timeout=5.0
- implicit_wait=0.0
- run_on_failure=Capture Page Screenshot
- screenshot_root_directory=None
?
- 導入Selenium2Library庫時,設置timeout參數值為0。
- 在測試用例中通過關鍵字Set SeleniumTimeout設置參數值為0。
?
- 在使用Wait Until Element IsVisible關鍵字時指定timeout參數值為0。
?
如果三種方式對timeout參數設置了不同的值,根據就近原則關鍵字參數中設置的timeout參數會對當前關鍵字生效,但是通過導入參數和通過Set SeleniumTimeout設置參數改變的是全局的timeout值。?
個人認為在實際的通常項目的測試過程中全局默認的5s超時時間比較合理,所以不需要在導入Selenium2Library庫時指定timeout參數,也不需要通過Set SeleniumTimeout在測試用例中修改timeout參數值,當特殊的測試測試步驟或者測試場景需要修改timeout參數值時,可以通過在關鍵字中指定timeout參數值使其在局部生效。
implicit_wait
implicit_wait是selenium查找元素時的一個隱含超時時間,默認值為0。對上面的用例做一點修改,不采用Wait Until Element Is Visible來判斷元素是否可見,而直接操作元素,用例腳本如下:
*** Settings *** Library Selenium2Library*** Test Cases *** loginOpen Browser http://www.126.comInput Text id=idInput emailfortest2016Input Password id=pwdInput 111112Click Element id=loginBtnClick Element link=退出Close Browser
?
執行測試用例時會報查找不到元素的錯誤,因為在執行Click Element link=退出?時頁面還沒加載完成,implicit_wait的值為0,selenium在查找不到元素時立刻返回錯誤。?
我們在導入selenium庫時將implicit_wait設置為5秒,用例腳本如下:
?
再次執行用例腳本可正常執行。?
也可以通過關鍵字Set Selenium Implicit Wait來設置全局的implicit_wait值,如下用例腳本也能正常執行。
?
個人認為在實際測試過程中不需要設置implicit_wait值,在對頁面或者元素進行操作前都通過Wait …關鍵字先判斷頁面是否加載完成或者元素是否可見,這樣測試腳本的健壯性會更好。
run_on_failure
當Selenium2Library某個關鍵字執行失敗時將指定運行關鍵字run_on_failure。?
*** Settings *** Library Selenium2Library run_on_failure=Capture Page Screenshot?
默認可以使用Capture Page Screenshot來截取當前頁面內容。使用值’Nothing’可以完全禁用該功能。
screenshot_root_directory
screenshot_root_directory指定了Capture Page Screenshot關鍵字截取頁面圖片的存放路徑。如果沒有指定那么截圖圖片會默認存放在robotframework日志文件存放路徑。
總結
以上是生活随笔為你收集整理的Robot framework 引入 Selenium2Library 类库:的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux基础命令介绍七:网络传输与安全
- 下一篇: 百度地图怎么看历史导航轨迹(百度产品大全