接口测试 session.request 发送请求返回错误码

醋精测试媛 · 2021年03月26日 · 最后由 醋精测试媛 回复于 2021年03月26日 · 1858 次阅读

最新的疑问

有点点不知道 requests.Session 的意义?

因为先 login 再查询一些东西,当我查询时,想要 header 里面的内容保持,但是也并没有保持呀,仍然是初始化的一个:
{'User-Agent': 'python-requests/2.24.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}

也使用了 session.headers.update(headers),但是好像登陆时只保持了登陆的 header,当查询时 header 就更新了,和登陆时的 header 一点关系也没有。

之前的提问

在对 python 接口测试的实践中,遇到了需要先登录然后访问其他接口的情况,受([https://zhuanlan.zhihu.com/p/142250503]) 对 requests.session() 的介绍,我决定采用了以下的方式登陆,但是发现返回错误码参数不正确(而且是有时候返回的不正确的参数不同)

session = requests.Session()
res = session.request(method="post", url = host + url, data=body, headers=header)

返回的错误码是开发改过了的:
{'errors': [{'fieldPath': 'xxx', 'value': 'xxxxxxxxx', 'errorCode': 'SYS_AUTHORIZATION_INVALID_XXX', 'message': 'The API xxx is invalid.'}]}
但是使用普通的 requests.post 可以成功登陆:

response = requests.post(self.host + url, data=body, headers=header)

确定的是,输入的参数是相同的,请问是为什么利用 session 登陆不成功,而 post 可以成功?

共收到 3 条回复 时间 点赞

能查看服务日志么,从服务那边比下请求信息有什么不一致

Vin 回复

我问一下,谢谢

醋精测试媛 关闭了讨论 03月26日 15:29
醋精测试媛 重新开启了讨论 03月26日 17:29

有点点不知道 requests.Session 的意义?

因为先 login 再查询一些东西,当我查询时,想要 header 里面的内容保持,但是也并没有保持呀,仍然是初始化的一个:
{'User-Agent': 'python-requests/2.24.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}

也使用了 session.headers.update(headers),但是好像登陆时只保持了登陆的 header,当查询时 header 就更新了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册