zoukankan      html  css  js  c++  java
  • 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)
    
  • 相关阅读:
    第四次课堂作业
    12周课后作业
    12周上机(5.21)
    11周周五课后作业
    11周上机作业(5.14)
    第十周(5.7)上机
    第九周4.30上机作业
    第八周周五课后作业
    4.23 第八周上机作业
    4.17课后作业
  • 原文地址:https://www.cnblogs.com/c-jw/p/14355140.html
Copyright © 2011-2022 走看看