起因:
最近有点空闲,又通过robotframework做接口测试,首先第一个登录就又把人难住了
发了请求后,没有得到预期的结果,从结果看返回了登录的界面
分析:
登录接口本身是一个重定向的接口,而且需要先调用一个get请求,创建好一个session后,再调一个post请求,通过重定向后完成登录
上图为通过python+requests调用接口,通过fiddler捕获到的结果,下图为部分代码
import requests
import json
url = "xxx/login?service=xxx"
params = {"username": "xxx",
"password": "xxxxx"}
session = requests.session()
session.get(url)
response = session.post(url, params=params)
而通过robotframework调用的接口,通过fiddler捕获到的结果显示第二个该重定向的接口,返回结果却是200 :
通过对比发现,使用robotframework调用的接口,传参里面多了一个+
看了robotframework里面写的参数,应该是参数名是复制的,复制的时候可能就复制到了一个换行发,导致出现的该问题
解决:
调整参数格式后,请求正确响应了
总结:
一直挺喜欢用robotframework来做接口测试,感觉很清晰很好管理,但是rf里面确实有太多坑了,感觉一不小心就又掉坑里了。另外,做接口测试,真的要配合fiddler来用,排查问题一级棒。
版权声明:本文为sun_977759原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。