requests基礎封裝(待調試)

 字符串轉化成字典:

convert_to_dict.py:

import json
str1 = '{"grant_type":"client_credential","appid":"wx55614004f367f8ca","secret":"65515b46dd758dfdb09420bb7db2c67f"}'
print(type(str1))
jsondata = json.loads(str1) # 把字符串轉化成字典
print(jsondata)
print( type(jsondata) )
dict1 = eval(str1)
print(dict1)
print(type(dict1))

str2 = '3+3'
c = eval(str2)
print(c)

 eval函數具體參考:https://www.cnblogs.com/dream66/p/13264725.html

 ast模塊的eval函數也可以把字符串轉化成字典。

import json
import ast
str1 = '{"grant_type":"client_credential","appid":"wx55614004f367f8ca","secret":"65515b46dd758dfdb09420bb7db2c67f"}'
print(type(str1))
# jsondata = json.loads(str1)
# print( type(jsondata) )
# dict1 = eval(str1)
dict1 = ast.literal_eval(str1)
print(dict1)
print(type(dict1))

# str2 = '3+3'
# c = ast.literal_eval(str2)
# print(c)

 

 

 

 

 

 

 

 

 

 

 

封裝get和post請求:(待調試)

# -*- coding: utf-8 -*-
#@File :requests_utils.py
#@Auth : wwd
#@Time : 2020/12/8 8:00 下午
import jsonpath
import requests
import json
from utils.config_utils import local_config
class RequestsUtils:
def __init__(self):
self.hosts = local_config.HOSTS
self.session = requests.session()
def get(self, requests_info):
url = self.hosts + requests_info['請求地址']# 取出下面字典中的請求地址。
# {'測試用例編號': 'api_case_01', '測試用例名稱': '獲取access_token接口測試', '用例執行': '是', '用例步驟': 'step_01', '接口名稱': '獲取access_token接口', '請求方式': 'get', '請求頭部信息': '', '請求地址': '/cgi-bin/token', '請求參數(get)': '{"grant_type":"client_credential","appid":"wx55614004f367f8ca","secret":"65515b46dd758dfdb09420bb7db2c67f"}', '請求參數(post)': '', '取值方式': '無', '取值代碼': '', '取值變量': '', '斷言類型': 'body_regexp', '期望結果': '"access_token":"(.+?)"'}
response = self.session.get(url = url,
params = json.loads(requests_info['請求參數(get)']),
headers = requests_info['請求頭部信息']
) #參數名 =參數值
result = {
'code':0,
'response_code':response.status_code,
'response_reason':response.reason,
'response_headers':response.headers,
'response_body':response.text
}
return result


def post(self, requests_info):
url = self.hosts + requests_info['請求地址']# 取出下面字典中的請求地址。
# {'測試用例編號': 'api_case_01', '測試用例名稱': '獲取access_token接口測試', '用例執行': '是', '用例步驟': 'step_01', '接口名稱': '獲取access_token接口', '請求方式': 'get', '請求頭部信息': '', '請求地址': '/cgi-bin/token', '請求參數(get)': '{"grant_type":"client_credential","appid":"wx55614004f367f8ca","secret":"65515b46dd758dfdb09420bb7db2c67f"}', '請求參數(post)': '', '取值方式': '無', '取值代碼': '', '取值變量': '', '斷言類型': 'body_regexp', '期望結果': '"access_token":"(.+?)"'}
response = self.session.post(url = url,
#params = json.loads(requests_info['請求參數(get)']),
params= json.loads(requests_info['請求參數(post)'])
,
json = json.loads(requests_info['請求參數(post)'])
) #參數名 =參數值
response.encoding = response.apparent_encoding
result = {
'code':0,
'response_code':response.status_code,
'response_reason':response.reason,
'response_headers':response.headers,
'response_body':response.text
}
return result

if __name__=='__main__':
req_dict = {'測試用例編號': 'api_case_01', '測試用例名稱': '獲取access_token接口測試', '用例執行': '是', '用例步驟': 'step_01', '接口名稱': '獲取access_token接口', '請求方式': 'get', '請求頭部信息': '', '請求地址': '/cgi-bin/token', '請求參數(get)': '{"grant_type":"client_credential","appid":"wx55614004f367f8ca","secret":"65515b46dd758dfdb09420bb7db2c67f"}', '請求參數(post)': '', '取值方式': '無', '取值代碼': '', '取值變量': '', '斷言類型': 'body_regexp', '期望結果': '"access_token":"(.+?)"'}
requestsUtils = RequestsUtils()
v = requestsUtils.get(req_dict)
print(v)


# if __name__=='__main__':
# req_post_dict = {'測試用例編號': 'api_case_03', '測試用例名稱': '刪除標籤接口測試', '用例執行': '是', '用例步驟': 'step_03', '接口名稱': '刪除標籤接口', '請求方式': 'post', '請求頭部信息': '', '請求地址': '/cgi-bin/tags/delete', '請求參數(get)': '{"access_token":"39_ZlzNDPma7qLWpLJ4K0ir_cSahJ_fg9aevBpGvqRp9VNjqRE6hSkBOSUFla-mFjSGKyF-YFx28sM4Ch1rJISPGVSTahZ8l_xQ9M7CnAFoqUfibusAdeOI4lHEIzB6zhXJQHN5b9as9zhcGtSbBYKeAGAEBN"}', '請求參數(post)': '{ "tag":{ "id" : 456 } }'}
# requestsUtils = RequestsUtils()
# v = requestsUtils.post( req_post_dict)
# print( v )

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章