python+requests实现接口测试 - cookies的使用

在很多时候,发送请求后,服务端会对发送请求方进行身份识别,如果请求中缺少识别信息或存在错误的识别信息,

会造成识别失败。 如一些需要用户登录以后才能访问的页面。

import requests
myaddress_url='http://xxx.com/api/v1/myaddress'
myaddress=requests.get(myaddress_url)
print(myaddress.status_code)
print(myaddress.text)

-----结果-----
401
未授权的访问, 请重新登陆

 

在用户登录的时候,服务器端会向请求方发送一些资料,存在本地,例如cookies,在接下来的某些请求中,都需要带上cookies,服务器通过cookies内容来辨别

使用者。

那么在python中,是如何在请求中带入cookies信息的呢,看下面:

import requests
login_url='http://xxx.com/api/v1/user/login'
userinfo={"ua":"username","pw":"password"}
login=requests.post(login_url,json=userinfo)
cookies=login.cookies                                #获取登录后的cookies内容

myaddress_url='http://xxxx/api/v1/myaddress'
myaddress=requests.get(myaddress_url,cookies=cookies)    #在请求中带入cookies
print(myaddress.status_code)
print(myaddress.text)

-----结果-----
200
{........}

带入了cookies内容后,可以正常的获取到想要的响应内容。

在此处虽然可以请求成功,但需要获取到cookies内容及每次都要发送cookies内容,不是非常方便,因此,接下来我们介绍另外一种方法

 

使用session类来发送请求:

import requests

login_url='http://xxxx/api/v1/user/login'
userinfo={"ua":"username","pw":"password"}
myaddress_url='http://xxx/api/v1/myaddress'
test_session=requests.session()                           #使用session类生成一个对象
login=test_session.post(login_url,json=userinfo)   
myaddress=test_session.get(myaddress_url)
print(myaddress.status_code)
print(myaddress.text)

-----结果-----
200
{...}

 

至此,cookies相关的问题解决

 

转载于:https://www.cnblogs.com/nizhihong/p/6699492.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pythonrequests库是一个非常强大的用于发送HTTP请求的库。在接口自动化测试中,使用requests库可以轻松地模拟发送各种类型的HTTP请求,例如GET、POST、PUT、DELETE等。 首先,我们需要在Python环境中安装requests库,可以使用pip命令进行安装。安装完成后,在测试脚本中引入requests库。 使用requests库发送GET请求非常简单,只需要调用requests库的get()方法,并传入接口的URL即可。可以通过返回的响应对象来获取接口的响应内容、状态码等信息。 如果需要发送POST请求,可以调用requests库的post()方法,并传入接口的URL和请求参数。请求参数可以通过字典形式传递,也可以通过json.dumps()方法将字典转换为JSON格式传递。 在接口测试中,还可以使用requests库设置请求头信息、传递cookies、设置超时时间等。可以通过调用requests库的headers、cookies、timeout等属性来实现。 另外,requests库还可以非常方便地处理接口的返回结果。可以使用json()方法将返回的JSON格式响应内容转换为字典形式,方便后续对返回结果进行断言或其他处理。 总之,Pythonrequests库是一个十分强大且易于使用接口自动化测试工具。它提供了丰富的功能和灵活的接口,能够满足大部分接口自动化测试的需求。 ### 回答2: Python requests库是一个用来发送HTTP请求的库,可以用于接口自动化测试。通过使用requests库,可以方便地发送GET、POST、PUT、DELETE等常见的HTTP请求,同时也能处理接收到的响应数据。 对于接口自动化测试来说,requests库具有很多优点。首先,它非常简单易用,不需要过多的配置和繁琐的代码,只需要import requests就可以开始使用。其次,requests库提供了丰富的方法和参数,可以满足多种接口测试的需求,比如发送带参数、Headers、cookies等的请求,也可以指定超时时间、Session等。另外,requests库还提供了简洁的响应处理方式,可以轻松地获取响应的状态码、头部信息、响应内容等。最后,requests库具有很好的可扩展性,可以与其他库和工具结合使用,比如结合unittest或pytest等测试框架,实现灵活和高效的接口测试使用requests库进行接口自动化测试的步骤大致如下:首先导入requests库,然后通过requests.get()或requests.post()等方法发送请求,可以根据需要传入参数、Headers、cookies等。接着,可以使用response对象获取响应状态码、头部信息、响应内容等。最后根据接口返回的数据进行断言,验证接口的正确性。 总之,使用Pythonrequests库进行接口自动化测试,可以简化测试流程、提高工作效率,是一种非常实用的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值