1. 程式人生 > >Robot Framework學習(8):Web自動化測試

Robot Framework學習(8):Web自動化測試

web自動化測試用到的庫是Selenium2Library

與瀏覽器相關的關鍵字

1. Open Browser    https://www.baidu.com  ff/chrome    # 開啟瀏覽器

注:要想通過不同的瀏覽開啟URL地址,一定要安裝瀏覽器相對應的驅動

2. Close Browser        # 關閉瀏覽器

3. Close All Browser    # 關閉所有瀏覽器並重置快取

4. Maximize Browser Window        # 最大化

5. Set Browser Implicit Wait        # 通過selenium 設定implicit_wait

6. Switch Browser                         # 通過索引或別名切換瀏覽器

7. Element Shold Be Visible           # 定位查詢的元素可見

8. Get Location                            # 返回當前瀏覽器的URL

9. Get Locations                        # 返回當前所有瀏覽器視窗

10. Get Window Idetifiers        # 返回當前所有瀏覽器的id屬性

11. Get Window Names           # 返回當前所有瀏覽器的name屬性

12. Get Window Titles             # 返回當前所有瀏覽器的title

13. Get Back                            # 後退

14. Go to                                 # 跳轉到URL

15. Input Password                # 定位元素並輸入密碼值

16. Select Window                # 選擇瀏覽器視窗

17. Set Window Position       # 設定視窗x,y值

18. Set Window Size            # 設定視窗大小(width,height)

滑鼠操作關鍵字

1. Mouse Down                            # 模擬按下滑鼠左鍵

2. Mouse Down On Image           # 模擬在定點陣圖片上按下滑鼠左鍵

3. Mouse Down On Link               # 模擬在定位連結上按下滑鼠左鍵

4. Mouse Out                               # 模擬滑鼠移出

5. Mouse Over                            # 模擬滑鼠懸停

文字操作關鍵字

1. Input Text                        # 輸入文字

2. Get Text                          # 獲取文字

3. Element Text Should Be            # 預期包含文字值

4. Element Text Should Not Be        # 預期不包含文字值

5. Clear Element Text                        # 清空文字內容

6. Click Link                                        # 點選連線

7. Press Key                                       # 按壓鍵 [ locator | key]

8. Click element                                # 點選

9. click image                                #

10. get value                                # 獲取值

11. Get horizontal position            # 獲取當前物件的左上角頂點距離整個頁面的橫座標

12. Get vertical positon               # 獲取縱座標

13. select checkbox                  # 勾選複選框

14. unselect checkbox           # 不勾選複選框

15. select radio button          # 選擇radio 按鈕

16. choose file                     # 選擇檔案

17. input password             # 輸入密碼

18. click button                 # 點選按鈕

19. select from list  by index/value/label             # 通過index/value/label選擇from表單

20. select all form list                 # 選中所有的表單

21. get list items                      # 獲取所有的列表項

22. get selected list label/value     # 確認一下選中的列表項

23. get table cell                            # 獲取指定table裡的指定行列的元素的文字值

24. get index in table column/row          # 獲取某個文字在表格的行列

25. execute JavaScript                       # 執行js

26. execute async JavaScript            # 非同步執行js指令碼

27. confirm action                            # 對話方塊確認

28. capture page screenshot            # 當前頁面截圖

29. wait for condition                       # 等待條件

30. wait until page contains

31. wait until page contains element

32. Wait Until keyword Succeeds

33. wait until page

Cookies

add cookie        新增Cookie
delete cookie        刪除cookie

delete all cookie    刪除所有cookie
get cookie            獲取所有cookie
get cookie value    獲取cookie的值

案例設計: 以百度搜索為例

(1)新建suit:webservice,新建測試case:selenium

(2)webservice匯入Resource,然後在eles.robot下新建使用者關鍵字

實現了二次封裝。

(3)還可以採用三層模式實現,減少重複程式碼修改

新建3flow.robot,新增使用者關鍵字“驗證百度搜索功能”,並匯入(2)中的eles.robot,講selenium2中的程式碼在該關鍵字中顯示

(4)四層實現模型,引入PageObject

 

經過分層,把資料和流程剝離開,減少了冗餘,和一些需求變更引起的修改。資料可以存入變數檔案、資料庫或者Excel裡,執行時去讀取資料。

從Excel中讀取資料需要用到ExcelLibrary庫,鑑於目前無法安裝成功,可稍後再行測試

也可以把變數存放到.py檔案中,讀取