Robot Framework接口测试(3)--http请求之post
http请求更多的是post请求,我们可以:
查看说明:
很多网站在登录的时候需要加上头部信息即headers,这个信息可以通过抓包工具获得——fiddler,一个轻量级的抓包工具,大神用了都说好~
这里模拟一下博客园的登录,先在前段模拟一下登录操作,后台开着fiddler抓取登录信息:
获取到这些信息以后,就可以在代码中写好headers信息,以及登录需要的信息了:
#coding: utf-8
import requests
def post_info():
url = "https://passport.cnblogs.com/user/signin"
headers = {
"User-Agent": 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding': 'gzip, deflate, sdch',
'Accept-Language': 'zh-CN,zh;q=0.8',
'Content-Type': 'application/json; charset=UTF-8',
'Content-Length': '385',
'X-Requested-With': 'XMLHttpRequest',
'Cookie': 'UM_distinctid=15ad2746631137-0753f3fbde32fd-591e3916-100200-15ad27466332a0; __gads=ID=b4b937f355218cb8:T=1494253102:S=ALNI_Ma7oKjSqjtXDLAlYH-yb4DlK0kouw; _ga=GA1.2.1665904319.1495250472; _gid=GA1.2.1373367502.1495252278; SERVERID=9b2e527de1fc6430919cfb3051ec3e6c|1495252557|1495250466',
'Connection': 'keep-alive'}
payload = {
#这是我的用户名和密码(已改成错误的)
"input1": 'kCEho2Gs9jgtYnvxvo03tHsYygiyg/G618KdRuk=',
'input2': 'nO1f0itXBsUem+vY4JlR7lkSeqN3OkTWmdSBI=',
'remember': True}
r = requests.post(url, json=payload, headers=headers, verify=False)
return r.json()
调用该函数:
print post_info()
可以看到返回登录成功提示:
代码说明:
1.由于这里是https请求,直接发送请求会报错误:SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]certificate verify failed,可以加个参数:verify=False,表示忽略对 SSL 证书的验证
2.最后结果是json格式,可以直接用r.json返回json数据:{u'success': True}
到这里,我们就知道post请求的方式了,接下来,就可以实现我们的终极目标——接口测试了。
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~