Postman+newman+jenkins+git实战
一、接口分类,流程,用例设计
接口分类:
外部接口:被测系统与外部其他系统之间的接口。
承保系统(被测系统),核算系统。
内部接口:被测系统内部各个子模块之间的接口。
承保系统(A模块,B模块)
测试接口重点:检查接口参数的正确性,接口功能的正确性,输出结果的正确性,以及对各种异常场景的容错处理和权限控制。
接口测试流程:
1.拿到api接口文档(从开发拿或抓包获取),熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码,其他的特别的需求。
2.编写接口测试用例以及评审
编写思路:
正例:输入正确的入参,接口正常返回。
反例:
鉴权反例:为空,错误,过期,.....
参数反例:必填,参数类型异常,参数长度异常,错误码覆盖。
其他场景:接口黑名单,接口调用次数限制,分页场景测试(负数页,0,1,5,10,100)。
3.使用接口测试工具Postman,Jmeter执行接口测试。
4.Postman+newman+jenkins+git实现持续集成。(输出报告和电子邮件)
二、Postman接口测试工具
Postman+newman+jenkins+git
Jmeter+Ant+Jenkins+Git
Postman下载和安装:https://www.postman.com/downloads/
Postman注册和登录。
token鉴权码:(大部分,cookie,session,签名)
csrf_token:一般情况下有效期是7-15天。
access_token:一般情况下有效期是10分钟-2小时
三、Postman工具详解
请求页签:
params:get请求传参。
Authrization:鉴权
Headers:请求头
Body:Post请求传参
form-data:可以传输key=value还可以传输文件。
x-www-form-urlencoded:只能传输key=value
raw:Text,javascript,JSON,html,XML
binary:把文件当成二进制的方式传输。
Pre-request-script:请求之前的脚本。
Tests;请求之后的断言。
Setting:设置
Cookies:Postman管理Cookie信息。
响应页签:
Body:返回的信息
Pretty(各种格式查看返回数据)
Raw(文本格式)
Preview(网页)
Cookie:响应Cookie
Headers:响应头
Test Results:测试结果
200 响应码
OK 响应信息
237MS 响应时间
343B 响应内容大小
四,接口关联
第一种方式:JSON提取器
1 //打印
2 console.log(responseBody);
3 //JSON提取器:把返回的结果转化成JSON对象
4 var jsdata = JSON.parse(responseBody);
5 //取值,并且设置为去全局变量
6 pm.globals.set("access_token",jsdata.access_token);
第二种方式:正则表达式提取器
1 //打印
2 console.log(responseBody);
3 //正则表达式提取器,match匹配,new RegExp新建正则表达式
4 var data = responseBody.match(new RegExp('"access_token":"(.*?)"'));
5 //取值并设置为全局变量
6 pm.globals.set("access_token",data[1]);
鉴权方式:签名sign
五全局变量和环境变量
全局变量可以在所有的接口请求里面使用。通过{{}}取值。
作用:可以使用全局变量保存在所有接口都需要使用的变量
环境变量可以在当前环境的所有接口请求使用,通过{{}}取值。
作用:可以保存多种环境。可以让接口在多种环境中测试。
开发环境,测试环境,生成环境,预发布环境。
问题:
1.创建和编辑标签接口参数必须唯一,(动态参数)
2.删除接口,ID不能重复,这个ID必须存在
Postman+newman+jenkins+git实战的更多相关文章
- Postman+Newman+jenkins实现API自动化测试
最近自己在学习用postman+newman+jenkins实现API自动化测试,这里做个回顾和记录.(此次是在windows上进行的环境搭建) 一.说明 1.大致思路:利用postman做接口调试所 ...
- Postman + newman + jenkins 的API自动化测试应用
一.环境配置 Postman postman 的具体使用可以参考另外一篇文章:postman 做接口测试之学习笔记 Newman 第一步,安装nodejs. 第二步,在nodejs命令行安装newma ...
- postman+newman+jenkins环境部署
postman+newman+jenkins 环境部署 2017年4月27日 14:33 阅读 11 新浪博客 1.postman: http://itfish.net/article/59864.h ...
- Postman+Newman+Jenkins APItest自动化集成测试
postman做接口测试简单易用很容易上手,但是接口越来越多,每次手动点击runner进行测试不灵活,最近就研究了下newman,利用newman实现接口的自动化测试,但是每次需要命令行操作也不方便, ...
- postman+newman+jenkins
1.postman: http://itfish.net/article/59864.html(网上参考资料) 1)安装(要用爬墙软件): 进入下面地址https://chrome.google.co ...
- Postman+newman+jenkins构建
最近忙着项目接口测试,经过不同工具的对比,发现postman使用起来挺顺手的,所以马上决定使用这个工具进行接口测试工作.刚开始的时候,了解了下接口测试的相关信息,直接着手编写接口测试的测试用例信息 ...
- Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上篇文章我们已经完成了API测试工具选型,接下来是一系列周期性的开发 ...
- postman+newman+jenkins 接口自动化问题
声明:个人原创,转载请注明 1.安装postman工具 下载地址:https://www.getpostman.com/点击下载,选择自己的系统,我的是windows系统,64位 2.postman ...
- postman+newman+jenkins接口自动化
postman用来做接口测试非常方便,接口较多时,则可以实现接口自动化 目录 1.环境准备 2.本机调试脚本 3.集成jenkins 1.环境准备 1.1安装nodejs6.0+ 安装nodejs6. ...
随机推荐
- 开源版-阿里云人脸搜索M:N,人脸比对1:1
一.人脸搜索概要 本项目是阿里云视觉智能开放平台的人脸1:N的开源替代,项目中使用的模型均为开源模型,项目支持milvus和proxima向量存储库,并具有较高的自定义能力. 项目使用纯Java开发, ...
- 线程 Threading
import time from threading import Thread def func(): while True: time.sleep(0.5) print(123) def func ...
- vue学习过程总结(07) - vue的后台服务API封装及跨域问题的解决
以登录流程为例说明接口的封装. 1.登录调用后台的登录api 登录界面的代码 <template> <div class="login-page"> < ...
- file_put_contents利用技巧(php://filter协议)
Round 1 <?php $content = '<?php exit; ?>'; $content .= $_POST['txt']; file_put_contents($_P ...
- JavaScript 里的 'this' 的一般解释
本文旨在帮助自己和大家理解 JS 里的 this, 翻译.整理并改写自本人关注的一个博主 Dmitri Pavlutin,原文链接如下: https://dmitripavlutin.com/gent ...
- SpringAOP--aop使用
SpringAOP使用方式 切点表达式 常用的符号: *:匹配任何数量字符: ..:匹配任何数量字符的重复,如在类型模式中匹配任何数量子包:而在方法参数模式中匹配任何数量参数. +:匹配指定类型的子类 ...
- redis单机版和集群版搭建笔记-简略版
搭建单机版: 解压 tar -zxf redis-3.0.0.tar.gz 编译 cd redis-3.0.0 安装 make install prefix=/usr/local/redis-inst ...
- 为什么我们调用 start()方法时会执行 run()方法,为什么 我们不能直接调用 run()方法?
当你调用 start()方法时你将创建新的线程,并且执行在 run()方法里的代码. 但是如果你直接调用 run()方法,它不会创建新的线程也不会执行调用线程的代码, 只会把 run 方法当作普通方法 ...
- spring-boot-learning- Elasticsearch
索引==数据库 类型==表 文档==表里面的记录 属性==表里面的列 使用RestFul风格elasticSearch进行操作 添加一个索引为megacorp,类型为employee,--id为1的文 ...
- Formatter和IStandardConversionService的使用方式
Thymeleaf 1.Formatter接口是当进行请求参数的封装时,会根据Formatter的泛型进行调用Parse方法进行格式化类型 2.IStandardConversionService是T ...