Robot FrameWork UI自動化腳本穩定性與原生關鍵字
在執行robotframework 的用例時,經常會出現穩定性差的問題。用例執行第一次成功,執行第二次就可能報錯。自己對這個問題撓頭很久,不知道怎麽解決。今天在瀏覽網頁的時候發現了一個不錯的帖子,好像能夠解決這個穩定性的問題。然後就把貼子搬了過來,為自己做一下備份(看了人家的帖子後,發現原來還是自己對robotframework的關鍵字用的不夠熟悉造成的?(????ω????)?)。
眾所周知,在UI自動化在運行時,時常會收到來自各方的挑戰;開發會說,你的自動化不穩定,又誤報了;測試會說,這個框架不行,太多誤報,我要花大量的時間去復查是否是BUG!
出現運行不穩定的情況包含:
一、
二、 過多的異步加載,雖然控件加載完成了,但是值的填充正在進行!
三、 網格列表無法判斷,是否加載完成,因為框架加載和數據加載要全部完成,才能操 作!否則會webdriver異常;
四、 Frame不退出為什麽也報錯!
解決問題:
第一個問題:在操作元素之前,需要先判斷元素是否可見,Wait Until Element Is Visible
第二個問題:2個解決方案;
l Wait Until Keyword Succeeds 等待後面的關鍵字執行成功,可設置超時時間和重試間隔時間
l
第三個問題:通常會對網格進行選中、雙擊、單擊、驗證等處理;如果網格數據未加載完成,webdriver會報錯,以下2種解決辦法;
l 在數據加載時,開發會實現loading效果,我們可以用Js調用開發的Loading判斷,通過返回值,來確定網格列表加載完成沒有;
l 以網格中某行為錨點,判斷這個行是否可見了,如果可見,說明網格基本加載成功,可以使用“第一個問題”的解決辦法;
第四個問題:點擊一個按鈕,出現一個彈出界面,通常實現是Div裏面嵌套一個Iframe;有人會習慣,關閉這個彈出界面後,就直接操作父頁面了;
研究發現,在某些瀏覽器的某些版本下,
原貼鏈接:https://zhuanlan.zhihu.com/p/21567663
Robot FrameWork UI自動化腳本穩定性與原生關鍵字