Appium+Python自動化測試PO模式
PO模式屬於selenium的一種設計模式,套用在appium身上了(實踐表明,合適,因為selenium和appium"本是同根生")
Data:測試數據。后期准備把代碼中會所有測試數據都整合到excel或者xml內,Data文件夾就是這個用處
PO:所有Page。以Base頁面為基礎(看下圖分析,來理解PO)
Page:存放頁面元素的定位
Public:一些公共的方法,比如測試報告腳本,封裝好的
Report:測試結果,包括測試報告和截圖
Runner:測試套件,利用HTMLTestRunner.py,輸出測試報告到/Report下
TestCase:測試用例都放這兒
yamlFile;存放配置數據
1.Page
Page這個文件夾主要是用來放頁面元素的,可以先將測試時要用到的頁面元素定位都寫到這個文件,如下圖
所有頁面元素都是采用By來定位的,具體可以去網上百度By的定位方法
2.Public
這里放的就是公用的方法和啟動的方法
1)啟動方法
返回的是driver,這里面的配置參數都是從yaml文件中讀取的,不知道yaml數據配置的,可以看這篇:https://www.cnblogs.com/xiongxiaoyan/p/11727733.html
2)公用方法
主要是重寫find_element,click(),send_keys(),clear(),以及其他我常用到的方法,如下圖__init__()方法是一個構造函數,在實例化類的時候就會自動執行這個方法:
我封裝的其他常用方法:
3.TestCase
這個文件夾存放的是測試用例,一個模塊一個文件,一個文件里面包含多條用例
我將用到的模塊公用方法單獨寫在上面,可以避免代碼冗余
將用到的方法單獨提出來,寫測試用例時代碼就不用寫的那么繁瑣了,如下圖:
1)新建文件夾,直接調用新建文件夾方法
2)刪除
3)復制
4)移動
注意:在寫try語句時,一定要在except語句塊里面加一個判斷執行錯誤的斷言,不加的話,不論執行用例是否正確,運行時腳本都會認為是pass
4.Runner
Runner文件夾存放的是總的運行文件,執行時,只運行這個文件就可以
腳本內容如下:
5.Report
這是存放報告的文件夾
具體報告如下:
6.yamlFile
這是放運行數據的文件夾
這個一般一開始就要配置好的,整個po模式就是這樣了,新人勿噴,可以提建議