天天看點

python 自動化接口測試(6)

   迎接新的一波更新吧,這次是基于圖靈機器人的一個api接口的測試。

 這是api的接口:http://www.tuling123.com/openapi/api

 我們試着通過浏覽器直接通路看下

python 自動化接口測試(6)

 這是回報的結果,那麼我們來看下圖靈機器人這邊給的接口文檔,http://www.tuling123.com/help/h_cent_webapi.jhtml?nav=doc這是文檔中心,這裡的編寫很規範的,我們看到這個就很好知道我們想要用的接口,需要的東西,以及簡單的接口說明,我們可以從這裡很快的得到我們想要的資訊。

python 自動化接口測試(6)

這裡面詳細的給我們描述了需要的接口位址,包括請求格式和請求參數,那麼我們接下來,來分析下,

可見這個文檔給我們了請求位址,請求參數格式,那麼我們接下來需要想想我們的思路,

理清我們要測試的目的,測試的思路,怎麼去來寫這個測試用例,怎麼組織我們想要的測試結果,盡量讓我們的測試更加全面,這裡呢,

我的想法呢就是主要有一下, 測試api的url   測試請求方式   請求的參數,傳回結果。那麼我們的斷言寫在哪裡呢,我是把斷言用傳回結果code加斷言,

python 自動化接口測試(6)

這是我整個目錄

讓傳回結果來看看api傳回值是否正确,那麼我來寫我的測試用例,在這裡,我寫的測試用例是基于yaml的檔案寫的,友善這裡的讀寫,

post:

 post1:

   key: "aaaa"

   coneent: 'sasa'

   url: 'http://www.tuling123.com/openapi/api'

   fangshi: 'POST'

   code: "40001" #密碼錯誤

 post2:

   key: "dfeb1cc8125943d29764a2f2f5c33739"

   coneent: ''

   code: "40002" #未輸入内容

 post3:

   code: "40007" #格式異常

 post4:

   coneent: 'sdsad'

   code: "40004" #次數用完

 我的斷言就是這些code,

那麼我們寫好測試用例了,下面就是來組織我們的腳本了。我喜歡吧一些我們經常用的封裝起來,不管是架構也好,還是讓我用起來友善吧,我一般都是簡單的寫幾個函數,這樣呢,在我接下來用的時候就特别友善了。我這裡面呢使用的是第三方庫,理由很簡單,就是我們的第三方庫提供給我們很多便利, 我使用的是requests來做的,我們大家可以看下,教程 。      這是一個中文的教程,大家可以來試試,這裡因為我是文章,就不給大家講解。大家可以看下詳細的文檔。接下來看下我封裝的,其實就是簡單的總結

其實沒有怎麼封裝吧,但是呢 還是給我提供了便利。 我封裝了幾個請求方式,這樣在接下來的使用中我可以直接使用了,我自己固定好的格式,給定的函數。

接下來就是來寫我們的用例了。這裡我利用了yaml和 unittest來組織用例。yaml使用方法以及剖析。

unittest詳細講解:

這是我寫的用例。那麼大家可以看出來,我的寫法也是簡單的。就是一些簡單的使用。

這邊的測試報告我使用的是HTMLrunner。

詳細代碼:GitHub傳送門  

由于在後面在6的基礎上進行了 優化,git clone代碼後,使用下面指令

git checkout  5a9c6b041aa1b47e40df52d57727ae39f3e6319c

那麼我們來看下最後的測試報告,

python 自動化接口測試(6)

 最後我還寫了發送郵件的子產品,其中加的log子產品暫時還沒有用在代碼中。 後續的優化,這樣,我就運作一下,然後最後給我發送測試報告,我不用盯着電腦了。

其實在這裡,大家還可以加入多線程來跑腳本,這樣比較快。

其實大家都是為了走的更遠,做的更好。路在腳下,相信自己。

我的qq群194704520