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数据