Python在HTTP介面測試中的應用

2021-09-30 13:25:19 字數 2639 閱讀 1743

http介面例子:http:\\ip:port\inte***ce.php?uname=aaa

介面功能: 根據uname引數值來返回對應的使用者名稱的基本資訊

1. 用python封裝被測試

介面,對於http接**們通常會採用 get和post 2種呼叫方式去訪問,所以必須把這2種方式都封裝進去

# -*- coding:gb2312 -*-

import urllib2,urllib

'''

函式說明:url 特殊字元編碼轉換

輸入引數:待轉換的字串資料

輸出引數:轉換完成後的字串資料

'''def urlcode(data):

return urllib2.quote(str(data))

'''

函式說明:獲取使用者資訊的api介面

輸入引數:使用者名稱(uname),http介面呼叫方式(get或者post)

輸出引數:http介面呼叫返回資料

2. 編寫、組織測試指令碼, 準備測試資料

根據testcase的具體業務邏輯用事先準備好的測試資料去呼叫封裝好的api介面,驗證實際返回結果是否與預期返回結果一致.

測試資料可以以各種形式存放,如excel資料表:

testcasename    uname     method     expected result

testcase1       aaaa      get        ....

testcase2       aaaa      post       ....

testcase3       bbbb      get        ....

...             ...       ...        ....

# -*- coding:gb2312 -*-

import xlrd

'''函式說明: testcase 指令碼

輸入引數:測試資料,api介面

輸出引數:測試

日誌,測試報告

'''

def getuser():

bk = xlrd.open_workbook(excel檔名稱) # 開啟excel檔案

sh = bk.sheet_by_name(excel表名)# 開啟excel表

nrows = sh.nrows # 獲取總行數

for i in range(1,nrows):  

testcase = sh.cell_value(i,0)

uname = sh.cell_value(i,1)

method = sh.cell_value(i,2)

ex_result=sh.cell_value(i,3)

writerlog('testcase name:'+testcase+'testdata: uname = '+uname+' ,method = '+method+' ,ex_result = ' + ,ex_result) # 寫測試日誌

ac_result = getuserinfo(uname,method) # 呼叫api介面

writerlog('ac_result = ' + ac_result) # 寫測試日誌

if ex_result == ac_result: #實際結果與預期結果對比

writerlog(...) #寫測試日誌

writerreport(...)#寫測試報告

else

writerlog(...)#寫測試日誌

writerreport(...)#寫測試報告

3. 組織測試套,用驅動檔案去呼叫執行所有測試套件,完成相關測試,並生成測試日誌及測試報告.

# -*- coding:gb2312 -*-

''' 

函式說明: testsuit driver驅動指令碼 

輸入引數:testcase 指令碼

輸出引數:測試日誌,測試報告

'''if __name__ == '__main__':

...writerlog() #寫測試日誌

getuser() # testcase 指令碼

......

report(....) # 統計彙總所有測試報告資料,以檔案或頁面形式呈現.

4. 執行測試指令碼,分析測試結果. 根據測試報告,如果有bug

則提交.

http介面測試 python

對http介面的測試使用requests庫即可實現 1 首先安裝requests庫 直接在命令列中輸入以下命令即可安裝 pip install requests import requests r requests.post print r.status code 3 requests對應的幾種請求...

jmeter之介面測試(http介面測試)

基礎知識儲備 一 了解jmeter介面測試請求介面的原理 客戶端 傳送乙個請求動作 伺服器響應 返回客戶端 客戶端 傳送乙個請求動作 jmeter 伺服器 伺服器 jmeter 伺服器 伺服器 二 了解基礎介面知識 1 什麼是介面 前端與後台之間的橋梁 資料傳輸的通道,就是乙個函式 2 什麼階段做介...

介面測試 HTTP協議

1.http 超文字傳輸協議,是用於www伺服器傳輸超文字到本地瀏覽器的傳輸協議。2.http協議包括哪些請求呢?get 請求指定的頁面資訊,並返回實體主體 post 向指定的資源提交資料進行處理請求,資料被包含在請求體中 head 類似get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭 o...