1.接口自动化测试学习

1.测试场景:

登录接口测试

2.测试数据:

{'email': 'eve.holt@reqres.in', 'password': 'cityslicka'}

返回值:

{"token":"QpwL5tke4Pnpja7X4"}

3.代码演示:

将用户信息放在config.py的配置文件中
libs/login.py


indata = {'email': 'eve.holt@reqres.in', 'password': 'cityslicka'}

正式的代码

from config import indata
import requests
import hashlib
import copy

HOST = 'https://reqres.in'
# 加密接口
def __get_md5_data(pwd: str):
    md5 = hashlib.md5()
    md5.update(pwd.encode('utf-8'))
    # hexdigest():返回摘要,作为十六进制数据字符串值
    return md5.hexdigest()
# 登录接口
def login(inData):
    # url
    url = f'{HOST}/api/login'
    #浅拷贝inData,以防加密时原数据被修改
    inData1=copy.copy(inData)
    inData1['password']=__get_md5_data(inData1['password'])
    # 封装数据
    payload = inData1
    print('数据==',payload)
    # 请求并接受响应
    resp = requests.post(url, data=payload)
    return resp.text


# 用户列表接口
def getUsers():
    url = f'{HOST}/api/users?page=2'
    resp = requests.get(url)
    resp.encoding = 'unicode_escape'
    return resp.text


if __name__ == '__main__':
    # 字典方式封装
    print('indata加密前:', indata)
    res = login(indata)
    print('indata加密后:', indata)
    print('登录', res)
    res2 = getUsers()
    print('用户列表:', res2)
    # cookies应用:二次组装,仅举个例子说明如何写
    # 该接口实际并不需要sessionid+token进行组装。实际应用时看抓包结果
    cookie = login(indata)
    sessionID = cookie['sessionid']
    # 二次组装
    userCookies = {'sessionid': sessionID, 'token': '调用第三方接口获取token'}
    res3=login(userCookies)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值