上成品:https://github.com/Lishuanger/ls_api_test,這里簡單的寫了一下,不規(guī)范的地方請多多包涵,后續(xù)持續(xù)優(yōu)化
先說一下使用步驟:
1.下載demo
2.安裝xlrd,xlwt,requests,pandas,xlutils這幾個框架
3.在sendmail文件中修改收件人郵箱,發(fā)件人郵箱和密碼,ip,端口號等 --ip,端口號可查詢:?SMTP參考?
4.運行run文件?
不出意外可以看到運行結果:
Ran 2 tests in 0.581s
OK
發(fā)送郵件成功?
demo目錄參考圖:

下面分模塊簡單說一下
第一部分:接口請求處理
1.api文件將接口劃分為:名稱,url,請求方法,參數,比對方法,比對字段,預期結果等7個字段,進行接口測試之前需要準備對應的api文件
2.read_excel讀取api中的接口,并存儲到一個list中.
3.baseRequest中將對read_excel中的list進行請求,并將測試結果傳遞給write_excel
4.assist用來封裝斷言方法,比如equle是比較請求結果是否與預期結果一致,contain是返回結果是否包含預期結果,可根據需要添加更多斷言
5.write_excel將測試結果寫入result文件中
到此處接口請求的基本流程完成.
第二部分:測試用例
tastCase里面是測試用例(可添加多個測試用例,測試用例中的api路徑就是上面說的api文件的路徑),在測試用例中需要獲取api列表,并調用send_request方法
api = read_excel.read_dataSouce(PATH("../Report/api.xlsx")) ? ? ? #api文件路徑? ?
base_request = baseRequest.BaseRequest() ? ? ? ? ? ? ?#初始化一個請求對象 ?
base_request.send_request(api) ? ? ? ? ? ? ? ? ? ? ? ?#調用請求
第三部分:run
每次run的時候,會先清空result文件,以便寫入新的測試結果
本來想加一些樣式美化一下,來不及了,等以后有時間慢慢優(yōu)化。