一、接口分类,流程,用例设计

接口分类:

外部接口:被测系统与外部其他系统之间的接口。

承保系统(被测系统),核算系统。

内部接口:被测系统内部各个子模块之间的接口。

承保系统(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实战的更多相关文章

  1. Postman+Newman+jenkins实现API自动化测试

    最近自己在学习用postman+newman+jenkins实现API自动化测试,这里做个回顾和记录.(此次是在windows上进行的环境搭建) 一.说明 1.大致思路:利用postman做接口调试所 ...

  2. Postman + newman + jenkins 的API自动化测试应用

    一.环境配置 Postman postman 的具体使用可以参考另外一篇文章:postman 做接口测试之学习笔记 Newman 第一步,安装nodejs. 第二步,在nodejs命令行安装newma ...

  3. postman+newman+jenkins环境部署

    postman+newman+jenkins 环境部署 2017年4月27日 14:33 阅读 11 新浪博客 1.postman: http://itfish.net/article/59864.h ...

  4. Postman+Newman+Jenkins APItest自动化集成测试

    postman做接口测试简单易用很容易上手,但是接口越来越多,每次手动点击runner进行测试不灵活,最近就研究了下newman,利用newman实现接口的自动化测试,但是每次需要命令行操作也不方便, ...

  5. postman+newman+jenkins

    1.postman: http://itfish.net/article/59864.html(网上参考资料) 1)安装(要用爬墙软件): 进入下面地址https://chrome.google.co ...

  6. Postman+newman+jenkins构建

      最近忙着项目接口测试,经过不同工具的对比,发现postman使用起来挺顺手的,所以马上决定使用这个工具进行接口测试工作.刚开始的时候,了解了下接口测试的相关信息,直接着手编写接口测试的测试用例信息 ...

  7. Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)

    本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上篇文章我们已经完成了API测试工具选型,接下来是一系列周期性的开发 ...

  8. postman+newman+jenkins 接口自动化问题

    声明:个人原创,转载请注明 1.安装postman工具 下载地址:https://www.getpostman.com/点击下载,选择自己的系统,我的是windows系统,64位 2.postman ...

  9. postman+newman+jenkins接口自动化

    postman用来做接口测试非常方便,接口较多时,则可以实现接口自动化 目录 1.环境准备 2.本机调试脚本 3.集成jenkins 1.环境准备 1.1安装nodejs6.0+ 安装nodejs6. ...

随机推荐

  1. collections 数据类型扩展模块

    在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和Ord ...

  2. Django orm Q查询补充

    Q的简单用法 from django.db.models import Q q = Q() q.children.append(("username", "lyj&quo ...

  3. UIautomatorviewer连接设备报错Unexpected error while obtaining UI hierarchy

    先来看下现象哈,点击sdk/tools下uiautomatorviever.bat,点击连接设备的图标,本以为就这么简单,那你就错了: 是不是看到这个瞬间心情就不好了,那么我们该怎么解决这个问题呢,归 ...

  4. Netty之DefaultAttributeMap与AttributeKey的机制和原理

    一.介绍和原理分析 1.什么是 DefaultAttributeMap? DefaultAttributeMap 是一个 数组 + 链表 结构的线程安全Map. 2.什么是 AttributeKey? ...

  5. var、let和const区别

    var.let和const区别 变量提升问题 var声明的变量存在变量提升,而let与const声明的变量不存在变量提升,但存在暂时性死区 即在预编译阶段,js引擎扫描代码时,遇到变量声明,会把var ...

  6. 简单面试前算法一览java

    1.排序 冒泡,快速排序 2.查找 二分查找 3.链表 翻转链表 合并链表 是否有环 b. 快慢指针 public class QuickSort {   public static void qui ...

  7. Java 中是如何支持正则表达式操作的?

    Java 中的 String 类提供了支持正则表达式操作的方法,包括:matches(). replaceAll().replaceFirst().split().此外,Java 中可以用 Patte ...

  8. 什么是基于 Java 的 Spring 注解配置? 给一些注解的例子?

    基于 Java 的配置,允许你在少量的 Java 注解的帮助下,进行你的大部分 Spring 配置而非通过 XML 文件. 以@Configuration 注解为例,它用来标记类可以当做一个 bean ...

  9. SpringCloud个人笔记-04-Stream初体验

    sb_cloud_stream Spring Cloud Stream 是一个构建消息驱动微服务的框架 应用程序通过 inputs 或者 outputs 来与 Spring Cloud Stream ...

  10. c++中的printf、和cout和cin后面跟指针的问题

    printf里面打印指针的问题 而在c语言中,使用printf只需要使用不同的格式就可以区分打印出是字符串还是指针变量的值: cout和cin后面跟指针的问题 cout<<mm 和cin& ...