软件接口测试一个项目的实战,全网最全postman接口测试教程和接口项目实战~从入门到精通!!!...
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]
2.xml格式如:
40001
提现成功
具体的数据
3.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: csrf_token=2c76c391ab3922fe; (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
空一行
响应数据
{"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项目实战
如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:测试企鹅裙:695458161,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
此项目笔者列举出有如下接口:
1.访问项目接口
2.登录接口
3.跳转到登录成功页面接口
4.选板块接口
5.点击新板块接口
6.发帖接口
7.跳转到发帖成功接口
8.回帖接口
9.跳转到回帖成功页面接口
10.退出接口
接口文档如下:
接口演示如下:
软件接口测试一个项目的实战,全网最全postman接口测试教程和接口项目实战~从入门到精通!!!...相关推荐
- Nuxt3 全栈 项目服务器部署 全网最全最细保姆级教程 解决各种小坑 时光小灶
服务器:Nginx 面板:宝塔面板 个人博客:https://timebk.cn/ 原文地址:原文 项目打包 第一步肯定是打包咯,前提是项目已开发好了以及没有啥Bug了哈 npm run build ...
- 全网最全fiddler使用教程和fiddler如何抓包(fiddler手机抓包)-笔者亲测
目录:导读 一.前言 二.HTTP协议 三.Fiddler简介和工作原理 四.Fiddler六大块详解 五.Fiddler过滤器 六.Fiddler 对于WEB项目的抓包和改包项目实战 七.Fiddl ...
- 【Go语言】Go语言我们应该这样学~全网较全的学习教程
哈喽,我是一个初级的互联网玩家,致力于分享各领域优质开源项目. 这是一篇可以让你受益终身的 Go 精华文章,汇聚了圣经级 500 + Go开源项目的精华,Go 开源电子书.Go学习路线图! 建议你花 ...
- 全网最全的Apollo教程从入门到精通
第1章 Apollo项目实战 能力目标 掌握Apollo安装 掌握Apollo配置操作 能够实现SpringBoot集成Apollo 能够实现Apollo适用功能[自动刷新.监听器.配置加密.1灰度发 ...
- 全网最全之接口测试【加密解密攻防完整版】实战教程详解
看视频讲的更详细:https://www.bilibili.com/video/BV1zr4y1E7V5/? 一.对称加密 对称加密算法是共享密钥加密算法,在加密解密过程中,使用的密钥只有一个.发送和 ...
- 这个应该是全网最全的接口测试工具之postman
目录 概念 常用接口测试工具 接口返回数据 接口测试协议 安装postman 内置的动态参数 环境变量和全局变量 接口关联 批量执行 断言 Newman jenkins持续集成 后记 概念 接口测试是 ...
- 全网最全Log配置教程及框架性能比较,看这篇就够了!
不管是使用何种编程语言,何种框架,日志输出几乎无处不再,也是任何商业软件中必不可少的一部分. 总结起来,日志的用途大致可以归纳成以下三种: 问题追踪:通过日志不仅仅包括我们程序的一些bug,也可以在安 ...
- Java学习路线图分享(含项目+面试提升)最全整理
为大家整理了2022最新的Java学习路线图,从学前准备.学习路线.项目实战.面试提升等四个方面给大家分享一些经验,希望可以给学习Java的小伙伴们一些帮助. 个人学习经验: 我本人是计算机科班出身, ...
- 2023最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
作者:bug菌 博客:CSDN.掘金.infoQ.51CTO等 简介:CSDN/阿里云/华为云/51CTO博客专家,博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金/ ...
最新文章
- mysql数据库备份报错145_mysql数据库导出时报错mysqldump: Got error: 145的解决方法
- Python的定时器
- 如何求对角矩阵的逆?
- 博客堂怎么连个搜索功能都没有
- html文档php 取mac地址_cpu序列号_硬盘序列号,用vbs脚本获取网卡MAC,CPUID,硬盘序列号的实现代码...
- java thread.notify_Java Thread notify()方法
- DPM 2012 R2恢复Exchange 2013单用户邮箱
- tomcat之jsp连接mysql数据库
- python学习之路四(类和对象1)
- luoguP4709 信息传递 置换 + 多项式exp
- delphi串行通信源码教程
- 关于JeeSite框架Shiro序列化漏洞修复解决方法
- webhook机器人php源码,机器人之钉钉机器人webhook 对接 ThinkPHP3.2 实现Bug告警通知...
- html语言星号,DIV+CSS 星号*
- git stash暂存操作
- 计算机应用基础——计算机软件(三)
- 《凸优化》7 学习笔记
- 大连理工计算机学硕能调剂到专硕吗,专家提醒:学硕调剂到专硕的注意事项
- [市场产品部]MP部副部长(陈晓慧):餐饮公司LOGO设计与制作
- 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation 解决问题
热门文章
- spring boot(十五)spring boot+thymeleaf+jpa增删改查示例
- Vue.js组件的重要选项
- ios开发网络学习九:NSURLSessionDownloadTask实现大文件下载
- 从IT的角度思考BIM(三):敏捷开发
- Swif基本语法以及与OC比较三
- MVC之Ajax如影随行
- node.js第十课(HTTPserver)
- jquery学习--选择器
- x86_64 Linux 运行时栈的字节对齐
- asp.net关于页面不回发,不生成__doPostBack方法问题的完美解决方案--ZT