RF-Web自動化

覓遠發表於2020-12-26

目錄

環境搭建

robotframework-selenium2library庫安裝配置

配置selenium2library庫

指令碼編輯

基本瞭解

報錯處理

關鍵字

Web關鍵字

使用者關鍵字建立


環境搭建

robotframework-selenium2library庫安裝配置

下載地址:https://pypi.org/

開啟https://pypi.org/後搜尋robotframework-selenium2library,找到對應的安裝包,點選生成pip安裝命令後複製,在本機命令視窗中Python所在位置使用命令安裝,pip install robotframework-selenium2library。安裝成功後在Python\Lib\site-packages位置下會生成名為selenium2library的包資料夾。

配置selenium2library庫

根據需要給對應的套件目錄檔案或套件檔案新增庫,新增方法:

選中對應的檔案點選後出現新增庫檔案的頁面

新增成功後新增的資訊顯示為黑色,如果新增失敗或錯誤顯示為紅色,如下:

指令碼編輯

基本瞭解

同樣使用F5可以開啟檢視和選擇需要的庫的關鍵字及關鍵字的使用方法:

指令碼編輯中沒有指定瀏覽器時,自動選擇為預設瀏覽器,如圖,將滑鼠移動到開啟網址後的輸入框時,會顯示預設瀏覽器。

報錯處理

編輯好的指令碼在執行時可能報錯解決,如圖執行開啟一個網頁尾本用來時報錯:

WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

需要下載對應的瀏覽器驅動,並將驅動檔案放到python目錄下,再去執行指令碼

關鍵字

查詢更多:https://blog.csdn.net/Jasonliujintao/article/details/54600365

Web關鍵字

 

                Get Webelement [locator]  獲得匹配到的第一個Webelemen物件的列表(定義變數列印)

 

                      Select From List By Index  [locator]     通過Index索引選擇

                      Select From List By Label  [locator]     通過Label標籤選擇

  1. 開啟瀏覽器視窗:Open Browser  [url  |  瀏覽器]
  2. 關閉當前瀏覽器視窗:Close Browser
  3. 關閉所有開啟的瀏覽器和瀏覽器快取重置:Close All Browsers
  4. 跳轉:go to  [url]
  5. 返回:go back  
  6. 視窗最大化:Maximize Browser Window
  7. 指定視窗大小:Set Window Size       [寬度 |  高度]
  8. 指定視窗位置:Set Window Position       [橫座標  |  縱座標]
  9. 文字關鍵字:Input Text   關鍵字後面跟定位 和輸入文字
  10. 單擊頁面元素按鈕,傳遞一個locator:Click Button   [locator]
  11. 單擊定位器locator定位到的具體元素:Click Element   [locator]
  12. 點選連結:Click Link  [url](通過定位href檢視跳轉元素的URL)或者跟[locator]
  13. 檔案上傳:Choose File  [locator  |  上傳檔案位置(file_path)]   
  14. 向本地瀏覽器新增Cookie快取:Add  Cookie   [name | value | path=None | domain=None | secure=None | expiry=None ] 

    name

    新增的快取名稱

    value

    新增的快取的具體的值

    path

    快取對應的路徑,不填為預設None

    domain

    domain:快取對應的域名,不填為預設None

    secure

    快取的安全屬性,用來保證Cookie是安全的。如果被設定為Secure=true,那麼這個Cookie只能用HTTPS協議傳送請求到伺服器,用HTTP協議不傳送

    expiry

    Cookie過期時間,不填預設為空

  15. 獲取瀏覽器中的所有的快取Cookie:Get Cookie
  16. 刪除快取:Delete Cookies    [name]   
  17. 刪除所有快取Cookie:Delete All Cookies
  18. 獲得所有頁面上href連結元素對應的id:Get All Links  (獲取到的id可以賦值變數後列印出來)
  19. 獲取頁面文字內容:Get Text  [locator]  (獲取到的文字內容可以賦值變數列印出來)
  20. 獲取瀏覽器網頁標題:Get Title    (獲取到的文字內容可以賦值變數列印出來)
  21. 獲取某個元素標籤對應的value屬性:Get Value [locator]  (獲取到的文字內容可以賦值變數列印出來)
  22. 獲取元素物件的列表資訊:Get Webelements [locator] 獲得所有的Webelemen物件的列表
  23. 獲得當前已開啟瀏覽器視窗的所有標題:Get Window Titles
  24. 獲得頁面上一個下拉選單下的所有選項:Get List Items [locator]    (賦值變數列印)
  25. 獲取頁面中下拉選單的value值:Get Selected List Value  [locator]    (賦值變數列印)
  26. 選擇下拉選單選項:Select From List By Value  [locator]     通過Value值選擇

使用者關鍵字建立

如果多個指令碼只是執行時的引數不同,容易造成指令碼冗餘,那麼可以通過建立使用者關鍵字的方法簡化指令碼內容,在用到指令碼時,只需通過封裝的關鍵字來引用指令碼內容。封裝方法如下:

  1. 編寫一個要封裝的指令碼,執行除錯成功。
  2. 建立一個測試套件(注:使用者封裝關鍵字中如果引用了某些庫的關鍵字,需要給測試套件新增這些庫)。
  3. 右擊測試套件,選擇New User Keyword 選項,對封裝的關鍵字方法命名。
  4. 封裝方法內容和方法引數化設定:建立成功後的方法顯示,如圖名為:檔案上傳方法,點選‘檔案上傳方法’,選擇Edit下的Settings,編輯封裝的方法指令碼內容和進行引數化設定。

  1. 指令碼內容編輯:可以在已經編輯好並除錯正常的指令碼中的Text Edit中選擇複製指令碼內容到‘檔案上傳方法’下儲存。
  2. 引數化:在方法下的Edit的Settings中進行引數化變數新增,完成後再將指令碼中引用引數的地方修改為引數化的變數名後儲存。如果一個指令碼中有多個引數變數,在新增引數變數時用‘|’隔開,如下:
  3. 引用新增的使用者方法:在建立的這個套件下,建立測試用例,輸入框中直接輸入建立的使用者方法,根據方法需要通過使用具體引數執行指令碼。

異常錯誤參考:https://www.jianshu.com/p/f15fe7386781

 

相關文章