做自动化接口测试时python处理cookies技巧(接口关联)

做自动化接口测试时,遇到需要登录后才能继续操作时,需要做接口关联。

项目特性:只有完成登录操作才可以获取sessionid

方式一:

# coding = utf-8

import requests

HOST = 'http://localhost'

def login(payload, get_cookies=False):
    url = f'{HOST}/api/mgr/loginReq'
    # body请求体是表单, 使用data=数据
    response = requests.post(url, data=payload)
    if get_cookies:     # 需要获取cookies时使用
        return response.cookies
    return response.json()  # 返回响应数据,在测试登录接口时使用

def lesson_list(payload, in_cookies):
    url = f'{HOST}/api/mgr/sq_mgr/'
    '''
    关联操作:需要把登录接口返回的cookies提取出来,给后续的接口
    '''
    response = requests.get(url, params=payload, cookies=in_cookies)
    return response.json()


if __name__ == '__main__':
    # 登录
    login_data = {'username': '用户名', 'password': '密码'}
    cookie = login(login_data, get_cookies=True)

    # 登录后的操作
    test_data = {'action': 'list_course', 'pagenum': 1, 'pagesize':5}
    result = lesson_list(test_data, cookie)
    print(result)

方式二:使用session对象

# coding = utf-8

import requests
HOST = 'http://localhost'
s = requests.session()  # session对象

def login(payload):
    url = f'{HOST}/api/mgr/loginReq'
    # body请求体是表单, 使用data=数据
    response = s.post(url, data=payload)
    return response.json()

def lesson_list(payload):
    url = f'{HOST}/api/mgr/sq_mgr/'
    response = s.get(url, params=payload)
    return response.json()

if __name__ == '__main__':
    # 登录
    login_data = {'username': '用户名', 'password': '密码'}
    login(login_data)

    # 登录后的操作
    test_data = {'action': 'list_course', 'pagenum': 1, 'pagesize':5}
    result = lesson_list(test_data)
    print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值