1. 程式人生 > 實用技巧 >Web自動化測試框架搭建

Web自動化測試框架搭建

<一>、web自動化框架的搭建
---selenium常用瀏覽器操作

-定位元素
八大元素定位方法
find_element_by_id,find_element_by_name,find_element_by_xpath,find_element_by_class_name,find_element_by_tag_name,find_element_link_text,find_element_by_partial_link_text,find_element_by_css_selector
el.click點選操作
el.send_keys()使用者輸入,鍵盤操作
視窗切換,ifram切換,alert
元素的三大等待
ActionChains, .perform()
下拉框操作,Select()
系統互動上傳檔案,pywinauto,pyautogui
傳送JS,頁面滾動,修改DOM元素
---用例設計
先通過Excel設計好用例,
title,data,steps,expected
---框架結構
基本上可以和介面相似,
common部分可以直接拿過來用,Config部分可以根據web自動化的配置修改,Handlerer也是根據需要的修改,
---自動化用例實現
就是平時selenium的基礎操作組合起來的
根據用例設計,操作瀏覽器和頁面
---異常用例
很多情況是正向測試,主流程,可能寫了這個異常用例,但是不會跑

---正常用例

根據測試步驟進行
---用例篩選
unittest,新增用例,discover()
suit.addTests()
---pytest的好處
靈活的篩選用例,
不需要手工新增,手動執行,pytest.main()
testsuit,tets_loader,test_runner,
自動發現測試用例
pytest和unittest相容
---pytest發現用例的規則
模組名稱必須以test_(或者_test.py)
測試類不能有_init_(self)
方法名稱必須以test_開頭
pytest測試用例函式可以脫離類的形式,可以直接用函式的形式,類可以不繼承
unittest.TestCase
自動發現用例(pytest)
---標記功能的步驟

先註冊ini檔案,pytets.ini,
開啟標籤,測試用例函式上面加上@pytest.mark.標籤名
執行指定標籤用例,在終端下輸入,pytest -m "標籤名",按下回車就可以了。

<二>、測試用例設計執行的說明
'''
1, 開啟瀏覽器
2,訪問登入頁面
3,元素定位+元素操作(輸入使用者名稱和密碼,點選登入)
4,通過獲取頁面內容得到實際結果進行斷言
'''
開啟瀏覽器到定位元素過程種可以設定一個隱性等待,這個等待時間可以直接在config中設定,如果在yaml檔案中設定,
selenium:
wait_time: 20 這樣可以直接在測試用例中匯入,form middleware.handler import Handler,如果在config檔案中匯入WAIT_TIME=20,可以直接在測試用例中匯入 from config.config import WAIT_TIME
然後獲取實際的結果,actual和預期的結果用斷言比較,self.assertEqual(actual,"預期結果");如果預期結果是實際結果的一部分,就用包含關係,self.assertTrue("預期結果" in actual)