本文目錄一覽:
python http介面測試腳本怎麼寫
1. 用Python封裝被測試介面,對於HTTP介面我們通常會採用 GET和POST 2種調用方式去訪問,所以必須把這2種方式都封裝進去
# -*- coding:gb2312 -*-
import urllib2,urllib
”’
函數說明:url 特殊字元編碼轉換
作者:xiaonan
輸入參數:待轉換的字元串數據
輸出參數:轉換完成後的字元串數據
”’
def urlcode(data):
return urllib2.quote(str(data))
”’
函數說明:獲取用戶信息的API介面
作者:xiaonan
輸入參數:用戶名(uname),HTTP介面調用方式(GET或者POST)
輸出參數:HTTP介面調用返回數據
”’
def GetUserInfo(uname,method):
if method == ‘GET’:
url = ”+urlcode(uname)
result = urllib2.urlopen(url).read()
return result
if method == ‘POST’:
url = ”
values = {‘uname’ : uname}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
result = response.read()
return result
2. 編寫、組織測試腳本, 準備測試數據
根據Testcase的具體業務邏輯用事先準備好的測試數據去調用封裝好的API介面,驗證實際返回結果是否與預期返回結果一致.
測試數據可以以各種形式存放,如Excel數據表:
TestCaseName uname method Expected Result
TestCase1 aaaa GET ….
TestCase2 aaaa POST ….
TestCase3 bbbb GET ….
… … … ….
# -*- coding:gb2312 -*-
import xlrd
”’
函數說明: Testcase 腳本
作者:xiaonan
輸入參數:測試數據,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驅動腳本
作者:xiaonan
輸入參數:TestCase 腳本
輸出參數:測試日誌,測試報告
”’
if __name__ == ‘__main__’:
…
WriterLog() #寫測試日誌
GetUser() # TestCase 腳本
…
…
Report(….) # 統計匯總所有測試報告數據,以文件或頁面形式呈現.
4. 執行測試腳本,分析測試結果. 根據測試報告,如果有Bug則提交.
python 怎麼實現http伺服器
簡而言之,它是在物理伺服器上搭建的一個網路連接伺服器(networking server),永久地等待客戶端發送請求。當伺服器收到請求之後,它會生成響應並將 其返回至客戶端。客戶端與伺服器之間的通信,是以HTTP協議進行的。客戶端可以是瀏覽器,也可以是任何支持HTTP協議的軟體。
那麼,網路伺服器的簡單實現形式會是怎樣的呢?下面是我對此的理解。示例代碼使用Python語言實現,不過即使你不懂Python語言,你應該也可以從代碼和下面的 解釋中理解相關的概念:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import socket
HOST, PORT = ”, 8888
listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)
print ‘Serving HTTP on port %s …’ % POR
如何用python分析從瀏覽器到伺服器的HTTP GET請求的內容。
用response = requests.get(url),對response.content的內容進行正則分析或者用bs4等模塊進行分析即可
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/195624.html