python+request接口測試案例


一、安裝python、request模塊

1、python安裝參考pyhton菜鳥教程
2、request模塊安裝pip install request

二、不同請求方式的處理

1、get方式發送請求

import requests
if __name__ == '__main__':
    base_url = 'http://xxx:4433' # 服務器主域名
    pm = {
        'username':'a1',
        'password':'123456',
        'phone':'12345678901',
        'email':'a1@163.com'
    }
    result= requests.get(url=base_url+'/具體API接口地址',params=pm)
    print('響應內容:', result.text)

2、post方式發送請求

import requests
'''
post() 函數表示post請求
    * url 請求路徑
    * data 鍵值對文本數據,相當於x-www-form-urlencoded
    * json raw類型中的json報文格式
響應狀態碼:
    * 200 響應成功
    * 302/307 重定向
    * 304 使用緩存
    * 404 資源不存在,路徑問題
    * 500 服務器內部錯誤
'''
base_url = 'http://xxx:4433'
data = {
    'username':'a1',
    'password':'123456'
}
if __name__ == '__main__':
    result = requests.post(url=base_url+'具體API接口地址',data=data)
    print('文本方式顯示結果:',result.text)
    print('json方式顯示結果:', result.json(),'msg: '+result.json()['msg'])
    print('響應http狀態碼:',result.status_code)
    print('響應頭:',result.headers)
    print('響應頭:',result.headers['Content-Type'])
    print('查看完整路徑:',result.url)

3、json方式發送請求

import requests
base_url = 'http://xxx:4433'
pm = {
    'username': 'a3',
    'password': '123456',
    'phone': '12345678901',
    'email': 'a3@163.com'
}
if __name__ == '__main__':
    result = requests.post(url=base_url+'具體API接口地址',json=pm)
    dict = result.json()
    print('響應文本:',result.text)
    print('result取值:',dict['data']['phone'])

4、 上傳文件

import requests

'''
文件上傳
    * url 請求路徑
    * data 鍵值對文本數據,相當於x-www-form-urlencoded
    * json raw類型中的json報文格式
    file---文件
        * mode rb=binary encoding 文本
        
'''
base_url = 'http://xxx:4433'
pm={'username':'a1'}
pic = {
    'pic':open(file='C:\\Users\\Administrator\\Pictures\\woman0.png',mode='rb'),
}
if __name__ == '__main__':
    result = requests.post(url=base_url+'具體API接口地址',data=pm,files=pic,timeout=1)
    print(result.text)
    '''
    timeout 讀取超時
    requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8080): Read timed out. (read timeout=1e-05)
    '''

5、接口依賴

 
import requests

def interfaceTest(base_url):
    '''1、獲取驗證碼'''
    result_01 = requests.get(url=base_url + 'API 地址1')
    code_json = result_01.json()
    '''2、獲取驗證碼值'''
    print('獲取驗證碼:', result_01.text)
    code = code_json['data']['code']
    print(code)
    '''3、獲取驗證碼響應頭內cookie'''
    get_Cookie = result_01.headers['Set-Cookie']
    '''4、、注冊'''
    pm = {
        'username': 'a6',
        'password': '123456',
        'email': 'a6@163.com',
        'verifyCode': code
    }
    set_Cookie = {'Cookie':get_Cookie}
    result_02 = requests.post(url=base_url + 'API 地址2', data=pm,headers=set_Cookie)
    print("注冊:",result_02.text)

if __name__ == '__main__':
    base_url = '主機IP和端口'
    interfaceTest(base_url)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM