接口测试关键字解析

会话管理

Cookie工作原理
1、当浏览器访问服务器时,服务器会将少量数据发送给浏览器(使用set-cookie消息头);
2、浏览器会将这些数据临时保存下来;当浏览器再次访问服务器时,会将之前保存的数据发送给服务器(使用cookie消息头)
Session工作原理
1、浏览器第一次访问服务器时,服务器会创建一个session,每个session都有一个id号,服务器将id号以cookie的形式回送给浏览器(这些是服务器自动完成的)。
2、当浏览器未关闭前再次发请求访问服务器时,就会带着这个id号去访问服务器,这时候服务器检索下内存中有没有与之对应的session,有就用这个session为其服务。

一、Cookie
1、浏览器的Cookies是保存在浏览器的某个位置上
2、服务器可以通过:响应头中的Set-Cookie参数,对客户端的Cookie进行管理
3、浏览器的每次请求,都会将该站点的Cookie信息发送给服务器
接口测试关键字解析
总结:接口测试Cookie信息获取方式:从响应的头信息中获取,response.headers返回的类型为字典类型,通过
response.headers[“Set-Cookie”]即可获得Cookie信息
接口测试关键字解析
总结:接口测试Cookie信息发送给服务器方式:
1、添加至请求头的方式:通过response.headers[“Set-Cookie”]得到Cookie信息,添加至请求头headers中,
headers= { “Cookie”: “sessionid=xxxxxxxxxxxxxx”},接着通过requests.post(url,data,headers)发送请求,就会将Cookie信息发送给服务器
2、直接传值:通过response.cookies得到cookies对象RequestsCookieJar–>jar格式的,接着通过requests.post(url,data,cookies)发送请求,就会将Cookie信息发送给服务器
3、自定义Cookie信息:通过response.cookies[“sessionid”]得到sessionid的值,通过定义cookies字典,根据需求向其添加自定义Cookie信息,cookies = {“sessionid”:“xxxx”,“XXX”:“xxx”},接着通过requests.post(url,data,cookies)发送请求,就会将Cookie信息发送给服务器,最后可以通过response.request.headers查看自定义的Cookie信息

二、SessionId
1、session是一个对象,是服务器产生的,保存在服务器内存中
2、session有自己的管理的机制,包括session的创建、销毁及超时等设置
3、SessionId是session对象的一个属性,是全局唯一的