這一節我們實現下面兩個功能
為了測試方便,我們先在main.py檔案中增加2個測試的介面
def api():
return jsonify()
def error():
codes = [404, 401, 403, 500]
random.shuffle(codes)
abort(codes[0])
再修改handle_get()方法
def handle_get():
url = request.form['url']
try:
r = requests.get(url)
except exception as e:
print(e)
r = none
resp = build_resp(r)
return render_template('home.html', resp=resp)
def build_resp(r):
resp =
if r is none:
return resp
if r.status_code < 400:
resp['success'] = true
resp['url'] = r.url
resp['text'] = r.text
resp['headers'] = r.headers
resp['status_code'] = r.status_code
return resp
這裡我們新增了build_resp(r)方法,該方法的主要作用是判斷請求響應的狀態碼,如果小於400就將請求成功狀態設定為true。
下面修改前端頁面home.html
狀態碼: }
headers
}: }
body
}
執行失敗
狀態碼: }
響應: }
上面主要的修改是回顯get請求的url,另外如果請求是失敗狀態,就展示失敗的資訊。
修改完成後,使用/error介面進行測試,效果如下
我們使用最偷懶最不安全的方式去實現斷言,使用python的eval()方法,大家有興趣可以自行了解一下。該方法主要的作用就是動態去執行一段python**,是黑魔法,不安全,僅僅作為演示使用,大家不要在生產環境使用。
我們的設計是讓使用者在頁面上輸入乙個斷言表示式,也就是純python**。預設情況下我們將伺服器返回的json字串轉換成python字典,並賦值給obj變數。簡單理解的話就是伺服器的返回會自動轉成名為obj的字典物件,我們可以使用下面的語法來進行斷言
也就是提供1個python表示式,只要表示式返回的是boolean值就好了。
實現後效果如下,我們使用/api介面進行測試
上面我們測試了斷言通過和失敗的情況,一切如預期。
main.py中實現的核心**其實很簡單。
def handle_get():
url = request.form['url']
assertion = request.form['assert']
assertion_success = none
try:
r = requests.get(url)
if assertion is not none and assertion != '':
obj = r.json()
if assertion:
assertion_success = eval(assertion)
except exception as e:
print(e)
r = none
resp = build_resp(r)
resp['assertion'] = assertion
resp['assertion_success'] = assertion_success
return render_template('home.html', resp=resp)
上面的**裡我們將使用者輸入的python表示式直接使用eval方法執行,如果表示式為真,則斷言通過,否則失敗。該方法很危險,大家可以去搜尋一下為什麼。
前端頁面的核心修改如下
斷言成功
斷言失敗
}
判斷斷言執行的狀態並給予相應的顯示。
完整**這裡
一步一步教你打造介面測試平台 2
這一節我們實現下面兩個功能 為了測試方便,我們先在main.py檔案中增加2個測試的介面 def api return jsonify def error codes 404,401,403,500 random.shuffle codes abort codes 0 再修改handle get 方...
一步一步教你配置vnc
配置 vnc遠端桌面連線 1.在命令列輸入 init 3 進入純字元介面 2.kill 掉所有與 x有關的程序 用命令ps aux grep x 然後kill 程序號1 程序號2 只要找到的程序都 kill 掉 如果不會使用 kill 命令,直接重啟電腦 3.首先檢查 vncserver 是否安裝使...
一步一步打造WebIM 3 效能測試
webim系列文章 在一步一步打造webim 1 和 2 中,已經討論了如何開發乙個webim,並且使用快取來提高webim的效能,本文將編寫乙個程式模擬大量使用者登入來對webim進行效能測試。測試一將模擬200個使用者同時登入的聊天室,每個使用者以1條訊息 秒的速度傳送訊息 由於網路和伺服器處理...