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...