Python 開發與接口測試學習筆記
這是我跟著蟲師學習中積累下來的學習筆記,寫得比較簡單,適合想學習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 開發與接口測試學習筆記