python3+request接口自動化框架


首次書寫博客,記錄下寫的自動化接口框架,框架比較簡單,哈哈哈,算是記錄下歷程把!~~~

一、本次框架由python3.6 書寫

  1、准備代碼環境,下載python3.6    下載地址:https://www.python.org/downloads

  2、下載pycharm 軟件。

二、開始創建python接口自動化框架:

  1、這是我創建的框架中的各個文件夾,分別有config  配置文件夾、fengzhuang   將接口用get post  兩種傳輸方式進行封裝並自動來區分執行。

  2、logfile 用來存放測試用例執行后 ,log日志的保存。

  3、public_common  用來存放一些公共的方法,比如斷言、日志、獲取excel表格中的用例。

  4、result  用來存放運行測試用例后,生成的html報告。

  5、test_case 用來存放測試用例代碼。

  6、test_case_data用來存放測試的excel測試用例。

  7、最重要的腳本運行的入口。

三、文件夾代碼開始填充:

  1、config文件夾中創建Config_file.py 文件。應為我Config_file文件中只書寫了一個失敗重試的次數限制,就不截圖顯示了,哈哈  自己寫下就好

  2、logs文件夾中創建logtest文件夾(logtest的意思是曾經寫了一個log文件  感覺不太好,又從新寫了一個以test命名來進行實驗的一直也就沒改,哈哈)

    2.1、先創建一個log代碼,來進行log的獲取與存儲。當沒有log文件儲存的文件夾logfile是會自動創建一個

   3、log已經創建成功后,改開始進行接口GET POST  傳輸帶的參數進行一個代碼書寫。

    3.1:get與post 分別創建了兩個函數因為post與get的代碼差不多  就不對post進行截圖了,此代碼是對接口進行請求並將返回的json數據進行轉換並對代碼進行容錯(容錯位置可能有問題,如果沒成功,可以下方評論聯系我!)

  4、請求參數代碼創建完成后,對數據可以進行斷言來判斷返回的數據是否准確嘍:

    4.1、我在上方先導入了一個log文件,一個圖沒截下來,再次說明下哈,

因為我寫的是PHP的接口返回,我的接口返回的數據主要判斷下接口里data list  中是否有數據  ,現在判斷的比較簡單,斷言的name主要是用在case運行時帶一個用例名稱好進行紀錄。

  5、現在數據傳參、斷言下面 對case中返回的接口傳輸方式get、post  進行一個封裝,使其自動進行判斷 啦啦啦 !

    5.1、上代碼

兩個圖截的有點low了 ,再次說一下哈,getJson這個函數是一個,只是將返回的進行一個轉換后在返回給調用的,也可以自己在進行優化的,這段代碼主要時對excel中的用例里面,在excel中單獨放了一個字段  fangshi   對這字段來進行一個檢查,如果時post則會進行判斷自動調用post方法  ge't相同方式。

  6、好了到這里一些,來進行一項重要的,讀取excel中用例。

    6.1、上代碼

先導入xlrd 模塊,先創建一個空list,因為我將case的數據都寫在了sheet1頁面中了,所以直接就寫死了,這里需要的可以自己寫一下,這段代碼里進行按照行進行了循環查找並將每一行傳喚成一個dict形式,並添加帶list中最后返回list。

  7、獲取excel文件的方式也寫完了,開始寫case的框架來進行運行了

    7.1、上代碼 

這段代碼中有一個注釋掉的,時進行測試的修改錯誤的,可以忽略掉。這里主要我將excel文件夾的路徑直接寫到了cese中,因為在excel中導出的數據時list形式,我將其進行一個循環來拿出數據進行,畢竟excel中會有很多的case來進行測試。最后對代碼進行斷言,在斷言代碼中的name字段在這里用到,用來獲取excel中case中的名稱,在生成log時會有一個標識,好進行跟蹤。當然在這里我進行了錯誤錯誤代碼,運行失敗后,限制重試的次數,用到的就是Config文件中限制的次數。好了到這里接口自動化測試框架已經完成了很大的一部分了,下面就開始出現運行入口。(我這里用的UNITEST 框架,因為HTML報告沒有自己寫,用來一個省事的哈哈。以后會修改的。)

  8、框架運行的入口:

    8.1、上代碼:

這里為框架運行的入口代碼,里面有一個發郵件的功能,只是我還沒有寫成功,能發郵件 但是附件沒帶成功,sendmail文件我就沒在這次書寫上 ,后面的文章中,我會加上的。

四、以上為我寫的接口自動化框架的基本代碼,書寫的比較簡陋,可能規范也欠缺,哈哈  不過紀錄下歷程和新手學習下還算過的去

五、html測試報告樣式

  5.1樣式比較簡單,哈哈  后續會優化的。

六、歡迎各位進行查看並指出錯誤。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM