RF-Web自動化
目錄
robotframework-selenium2library庫安裝配置
環境搭建
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標籤選擇
- 開啟瀏覽器視窗:Open Browser [url | 瀏覽器]
- 關閉當前瀏覽器視窗:Close Browser
- 關閉所有開啟的瀏覽器和瀏覽器快取重置:Close All Browsers
- 跳轉:go to [url]
- 返回:go back
- 視窗最大化:Maximize Browser Window
- 指定視窗大小:Set Window Size [寬度 | 高度]
- 指定視窗位置:Set Window Position [橫座標 | 縱座標]
- 文字關鍵字:Input Text 關鍵字後面跟定位 和輸入文字
- 單擊頁面元素按鈕,傳遞一個locator:Click Button [locator]
- 單擊定位器locator定位到的具體元素:Click Element [locator]
- 點選連結:Click Link [url](通過定位href檢視跳轉元素的URL)或者跟[locator]
- 檔案上傳:Choose File [locator | 上傳檔案位置(file_path)]
- 向本地瀏覽器新增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過期時間,不填預設為空
- 獲取瀏覽器中的所有的快取Cookie:Get Cookie
- 刪除快取:Delete Cookies [name]
- 刪除所有快取Cookie:Delete All Cookies
- 獲得所有頁面上href連結元素對應的id:Get All Links (獲取到的id可以賦值變數後列印出來)
- 獲取頁面文字內容:Get Text [locator] (獲取到的文字內容可以賦值變數列印出來)
- 獲取瀏覽器網頁標題:Get Title (獲取到的文字內容可以賦值變數列印出來)
- 獲取某個元素標籤對應的value屬性:Get Value [locator] (獲取到的文字內容可以賦值變數列印出來)
- 獲取元素物件的列表資訊:Get Webelements [locator] 獲得所有的Webelemen物件的列表
- 獲得當前已開啟瀏覽器視窗的所有標題:Get Window Titles
- 獲得頁面上一個下拉選單下的所有選項:Get List Items [locator] (賦值變數列印)
- 獲取頁面中下拉選單的value值:Get Selected List Value [locator] (賦值變數列印)
- 選擇下拉選單選項:Select From List By Value [locator] 通過Value值選擇
使用者關鍵字建立
如果多個指令碼只是執行時的引數不同,容易造成指令碼冗餘,那麼可以通過建立使用者關鍵字的方法簡化指令碼內容,在用到指令碼時,只需通過封裝的關鍵字來引用指令碼內容。封裝方法如下:
- 編寫一個要封裝的指令碼,執行除錯成功。
- 建立一個測試套件(注:使用者封裝關鍵字中如果引用了某些庫的關鍵字,需要給測試套件新增這些庫)。
- 右擊測試套件,選擇New User Keyword 選項,對封裝的關鍵字方法命名。
- 封裝方法內容和方法引數化設定:建立成功後的方法顯示,如圖名為:檔案上傳方法,點選‘檔案上傳方法’,選擇Edit下的Settings,編輯封裝的方法指令碼內容和進行引數化設定。
- 指令碼內容編輯:可以在已經編輯好並除錯正常的指令碼中的Text Edit中選擇複製指令碼內容到‘檔案上傳方法’下儲存。
- 引數化:在方法下的Edit的Settings中進行引數化變數新增,完成後再將指令碼中引用引數的地方修改為引數化的變數名後儲存。如果一個指令碼中有多個引數變數,在新增引數變數時用‘|’隔開,如下:
- 引用新增的使用者方法:在建立的這個套件下,建立測試用例,輸入框中直接輸入建立的使用者方法,根據方法需要通過使用具體引數執行指令碼。
異常錯誤參考:https://www.jianshu.com/p/f15fe7386781
相關文章
- java自動化——web自動化複習JavaWeb
- 自動化
- 介面自動化與ui自動化區別UI
- Selenium自動化實現web自動化-1Web
- 自動化測試系列 —— UI自動化測試UI
- 自動化(五)
- appium自動化APP
- 前端自動化前端
- 【自動化】淺度分析自動化行業,深度好文!行業
- 什麼是任務自動化與流程自動化? - infoworld
- 【自動化測試入門】自動化測試思維
- [自動化]基於kolla的自動化部署ceph叢集
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- jenkins 自動化流程Jenkins
- python 介面自動化Python
- java自動化——testNGJava
- Maven 自動化部署Maven
- 全自動化介面
- selenium自動化操作
- Httpclient 介面自動化HTTPclient
- 談自動化精神
- Maven自動化部署Maven
- 自動化構建
- 前端流程自動化前端
- 自動化之旅--AppiumAPP
- 利用tox打造自動自動化測試框架框架
- Appium自動化(15) - 針對 webview 進行自動化測試APPWebView
- java 自動化與 python 自動化哪種程式語言吃香?JavaPython
- 自動的自動化:EvoSuite 自動生成JUnit的測試用例UI
- 什麼時候需要自動化什麼時候用自動化?
- 自動化裝置測試與自動化測試的區別
- 如何做自動化測試?什麼是自動化測試?
- API自動化測試API
- Maven 自動化構建Maven
- 自動化測試框架框架
- Hazel for Mac自動化清理Mac
- titans Selenium 自動化框架框架
- 自動化測試理解