2020年6月24日第17节课cookie+token+接口文档解读+接口用例设计+requests入门

'''
==================================
cooding:utf-8
@Time    :2020/6/25 16:31
@Author  :henry
@Email   :[email protected]
@File    :cookie+token+接口文档解读+接口用例设计+requests入门.py
@Software:PyCharm
===================================
'''
'''
鉴权与授权
授权:相当于给一个通行证
鉴权:鉴定是否有权限访问(判断有没有通行证)。方式有:

1.cokie和session(会话):(需要保存到服务端)
cokie和session都是开发设置的,不需要你实现
    1.1 相当于会话的标识
    1.2 相当于客户端向 ➤ 服务端提交用户名和密码,服务器鉴权后生成cookie后(会保存这个session(会话)到数据库)
        ➤ 然后服务端返回识别本次会话的cookie信息给客户端,客户端保存cookie授权信息,
    1.3 客户端下次再访问时带着cookie信息向服务端请求,服务端需要在数据库中查询这个session,有则会返回响应数据,反之则没有
    1.4 session(会话)有时限
        
2.token令牌:(不需要保存到服务端)
    1.客户端提交用户名和密码 ➤ 到服务端,服务端鉴权后生成cookie,返回token令牌给客户端,客户端保存cookie授权信息,
        客户端下次再访问时带着token令牌向服务端请求,服务端查询信息后(是按照token的生成规则,去确认token是否有效),
            有则会返回响应数据,反之则没有

接口概述:
每一个接口至少需要以下信息(需要熟记)
    接口地址,请求方法,请求参数(入参),响应参数(出参)
1.URL格式:http://ip地址:post(端口)/futureloan/apiname(接口的名称)
2.请求头:
    2.1 开发自定的必传请求头:
        鉴权方式:
            1、接口无权限
            2、token鉴权
            3、timestamp+token+sign鉴权
    2.2 Content-Type
        application/json   备注:post,patch请求必须设置,get不用
    2.3 Authorization 
        Bearer 空格 Token_value   备注:Bearer 后由空格
        
接口用例的要素:
编号,用例名称,接口地址,请求方法,请求参数,预期状态码,预期结果,备注  
      

        
 
'''
'''
不管是发生get请求还是post请求,都需要:
1.接口地址
2.请求方法
3.请求参数
4.响应数据

get:param(可有可无)
  没有请求体,param就是追加在url后面的查询参数
    这个查询参数的格式:接口地址?key=value&key=value&.......
post:data,json
  有请求体
    data:传进来是字典形式,对应的默认body格式:application/x-www-form-urlencoded
    json: 传进来是字典形式,对应的默认body格式:application/json

'''
# 使用python第三方库来实现(requests)
import requests     # 引入requests库

requests.Response

url = "http://api.lemonban.com/futureloan/member/register"    # 接口地址

data = {"mobile_phone":"15112512436","pwd":"12345678","type":"1","reg_name":"henry"}   # 请求参数以字典的形式
# 请求头
headers = {'X-Lemonban-Media-Type': 'lemonban.v2'}

res = requests.post(url,json=data,headers=headers)    # 响应数据有url,请求参数是json格式,请求头是headers

# 得到响应状态码
print(res.status_code)
# 得到响应头
print(res.headers)
# 得到响应体
body = res.text
print(body)
print(type(body))

# 把响应体转换成python的字典形式
body = res.json()   # json格式
print('========================================================================')
print(body)

2020年6月24日第17节课cookie+token+接口文档解读+接口用例设计+requests入门_第1张图片

你可能感兴趣的:(接口自动化测试笔记)