一、步骤
- 获取接口信息:通过接口文档或者是抓包,获取接口的基本调用方式和返回;
- 接口测试用例设计:根据获取到的接口信息,按照接口测试用例设计方法,设计参数和预期返回结果;
- 接口发包:使用工具或者编程向接口传递参数;
- 返回信息验证:获取接口返回的结果,进行解析和验证。
二、百度IP接口测试
1. 利用查询IP的例子,来进行get方法测试接口的流程举例
- 首先打开百度首页输入ip,显示如下界面,我们将在下面的输入框中输入任意IP地址进行示例
-
打开开发者工具-->Network,准备进行数据的抓包,之后随便输入任一IP地址,观察数据包的变化,找到含有被查询IP的那条记录,点开后查看它的Headers,在General中可以看到请求参数,包括请求URL和请求方法,复制该URL。
- 打开postman,创建新的查询,选择方法为get,然后粘贴URL至地址栏中,可以看到下方表格自动填充字段和属性值。
- 最后点击send发送请求,下方就会返回响应boby和状态码等信息,说明该接口功能正常。
2. 请求信息内容
3. 响应信息内容
4. 接口收发包过程
- 请求过程:填写接口URL --> 设置HTTP方法 --> 设置请求头域 --> 填写请求参数
- 接口响应认证:HTTP状态码 --> 收到接口响应 --> 检查返回头域 --> 查看返回主体内容
三、需要设置头域的请求
- 以腾讯课堂的评论功能接口为例,先抓取数据包,因为评论数据太多,所以需要有针对性的筛选一下抓到的数据,之后找到需要的请求数据,填入到postman中,点击send发送数据。
- 返回报错信息,提示refer错误,即缺少了referer头域的信息。
- 加上referer头域之后,显示出了正常的信息。
注:referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。
四、POST请求body格式
- none:无。
- form-data:multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。
- x-www-form-urlencoded:post的默认格式,使用js中URLencode转码方法。
- raw:可上传任意格式的文本,可以上传text、json、xml、html等各种文本类型
- binary: 等同于Content-Type:application/octet-stream,只可上传二进制数据,通常用来上传文件,由于没有键值,所以一次只能上传一个文件。
- GraphQL:完全按照query定制的,不多不少的返回结果。