python接口测试(一)——http请求及token获取
使用python对当前的接口进行简单的测试
1.接口测试是针对软件对外提供服务得接口得输入输出进行得测试,验证接口功能与接口描述文档得一致性
返回结果可以为字符串,json,xml等
2.接口的请求方式:get,post,delete,put等
3.接口测试需要的元素:url,请求方式,参数(key:value)
比如“登录”:
#!/usr/bin/env python #coding:utf-8 import requests,json url="http://xxx.xxx.com/xxx/login" headers={'Content-Type':'application/json;charset=UTF-8'} request_param={ "phone":"18200000000", "password":"111111" } response=requests.post(url,data=json.dumps(request_param), headers=headers) print response.text
注:
1.get请求:参数是url,params,字典;把params的参数成为url的参数,也就是url中传递参数;
2.post请求:参数是url,data, json以及字典,data其实就是以表单形式的数据,或者是把一个字典给data作为参数来传递;
3.post请求有时需要把参数进行反序列化,即json.dumps(),将dict格式转化为str格式;
最后响应结果:
事实上,如上图的post请求中,登录成功后会返回一个token,然后后面的每个请求均会带这个参数token去请求,即登录获取token,把获取的token带上去请求或者操作其他业务;
实现的思路:
把登录写成一个方法,然后把token返回,再做下一个请求的时候,把token当作参数来传递
另外一个请求需要引用时,可以直接将获取的token放在header里
headers={'Content-Type':'application/json;charset=UTF-8',
"token":login.login() }
登录成功后,返回了token,然后在执行其他接口的时候,直接把返回的token当作是参数来处理,但是有一点是必须先登录,再执行登录后的接口,要不会提示错误
请求时我们可以获取不同的响应内容:
response.text 获取响应内容,返回的时unicode数据
response.status_code 获取的是状态码
response.content 获取响应内容时bytes数据