接口测试基本结构:
import requests
url = 'http://192.168.XX.XX:1000/xxx/xxx/xxx'
head = {"token": "可用的token"}
def login(name,password):
# 用户的账户密码作为参数传入,具体需要传入什么参数以接口文档为准
data = {
"username": name,
"psd": password
}
res = requests.post(url, json=data,headers=head)
return res.json()
if __name__ == '__main__':
login('makabaka_222', 123456)
具体使用什么方法参考接口文档
方法:
requests.get
requests.post
requests.put
requests.delete
参数:
url
headers:请求头,看接口文档中是否需要请求头
cookies
params:get方法才有
data,post方法传请求体
json,post方法传json格式的请求体
转化:
字典–>json格式,使用json.dumps(字典)
json格式–>字典,使用json.loads(json格式)
==========================================================================================
获取json文件的数据
def get_data():
with open('./wechatId.json','r',encoding='utf8')as fp:
json_data = json.load(fp)
# print('这是文件中的json数据:',json_data)
return json_data['RECORDS']
======================================================================
密码需要进行md5加密
import hashlib
def get_md5(password):
#1-实例化加密对象
md5 = hashlib.md5()
#2- 进行加密操作
md5.update(password.encode('utf-8'))
#3- 返回加密后的值
return md5.hexdigest()
======================================================================
处理https警告
requests.packages.urllib3.disable_warnin gs()
def login():
#1- url
url = f'{HOST}/XX/XX/XX'
#2- 请求体
payload = {'username':'makabaka_222','password':'123456'}
#3- 请求
resp = requests.post(url,data=payload,verify = False)
#不使用SSL
return resp.text
pytest
1、.py测试文件必须以test_开头(或者以_test结尾)
2、测试类必须以Test开头,并且不能有init方法
3、测试方法必须以test_开头
4、断言必须使用assert