1. 程式人生 > >Python 開發與接口測試學習筆記

Python 開發與接口測試學習筆記

width text googl test ocs 技巧 結構 res line

這是我跟著蟲師學習中積累下來的學習筆記,寫得比較簡單,適合想學習Python開發與接口測試的初學者學習。

一、開發投票系統

1、參考官網文檔,創建投票系統。

https://docs.djangoproject.com/en/1.11/intro/tutorial01/

在創建投票系統之前,要確認自己安裝的Django和官網的文檔是一致的。

====================

win 10

Python 3.6.2

Django 1.11.3

Pycharm編譯器

====================

2、創建項目PollsWeb並創建Polls應用

技術分享

打開Polls/setting.py文件添加:

技術分享

Polls是我們剛剛創建的應用,bootstrap3是我們另外下載的前端框架

最終目錄結構:

技術分享

3、創建模型

一般web開發先設計數據庫,數據庫設計好了,項目就完成一大半了,可見數據庫的重要性。

打開Polls/models.py編寫如下:

技術分享

執行數據庫表生成與同步

技術分享

4、admin管理

Django提供了強大的後臺管理,對於web應用來說,後臺必不可少,例如當前投票系統,如何添加問題與問題選項?直接操作數據庫添加,顯然麻煩,不方便,也不安全。所以,管理後臺就可以完成這樣的工作了。

打開Polls/admin.py文件,編寫如下內容:

技術分享

當前腳本的作用就是將模型(數據庫表)交由admin後臺管理,運行web容器:

首先我們先去創建一個超級管理員用戶,

技術分享

創建完超級用戶,就可以去運行我們的容器了:

技術分享

登錄我們的後臺:127.0.0.1:8000/admin

輸入我們剛才創建的登錄名和密碼,

技術分享

點擊增加按鈕添加問題:

技術分享

點擊save保存

5、 編寫視圖

視圖起著承前啟後的作用,前是指前端頁面,後是指後臺數據庫。將數據庫表中的內容查詢出來顯示到頁面上。

編寫Polls/views.py文件:

技術分享

技術分享

6、配置URL

url是一個請求配置文件,頁面中的請求轉交給由哪個函數處理,由該文件決定。

首先配置Polls/urls.py,這個文件需要自己創建,在Polls下創建一個urls.py的文件:

技術分享

編寫完,就接著編輯總的urls。打開PollWeb/urls.py文件:

技術分享

7、創建模板

模板就是前段頁面,用來將數據顯示到web頁面上。

首先創建Polls/templates/polls/目錄,分別在該目錄下創建index.html、detail.html和result.html文件

index.html

技術分享

技術分享

result.html

技術分享

技術分享

detail.html

技術分享

技術分享

8、系統功能展示

http://127.0.0.1:8000/polls/現在我們可以嘗試一下訪問我們的頁面了:

技術分享

技術分享

技術分享

二、開發投票系統接口

雖然投票系統的功能已經開發完成,但我們並沒有開發專門的接口,在當前的投票系統中,在我們調用一個get或post請求時,系統會返回整個頁面,並且把測試連同頁面一起返回

2.1、改造投票系統接口

例如,當我們要調用所有問題的接口時(test_get.py)

技術分享

運行程序,得到如下結果:

技術分享

而特有的接口應該返回的是數據,而不是整個頁面;而數據一般格式為數組、字典或者Json格式

所以,需要對視圖層(../Polls/views.py)進行改造,使其提供接口,並單純的返回數據

技術分享

技術分享

我們先對前面兩個進行接口改造,其實這裏改造還有很多不完整的,例如單個問題的所有選項的接口,接受的參數question_id如果為空,應該提示參數錯誤,如果查詢不到相關問題,應該提示查詢結果為空,如果傳的類型不為數字,應該提示,類型錯誤。

再次執行test_get.py文件:

技術分享

這次得到的就是json類型的數據了。不過,返回值對中文進行了Unicode的編碼。這裏提供個小技巧,將其轉換成中文。

技術分享

http://127.0.0.1:8000/polls/在Google瀏覽器中打開,,我們會看到上面那些返回值

按一下鍵盤上的F12,就可以打開控制臺,根據上面圈出來的點擊,就可以看到中文了

2.2、編寫接口文檔

編寫接口文檔也是非常重要的一個環節,因為我們編寫的接口時需要給別人調用的,那麽別人如何知道我們的接口是用get還是post調用呢?參數都有哪些?這時候就要參考接口文檔了

1.獲取所有問題

url

http://127.0.0.1:8000/polls/

請求類型

get

需要參數

返回格式

json

返回結果

{1: "國慶幹什麽", 2: "中秋幹什麽", 3: "暑假幹什麽", 4: "開學幹什麽"}

錯誤類型

暫無

2.獲取單個問題的所有選項

url

http://127.0.0.1:8000/polls/

請求類型

get

需要參數

question_id

返回格式

json

返回結果

{1: "在家", 2: "工作實習", 3: "上網"}

錯誤類型

暫無

大概接口文檔就是這麽寫的,對於這份文檔,就方便了後面我們如何做接口測試了

3、對於編寫接口測試來說,我們會涉及到兩個技術。一個是unittest單元測試框架和request庫

技術分享

接口的代碼就這樣完成了,最後我們看一下返回的結果:

技術分享

到這裏,我們的系統開發和接口測試就已基本完成了。這也是我跟蟲師教程中得到的筆記。

Python 開發與接口測試學習筆記