Robot Framwork 問題小記


一、必須在套件層添加Lib庫,在用例中才能生效;python

二、添加Lib庫時,注意庫名的大小寫區分,這裏是大小寫敏感的;windows

三、當須要點擊的元素沒有id時,怎麼辦?瀏覽器

  • 相對路徑?
  • CSS?
  • 摺疊菜單,用js或者jQuery?

優先考慮相對路徑,如下圖爲例,一開始試了相對路徑、絕對路徑都沒用:app

用戶管理

經過xpath來定位「用戶管理」,一直沒反應,想不通緣由。
直到查看測試報告中有一句:測試

WebDriverException: Message: unknown error: Element is not clickable at point (-115, 161)

這纔想到,打開瀏覽器時默認縮放大小爲左側一半,確實左側列表是還未顯示的,須要點擊列表欄按鈕(上方三條槓)纔會顯示。編碼

那麼就有兩種解決方案:spa

  • 打開瀏覽器後,先調整瀏覽器大小爲全屏,即添加 Maximize Browser Window.net

  • 打開瀏覽器後,先點擊列表欄按鈕將列表欄顯示出來,再點擊用戶管理按鈕;code

Attention:blog

  • 在步驟中適當 sleep 是頗有必要的;
  • 列表打開或關閉的兩種狀態下,要提取的xpath有可能會不一樣,若是沒注意到,可能還會報如下錯誤:
ElementNotVisibleException: Message: element not visible

四、用例關鍵字有中文時,可能會有報錯:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

編碼問題,使用 u='關鍵字' 的方式並無獲得解決。

最後,參考解決方案(windows系統):

在 python 的 Lib -> site-packages 目錄下新建一個文件sitecustomize.py

來源:http://robotframework.net/?/question/637

sitecustomize.py 內容以下:

#encoding=utf8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
相關文章
相關標籤/搜索