lena萌宝宝

导航

接口测试2-接口测试 get post请求

一。找接口文档(后端开发人员提供,前端没有开发出来之前测)

接口文档如下:

一、测试服务器信息

 测试服务器地址:https://api.weixin.qq.com

 二、接口列表

 2.1 获取access_token

 

接口名称

获取access_token

接口描述

获取access_token

请求地址

/cgi-bin/token

请求方式

get

输入参数

 

参数名称

参数描述

参数类型

是否必须

备注

grant_type

client_credential

String

必须

 

appid

wxaefa08168b458452

String

必须

 

secret

3d98210ddcdcaed24a3418585f1569dc

String

必须

 

 

 

 

 

 

输出参数

 

 

 

 

参数名称

参数描述

参数类型

 

备注

access_token

用户的access_token

 

 

 

expires_in

过期时间

 

 

 

 

 

 

 

 

开发申请接口数据地址:https://www.juhe.cn/ 可以申请接口进行测试

 比如天气预报(可免费调用500次)

 

 

 

 

二。设计接口测试用例

除了正常的测试用例,需要设计异常的用例

 

 

 

 

 

三。开展测试

第一步,使用python测试接口,需要安装requests库

打开电脑cmd  ---PIP

第二步,打开pycharm,导包编码

编码:

get类型请求接口
post类型请求接口
参数关联接口
unittest实现接口测试
数据和代码分离:xlrd--->读取excel表数据

 

举实例1:测试天气预报接口-------根据id查询天气(get类型)

 一。分析需求,准备接口文档:https://www.juhe.cn/docs/api/id/39,接口文档如下:

 

二。编写用例: 

 

三。接口测试python代码编写

1.用例1

 -----------------------------------------------------------------------------

# 导包
import requests

#给接口地址定义变量名称
url = "http://v.juhe.cn/weather/index"
#通过字典的形式保存数据
para = {"cityname":"南京","key":"0f1c6ff6efc0408eddf0f07e792c6e5c"}

#发送请求(下面都是request自带的方法)
r = requests.get(url,params=para)
#获取返回结果,获取json数据
print(r.status_code)
res = r.json()
print(res["reason"])
print(res["result"]["sk"]["temp"]) #获取json中result中sk中的temp字段值
-----------------------------------------------------------

2.用例2 

 

 举实例2:测试天气预报接口-------根据GPS坐标自动定位城市,并返回该城市的天气信息(post类型)

 一 需求

 

 

二。编写python测试用例

-----------------------------------------

#导包
import requests
#根据gps坐标查询天气,使用post请求
url = "http://v.juhe.cn/weather/geo"
para = {"lon":"116.39277","lat":"39.933748","dtype":"json","key":"0f1c6ff6efc0408eddf0f07e792c6e5c"}
#发送请求,post请求中data就是para的数据,para数据包含所有的请求参数
r = requests.post(url,data=para)
#获取json数据
res =r.json()
print(res)
print(res["reason"])

#输入错误的请求查看返回码
print(res["error_code"])
------------------------------

----------------------------------------------------------------------------------------

post请求:

URL:

请求头:

header的contenttype是指定请求体类型是json类型----可以省去不写,它通过data能分析出请求体的类型

请求体:

form数据是data和json数据2种,请求参数名称不一样

响应:

打印是html显示的格式(网页格式)则用 print(resp.text);

如果转换为json的格式(表单数据或者json)则用print(resp.json()),结果如下

 

一。form表单数据类型的post登录请求

data类型是form

 

 

二。json类型的post登录请求

三。put,delete 修改员工和删除的请求

 

posted on 2020-06-15 16:30  宝宝萌  阅读(1068)  评论(1编辑  收藏  举报