Postman实现接口测试内容大纲一览:

一、什么是接口?为什么需要接口?

接口指的是实体或者软件提供给外界的一种服务。

因为接口能使我们的实体或者软件的内部数据能够被外部进行修改。从而使得内部和外部实现数据交互。所以需要接口。

比如:

硬件接口:USB接口:它的作用是使电脑能够和U盘等外部设备交互数据。

软件接口:右称:API(application program interface):微信提现功能调用银联接口实现数据交互。

二、接口返回的数据格式。

1.json格式如:

{‘error_code’:40001,msg:'提现成功',data:[具体的数据]}

error_code(code):错误码

msg(message):对错误码的中文说明

data(result):具体的数据

目前80%-90%多会返回这个json格式:

json数据格式是由以下两种数据组成:(可以互相嵌套)

a.字典,{键值对}

b.数组:[12,13,14]

验证json格式以及可以做加密和解密:https://www.bejson.com/

2.xml格式如:

<xml>

<error_code>40001</error_code>

<msg>提现成功</msg>

<data>具体的数据</data>

</xml>

3.html格式如:

<html>

<head>

<title></title>

</head>

<body></body>

</html>

三、接口协议:(通过接口地址分辨)

1.http协议:地址以https//开头:这里重点讲解http协议,因为目前市面上80%的接口都是使用这种协议!

(1) 什么是http协议

http协议是一种超文本传输协议。主要用于浏览器和服务器之间交互数据。交互数据分为两个部分:

请求:get(获取数据),post(提交数据),put(修改数据),delete(删除数据)

响应:用数字来表示响应的结果

1XX信息

2XX成功

3XX重定向(跳转)

4XX客户端错误

5XX服务器错误

(2)http协议请求详解

请求行(请求方式,请求地址,协议的版本)

POST http://localhost/phpwind/index.php?m=u&c=login&a=dorun HTTP/1.1

请求头

Host: localhost(请求的主机地址)

Connection: keep-alive(这个连接保存活跃)

Content-Length: 110(请求的内容有110个字节)

Accept: application/json, text/javascript, */*; q=0.01(客户端可以接收的数据格式)

X-Requested-With: XMLHttpRequest(ajax请求,异步请求)

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like

Gecko) Chrome/78.0.3904.108 Safari/537.36(客户端的用户)

Content-Type: application/x-www-form-urlencoded; charset=UTF-8(内容的格式)

Referer: http://localhost/phpwind/index.php?m=u&c=login(来源)

Accept-Encoding: gzip, deflate, br(压缩方式)

Accept-Language: zh-CN,zh;q=0.9(语言)

Cookie: 9cV_lastvisit=17%091590760909%09%2Fphpwind%2Fread.php%3Ftid%3D31%26fid%3D2;

csrf_token=2c76c391ab3922fe; z92_visitor=a5z0Tsv0r9m8jVz52RhNQa4k%2B1HgkW8pYwuQsZtEWu0%3D;

z92_lastvisit=1397%091591103375%09%2Fphpwind%2Findex.php%3Fm%3Du%26c%3Dlogin%26a

%3Dcheckname(cookie信息)

空一行

请求数据

username=admin&password=123456&backurl=http%3A%2F%2Flocalhost%2Fphpwind

%2F&invite=&csrf_token=2c76c391ab3922fe

(3) http协议响应详解

响应行(协议,响应码,响应信息)

HTTP/1.1 200 OK

响应头

Date: Tue, 02 Jun 2020 13:09:47 GMT

Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45

X-Powered-By: PHP/5.4.45

Set-Cookie: z92_lastvisit=1409%091591103387%09%2Fphpwind%2Findex.php%3Fm%3Du%26c%3Dlogin

%26a%3Ddorun; expires=Wed, 02-Jun-2021 13:09:47 GMT; path=/

Vary: Accept-Encoding

Content-Length: 310

Keep-Alive: timeout=5, max=100

Connection: Keep-Alive

Content-Type: text/html

空一行

响应数据

{"referer":"http%3A%2F%2Flocalhost%2Fphpwind%2Findex.php%3Fm%3Du%26c%3Dlogin%26a

%3Dwelcome%26_statu

%3DYlVJQzNBanhUS3UycHc0d0VHJTJCa0o1MlJwSGQwelN0TGkxdzB1d2ZNU0FwclJiS0NoSE01ZkhGSTdzaGVaN1V

sfGh0dHA6Ly9sb2NhbGhvc3QvcGhwd2luZC98","refresh":false,"state":"success","data":"","html":

"","message":[""],"__error":""}

2.webservice协议:地址以https://开头,但是包含一个?wsdl

3.dubbo协议:以dubbo://开头

四、企业当中如何做接口测试?

1.得到api接口文档,熟悉接口业务,接口地址,鉴权,入参,出参,错误码。

2.编写接口测试计划方案以及评审。

3.编写接口测试用例以及评审

思路:

正例:

鉴权反例:

鉴权码为空,错误的鉴权码,鉴权码已过期......

参数反例:

参数为空,参数类型异常,参数长度异常,

其他场景:

分页场景:(0,第一页1,中间页5,最后一页10,100,其他异常)

4.使用接口测试工具执行接口测试

5.输出接口测试报告。

五、接口测试工具Postman介绍

Postman是一款功能强大的网页调试与发送HTTP请求的Chrome插件,专为接口而生。界面功能如下:

六、使用Postman执行接口测试页签和传参说明

(1) Postman请求主要页签说明:

Params:get请求传参

Headers:请求头

Body:post请求传参

1.none没有参数

2.form-data:传文件和键值对

3.x-www.. 传键值对

4.raw:传text,json,xml

5.binary:传文件的二进制。

Pre-request Script:请求之前的脚本

Tests:请求之后的断言脚本,用于判断请求是否成功!

(2) Postman响应主要页签说明:

Body:响应的数据(Pretty:json格式,Raw:文本格式,Preview:网页格式)

Cookies:缓存

Headers:响应头

Test Results:断言的结果

(3) Postman返回码和返回状态信息说明

Status:200返回码

OK:返回信息

Time:170ms 毫秒

Size:343B 字节

七、Postman断言

//断言:判断接口有没有成功,常用的断言如下:

//1.断言返回码为200

pm.test("Status code is 200", function () {

pm.response.to.have.status(200);

});

//2.断言返回的结果中中包括access_token字符串。

pm.test("Body matches string", function () {

pm.expect(pm.response.text()).to.include("access_token");

});

//3.断言返回的json数据中的值:断言expires_in的值为7200

pm.test("Your test name", function () {

var jsonData = pm.response.json();

pm.expect(jsonData.expires_in).to.eql(7200);

});

//4.断言响应的内容等于一个字符串

pm.test("Body is correct", function () {

pm.response.to.have.body("response_body_string");

});

//5.检查响应头中是否有Content-Type字段

pm.test("Content-Type is present", function () {

pm.response.to.have.header("Content-Type");

});

//6.断言响应的时间少于200MS

pm.test("Response time is less than 200ms", function () {

pm.expect(pm.response.responseTime).to.be.below(300);

});

八、Postman环境变量和全局变量

1.在右上角的齿轮图标中可以设置环境变量和全局变量,如:

开发环境:url:192.168.0.1

测试环境:url:192.168.0.2

预发布环境:url:192.168.0.3

线上环境:url:www.xxx.com

2.在请求时:通过{{}}去调用全局变量

3.在运行时:选择不同的环境

九、上一个接口的返回值如何作为下一个接口的参数

1.上一个接口的tests中取值:

//JSON.parse把返回的值转化成一个vjson格式的数据,保存到value这个变量中

var value = JSON.parse(responseBody)

//把取得的token值保存到全局变量的access_token变量中。

pm.globals.set("access_token", value.access_token);

2.下一个接口通过{{access_token}}取值

十、PHPWIND论坛API项目实战

此项目笔者列举出有如下接口:

1.访问项目接口

2.登录接口

3.跳转到登录成功页面接口

4.选板块接口

5.点击新板块接口

6.发帖接口

7.跳转到发帖成功接口

8.回帖接口

9.跳转到回帖成功页面接口

10.退出接口

接口文档如下:

接口演示如下:

十一、内容太多写不下,总结一下

如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:695458161,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

作者:来自公众号:软测之家
出处:https://blog.csdn.net/pengjiangchun
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

全网最全postman接口测试教程和接口项目实战~从入门到精通!!!的更多相关文章

  1. 【技术博客】Postman接口测试教程 - 环境、附加验证、文件上传测试

    Postman接口测试教程 - 环境.附加验证.文件上传测试 v1.0 作者:ZBW 前言 继利用Postman和Jmeter进行接口性能测试之后,我们发现Postman作为一款入门容易的工具,其内置 ...

  2. 全网最全fiddler使用教程和fiddler如何抓包(fiddler手机抓包)-笔者亲测

    一.前言 抓包工具有很多,比如常用的抓包工具Httpwatch,通用的强大的抓包工具Wireshark.为什么使用fiddler?原因如下:1.Wireshark是通用的抓包工具,但是比较庞大,对于只 ...

  3. Vue2.0史上最全入坑教程(下)—— 实战案例

    书接上文 前言:经过前两节的学习,我们已经可以创建一个vue工程了.下面我们将一起来学习制作一个简单的实战案例. 说明:默认我们已经用vue-cli(vue脚手架或称前端自动化构建工具)创建好项目了 ...

  4. postman接口测试系列:接口参数化和参数的传递

    接着上一个章节时间戳和加密继续,上一节中我们使用Pre-Request Script可以正确获取时间戳和加密后的数据,接口响应结果也达到了预期目标.这里先简单说明一下接口的用例设计的测试点,截图所示 ...

  5. 3天学会kettle -全网最全的kettle教程

    从资源库开始,详细讲解了kettle的所有控件的用法,无论你是开发人员.运维人员还是测试人员. 通过此教程都可以很快速的掌握kettle,再加上笔者的实例,3天学会kettle的实战操作. 欢迎关注公 ...

  6. 小兔博客新增源码下载模块,JavaWeb项目实战,JavaScript入门教程 ,JavaSE案例等

    从今以后,所有的源码在 http://www.xiaotublog.com/downloadView.html 都可以免费下载,在下载页面还可以直接链接到相关的教程地址(如果有教程的话...). 最近 ...

  7. Python全栈工程师之从网页搭建入门到Flask全栈项目实战(3) - 入门Flask微框架

    1.安装Flask 方式一:使用pip命令安装 pip install flask 方式二:源码安装 python setup.py install 验证 第一个Flask程序 程序解释 参数__na ...

  8. Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通

    Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通Selenium接口性能自动化测试基础部分:分层自动化思想Slenium介绍Selenium1.0/2.0/3.0Slenium R ...

  9. 接口测试工具Postman接口测试图文教程

    Postman接口测试工具使用 一.前言     在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性.而这要求前端开发进度和后端进度保持基本一 ...

随机推荐

  1. java ->包的声明与访问

    包的声明与访问 包的概念 java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件. 当类文件很多的时候,通常我们会采用多个包进行存放管理他们,这种方式称为分包管理. 在项目中,我们将相同功能 ...

  2. 前端面试题-TCP和UDP的区别

    TCP和UDP的区别 (1)TCP是面向连接的,udp是无连接的即发送数据前不需要先建立链接. (2)TCP提供可靠的服务.也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UD ...

  3. ql的python学习之路-day8

    前言:本节主要学习的是函数的全局变量和局部变量以及递归 一.全局变量和局部变量 定义在函数外并且在函数头部的变量,叫做全局变量,全局变量在整个代码中都生效. 局部变量只在函数里生效,这个函数就叫做这个 ...

  4. Spring AOP实现接口验签

    因项目需要与外部对接,为保证接口的安全性需要使用aop进行方法的验签; 在调用方法的时候,校验外部传入的参数进行验证, 验证通过就执行被调用的方法,验证失败返回错误信息: 不是所有的方法都需要进行验签 ...

  5. Kubernetes学习笔记(二):部署托管的Pod -- 存活探针、ReplicationController、ReplicaSet、DaemonSet、Job、CronJob

    存活探针 Kubernetes可以通过存活探针(liveness probe)检查容器是否存活.如果探测失败,Kubernetes将定期执行探针并重新启动容器. 官方文档请见:https://kube ...

  6. 在ORACLE中实现SELECT TOP N的方法----[转]

    1.在ORACLE中实现SELECT TOP N 由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询. ...

  7. 树形DP基础题 HDU1520

    Anniversary party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  8. hdu2243

    背单词,始终是复习英语的重要环节.在荒废了3年大学生涯后,Lele也终于要开始背单词了.一天,Lele在某本单词书上看到了一个根据词根来背单词的方法.比如"ab",放在单词前一般表 ...

  9. HDU6040 Hints of sd0061

    题目链接:https://vjudge.net/problem/HDU-6040 题目大意: 给出 \(n\) 个数,有 \(m\) 次询问,每次询问这 \(n\) 个数中第 \(k+1\) 大的数是 ...

  10. 【MySQL】索引的本质(B+Tree)解析

    索引是帮助MySQL高效获取数据的排好序的数据结构. 索引数据结构 二叉树 红黑树 Hash表 B-Tree MySQL所使用为B+Tree (B-Tree变种) 非叶子节点不存储data,只存储索引 ...