Postman


视频:https://www.bilibili.com/video/BV1h54y1L7kz?spm_id_from=333.337.search-card.all.click

Postman_第1张图片

接口

概念

服务器和客户端(app,网页)之间有接口,完成两者之间的数据交互;

接口是数据交互的通道,完成数据的传递

Postman_第2张图片

Postman_第3张图片

接口的类型

  1. 按协议分。协议不同,接口的类型不同。HTTP,TCP,UDP,IP,FTP,USB

  2. 按语言划分。C++,JAVA,Python等

  3. 按范围划分。系统之间和程序内部

    系统之间:

    • 内部系统之间:登录,支付,购物车等等子系统(内部系统)之间的访问交互
    • 外部部系统之间:(外部)支付,购物车等系统(内部系统)之间的访问交互。

Postman_第4张图片

Postman_第5张图片

程序之间:方法(函数)和方法(函数)之间。类和类之间。模块和模块之间。

# 使用接口
def bird( ) :
	something ='虫子'
    eat(something)
# 接口
def eat(something) :
	# print(f'小鸟在吃{something} ' )
    print('小鸟在吃",something)
bird()

接口测试

概念

接口测试:是对系统或组件之间的接口进行测试,

主要是校验数据的交换、传递和控制管理过程(不能直接跳过前一个过程),以及相互逻辑依赖关系(在访问前须得有一个登录)。

测试系统或组件之间交互的数据的正确性,以及逻辑依赖关系的正确性!

原理

  • 数据(预期结果)从哪里来:
    • 根据用户需求
  • 如何校验:
    • 借助工具或代码,模拟客户端。组织数据

用工具或者代码模拟客户端,向服务器发送请求,校验服务器传回来的响应数据是否和预期的结果一致;

Postman_第6张图片

接口测试的特点

  • 测试可以提前介入,提早发现Bug,符合质量控制前移的理念-

  • 可以发现一些页面操作发现不了的问题(可以绕过前端页面的一些数据传递,跳过校验规则,直接向服务器发送请求):支付密码输入非数字,特殊字符

  • 接口测试低成本高效益(底层的一个Bug能够引发上层8个左右Bug,接口测试可以实现自动化)

  • 不同于传统的单元测试,接口测试是从用户的角度对系统进行全面的检测(各种“不听话”的用户)

    测试服务器的健壮性

接口测试的实现方式

  • 使用接口测试工具来实现(比如: JMeter、Postman、fiddler)
  • 通过编写代码来实现(比如: Python + Requests+UnitTest)
什么是自动化接口测试

利用工具代码,代替人工自动判断响应结果和预期结果是否一致,依赖断言

HTTP协议

协议:就是规则!要求使用协议的双方,必须严格遵守

  1. HTTP协议介绍

    HTTP:(HyperText Transfer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议。

  2. HTTP协议的特点

    • 支持客户端/服务器
    • 模式简单快速
    • 灵活
    • 无连接
    • 无状态

    TCP协议:C/S模型---->三次握手建立连接;—>四次挥手断开连接;各个点都有状态,会根据状态调整;而HTTP是无连接的,无状态的。

URL格式

URL:(Uniform Resource Locator)统一资源定位符,是互联网上标准资源的地址。

HTTP使用URL来建立连接和传输数据

语法格式

URL格式
http : //www.itcast.cn:8080/news/index.html?uid=123&page=1

  • 协议部分:“http",常见的协议有HTTP,HTTPS、FTP等

  • 域名部分:“www.itcast.cn”,也可以使用IP地址作为域名使用(定位网络环境中的一台主机)

  • 端口部分:“8080",端口可以省略,默认端口(HTTP:80,HTTPS:443(加密),FTP:21)

    mysql: 3306

    redis: 6379

    在网络主机上定位不同的应用

  • ·资源路径部分:“/news/index.html";对应网页的原代码或者网络中的一个数据资源

    • 资源路径可以为空(没有),相当于资源路径为“/”
    • 如有查询参数,资源路径为?之前域名(端口)之后的所有内容!
    • 如果没有查询参数,资源路径,从域名(端口)之后,直到结束。
  • 查询参数部分:“uid=123&page=1",可以允许有多个参数,多个之间用“&"作为分隔符

    传参给网页源代码

    • 以?与资源路径隔分
    • 查询参数可以有多个,之间用&隔分
    • 参数参数的语法k=v对儿!

Postman_第7张图片

示例
查询天气信息 :http://www.weather.com.cn/data/sk/101010100.html

Http请求

作用:

  • 由客户端发送给服务器
  • 规定了 发送给服务器 的 数据的 语法格式

HTTP请求由四部分组成:请求行,请求头,空行,请求体

Postman_第8张图片

Postman_第9张图片

换行符:\r\n

Postman_第10张图片

Postman_第11张图片

请求行

  • 作用:指定请求方法、请求资源
  • 语法格式:请求方法(空格)URL(空格)协议版本(lrln)请求方法:
    • GET:查询。—―没有请求体
    • POST:新增。――登录、注册主要使用。有请求体
    • PUT:修改。――有请求体。
    • DELETE:删除。—―没有请求体
  • URL:数据资源的定位符
  • 协议://域名:端口/资源路径?查询参数&查询参数&…
  • 协议版本:
    • http1.1/http1.2/http2.0

请求头

  • 作用:向服务器描述客户端(浏览器)的基本信息
  • 语法:k:v 键值对儿
  • User-Agent:向服务器描述浏览器的类型(防爬虫)
  • Content-Type:向服务器描述请求体的数据类型
    • application/x-www-form-urlencoded(表单数据类型)

请求体

  • GET、DELETE请求方法,没有请求体。
  • POST、PUT请求方法,有请求体。
  • 请求体的数据类型,受请求头中Content-Type的值影响

Http响应

作用:

  • 由服务器 回 发送给客户端
  • 规定了 服务器 回 发送给客户端 的 数据的 语法格式

整体格式

  • 响应行(状态行)、响应头、空行、响应体

Postman_第12张图片

Postman_第13张图片

响应包或响应报文

状态行

  • 语法格式:协议版本(空格)状态码(空格)状态码描述\rln
  • 协议版本: http1.0/http1.1/http2.0
  • 状态码:针对Http请求,响应的状态
    • 状态码描述

详细可以参考Http协议中文版文档

状态码有三位数字组成,第一个数字定义了响应的类别:·

1xx:指示信息–表示请求已接收,继续处理(表示请求需要进一步访问)

2xx:成功–表示请求已被成功接收、理解、接受(200:OK

3xx:重定向–要完成请求必须进行更进一步的操作

4xx:客户端错误–请求有语法错误或请求无法实现(404:没有找到文件;403:资源无权访问)

5xx:服务器端错误–服务器未能实现合法的请求(502:badgateway;504:响应时间太长)

  • 状态描述:对状态码的描述

响应头

  • 作用:向客户端描述服务器的基本信息。
  • 语法:k:v键值对儿
  • Content-Type:向客户端描述 **响应体 **的数据类型!

响应体

  • http响应报文,大多数是有响应体
  • 响应体的数据类型,受 响应头中 ContentIType 的值影响。
    • json 类型
    • 表单 类型
    • 图片 类型

传统风格的接口

对用户进行操作的相关接口,包括增删改查

  • 使用GET、POST 实现所有数据的增删改查操作。
  • 针对用户的某一个操作,URL不唯一。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oGDic4xp-1666678980669)(assets/1650595084080.png)]

好处:

  1. 对开发的技术要求低。只需要掌握get、post即可
  2. 代码灵活

RESTful

一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件

REST:即(Representational StateTransfer)的缩写。词组的翻译是**“表现层状态转化”**。如果一个架构符合REST原则,就称它为RESTful架构。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CwDjMpjO-1666678980669)(assets/1650595758022.png)]

  • 使用GET/POST/PUT/DELETE分别表示查、增、改、删使
  • 用一个URL对应一个唯一的资源。
  • 状态码,根据实际操作请求加以区分。(但实际开发中,会直接返回一个同意的状态码,然后在响应体中添加一个字段,去描述返回的结果)

界定RESTful风格接口:

  1. 请求方法 使用get\post\delete\put对应查增删改
  2. 数据资源定位符是否唯一
  3. 在URL中不使用动词,替换使用名词,结合请求方法,界定具体操作。

RESTful没有强制性,只是一种风格;接口之间传递的数据最常用格式为JSON


接口测试流程

Postman_第14张图片

  1. 需求分析

    • 主要依据需求文档
  2. 接口文档解析

    • 一般是由开发人员编写接口文档(API文档)
  3. 设计测试用例

  4. 执行测试

    • 使用接口测试工具实现。通过编写代码实现
  5. 接口缺陷管理 与 跟踪(回归测试)

  6. 生成测试报告

  7. 接口自动化持续集成(可选)

接口文档

什么是接口文档?

也叫API文档。是由开发人员编写。描述接口相关信息的文档。

作用:

  1. 方便前端开发人员和后端开发人员,在开发时进行对接。
  2. 在人员更迭时,方便新入职的员工快速接手项目。
  3. 方便测试人员编写接口测试用例。

展现形式

  • 在线文档(html)
  • 离线文档
    • wordo
    • xmind
    • pfd
    • Excel

接口文档结构

  • 基本信息:

    接口描述:URL:(协议+域名)+资源路径。

    请求方法

  • 请求参数:

    • 请求头
    • 请求体(GET、DELETE没有)
  • 返回结果:

    • 状态码、状态描述
    • 响应体

登录接口为例:

http请求:

  • 请求行

    请求方法:POST

    URL: http:/lihrm-test.itheima.net/api/sys/login

    协议版本:默认 http/1.1

  • 请求头:

    Content-Type:application/json

  • 请求体:

    {“mobile”:“13800000002",“password”:“123456”}

    json里面不能用单引号表字符串

http应答:

  • 响应行:

    状态码、状态描述:200 ok

  • 响应头: 无

所有接口文档里面的内容,复制过去。

  • 响应体:
    • 第一种情况:“success”:true,“code”:10000,"message"∵"操作成功! ", “data”.“xxx”}
    • 第二种情况:{“success”:false,“code”:20001 ," message":“用户名或密码错误” ," data":null}
    • 第三种情况:{“success”.false,“code”:99999,"message"∵"抱歉,系统繁忙,请稍后重试! ",“data”:null}

接口用例设计

为什么写?

  1. 防止漏测

  2. 管理工作进度,评估工作量

接口测试的用例点(测试维度)

Postman_第15张图片

####功能测试

  • 单接口功能:

    手工测试中每个业务功能。在接口测试中就对应唯一的一个接口。针对该接口展开测试。

  • 业务场景功能:(一定是在单接口测试之后)

    对应手工测试中,有业务流程。就是接口的调用先后顺序。按调用顺序展开接口测试

性能测试

  • 响应时长:

    • 从发出请求,到服务器回发响应,所经历的时长。
  • 吞吐量:

    • TPS(单位时间事务数)。如1s内,接口所能处理的请求数量
  • 并发数:

    • 同一时间,同时向服务器的接口发送请求,所能正确处理的数量。
  • 服务器资源利用率:

    • 接口工作中,服务器硬件资源使用占比情况。

安全测试

  • 敏感数据

    密码,身份证号,银行卡号…

  • SQL注入

    在用户能够输入的位置,写SQL语句,看是否能够得到数据库查询的结果

设计方法和思路

与手工设计相同之处
接口用例设计的测试点,与手工页面业务功能的测试点几乎完全一样。

手工功能用例设计要点:

  1. 测试页面布局、控件的位置是否精准

  2. 针对用户名的编辑框中的数据值,展开测试

    正确手机号、手机号有特殊字符、手机号不足11位、手机号超11位、手机号为空…

  3. 针对密码的编辑框中的数据值,展开测试

    正确密码、错误密码、密码有特殊字符、密码1位、密码100位、密码为空…

  4. 针对验证码的编辑框中的数据值,展开测试
    正确验证码、错误验证码、过期验证码、验证码为空…

接口用例设计要点:

  1. 手工页面中的用户名编辑框的值,对应接口中key为username的 value值。针对username的值展开测试。

     正确手机号、手机号有特殊字符、手机号不足11位、手机号超11位、手机号为空...
    
  2. 手工页面中的密码编辑框的值,对应接口中 key为password 的value值。针对 password的value值展开测试。

     正确密码、错误密码、密码有特殊字符、密码1位、密码100位、密码为空....
    
  3. 手工页面中的验证码编辑框的值,对应接口中key为verify_code value值。针对 verify_code的value值展开测试。

     正确验证码、错误验证码、过期验证码、验证码为空...
    

Postman_第16张图片

单接口测试用例

8大要素:编号,标题,项目描述,优先级,预置条件,测试数据、执行步骤 ,预期结果

接口测试用例:
编号、标题、用例名称、优先级、预置条件、接口名称、请求方法、URL、请求头、请求体(请求数据)、预期结果

登录测试点

  • 数值正向:

    登录成功

  • 数据反向:

    • 手机号为空
    • 手机号有特殊字符。
    • 手机号不足11位。
    • 手机号超出11位。
    • 手机号未注册。
    • 密码错误。
    • 密码为空
    • 密码有特殊字符
    • 密码1位
    • 密码100位
  • 参数正向:

    必选参数(全部参数)

  • 参数反向:

    多参,少参,无参

业务场景测试用例

分析测试点:

  • 业务场景尽量遵循用户实际使用的场景,按顺序调用接口进行测试
  • 尽量使用最少的测试用例覆盖最多的业务场景
  • 单接口已经测完:一般情况下只需要 测试正向的 业务场景即可

登录成功–添加员工–查询–修改–查询–删除–查询员工列表

依赖关系:

  1. 登录成功返回的“令牌”,被添加、查询、修改、删除依赖。
  2. 添加员工成功,返回员工id,被查询、修改、删除依赖。

添加员工

18795963214

查询员工

修改员工

删除员工

查询员工列表

Postman_第17张图片

Postman实现接口测试

掌握如何安装Postman

掌握Postman的基本用法

掌握全局变量与环境变量

掌握Postman断言和关联

掌握如l何读取外部文件实现参数化

掌握如l何使用Newman生成HTML测试报告


1. Postman介绍

Postman是一款非常流行的接口调试工具,它使用简单,而且功能也很强大。不仅测试人员会使用,开发人员也会经常使用。
官方网站: https://www.getpostman.com/
主要特点

  1. 简单易用的图形用户界面
  2. 可以保存接口请求的历史记录
  3. 使用测试集Collections可以更有效的管理组织接口
  4. 可以在团队之间同步接口数据

2.Postman安装

安装注意事项

一旦安装成功,尽量坚持使用不要卸载!
Postman有个BUG,不能重复安装,如果重复安装,新安装的版本必须大于已安装的版本。

安装插件:newman

安装教程

https://blog.51cto.com/u_15127674/4283756

https://blog.csdn.net/weixin_41990913/article/details/117664715?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165070122116781435470736%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165070122116781435470736&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-117664715.142v9control,157v4control&utm_term=postman%E5%AE%89%E8%A3%85newman&spm=1018.2226.3001.4187

Postman_第18张图片

Postman_第19张图片

3. Postman基础使用

案例一:Get搜索请求

使用postman发送http请求,访问tpshop商城的“搜索"接口

商城地址:tpshop-test.itheima.net/

Postman_第20张图片

postman进入my workspaces

Postman_第21张图片

URL中不能出现汉字,只能用ascll码的形式表示,可以用unicode编码解码

Postman_第22张图片
:点击Send

Postman_第23张图片

1.借助浏览器开发者工具(或者Fiddler)获取搜索接口使用请求方法、URL
1. 请求方法: GET
2. URL:https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&pvid=f43a375b423243cfb1532ebb025d240e
⒉. 使用Postman 创建一个标签页(tab),组织http请求,发送搜索接口请求

案例二:Post登录请求

使用Postman向topshop商城登录接口发送一个密码错误的登录请求

获取数据:

  • 请求方法:POST
  • URL: http://tpshop-test.itheima.net/index.php?m=Home&c=User&a=do_login&t=0.5285164048485933
  • 请求头:Content-Type: application/×-www-form-urlencoded
  • 请求体: username=13800138006 password=6666 verify_code=8888

Postman_第24张图片

Postman_第25张图片

Postman_第26张图片

Postman_第27张图片

案例三:iHRM的登录请求

从接口文档,获取登录接口的http请求,使用Postman发送请求给iHRM人力资源管理系统

Postman_第28张图片

4. Postman的高级用法

管理测试用例集

Postman_第29张图片

用例集导入导出

Postman_第30张图片

Postman_第31张图片

Postman_第32张图片

导入

Postman_第33张图片

Postman_第34张图片


Postman断言

断言:让程序判断预期结果和实际结果是否一致。

特点

  1. Postman的断言是使用JavaScript语言编写的,写在**'Tests’标签页**里

  2. Tests中的脚本在发送请求之后执行,

    会把断言的结果(PASS/FAIL)最终在’Test Results’标签页中展示

常用Postman断言

断言代码片段介绍

  1. Status code: Code is 200
//判断响应状态码是否等于200
//断言响应状态码为200
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
pm: Postman的一个实例
test: Postman实例的一个方法,有两个参数:
参数1:"Status code is 200"”断言完成后,给出的提示信息. 
参数2:匿名函数调用。
 pm.response.to.have.status(200);的意思是postman的响应结果中,有状态码 200

Postman_第35张图片

  1. Response body: Contains string
//判断响应体中是否包含指定的字符串
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
pm : Postman的一个实例
test() : Pos tman实例的一个方法,有两个参数:
参数1:"Body matches string"断言完成后,给出的提示信息。
参数2。匿名函数调用。
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
意思是:postman实例预期结果中包含 "string_you_want_to_search" 字符串
"string_you_want_to_search": 是预期结果!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-apkcp65j-1666678980674)(assets/1650766222897.png)]

数值也可以正常判断

  1. Response body: ls equal to a string
//断言响应体等于某个字符串(对象)
pm.test("断言响应体等于某个字符串(对象)", function () {
    pm.response.to.have.body("response_body_string");
});
pm.response.to.have.body( "response_body_string")意思:
postman 的响应结果中有响应体为"response_body_string"
"response_body_string" 是预期结果

Postman_第36张图片

  1. Response body: JSON value check
//校验响应的JSON数据
   pm.test( "our test name", function(){
       var jsonData = pm.response.json();
  	   pm.expect(jsonData.value).to.eql(100);
   });

var jsonData = pm. response.json();意思是:
定义一个变量,名称叫jsonData ,值为:json格式的响应体数据pm.expect(jsonData.value).to.eq1 (100);意思是:
postman预期json格式的响应结果中xxx(key)的值为 xxx

value可以替换为:success. code、 message.data
to.eq1() 中的值对应为, true、10000、"操作成功! "、“fe565654-7540-4c64-9949-3d4bf5ad03a4”

Postman_第37张图片

  1. Response headers: Content-Type header check

     //判断响应头中是否包含指定的头标签
       pm.test("Content-Type is present",function(){
           pm.response.to.have.header("Content-Type");
       });
    
     pm.response.to.have.header("Content-Type"):postman中的响应头中有Content-Type
    

    Postman_第38张图片

注意变化的值就不要去断言了

断言的工作原理

Postman_第39张图片

全局变量和环境变量

全局指整个Postman内部

全局变量:全局变量是全局唯一的,不可重复定义的变量

环境变量:

  • 一个变量只能属于某个环境,在某一个环境中变量不可重复定义。

  • 在环境与环境之间可以定义重复的变量

  • 一个环境可以包含多个环境变量

  • 常见环境分类:开发环境、测试环境、生产环境

    概念:在特定环境下生效的变量。Postman中可以有多个环境,每个环境中的变量名可以重复。同一个环境中的变量唯一。常见环境:测试环境、开发环境、生产环境

设置变量

  • 全局变量

    1. 手动设置
    2. 代码设置:pm.globals.set(“var_name”, value);
  • 环境变量

    1. 手动设置
    2. 代码设置:pm.environment.set(“var_name”, value);

获取变量值

  • 全局变量
    1. 请求参数中获取:{{var_name}}:直接在界面上用
    2. 代码中获取:var value = pm.globals.get("var_name" );
语法:pm.globals.set("全局变量名",全局变量值)
例子:var age_tmp = 18//定义js语法的变量
pm. globa1s.set("glb_age ",age_tmp)

语法:var接收变量名 = pm.globals.get("全局变量名")
例子: var ret_age = pm.globa1s.get("glb_age")

  • 环境变量
    1. 请求参数中获取: {{var_name}}
    2. 代码中获取:var value = pm.environment.get("var_name");
语法:pm.environment.set("环境变量名",环境变量值)
例子:
语法:pm.environment.set("环境变量名",环境变量值)
例子:
var age_tmp = 19 //定义js语法的变量
pm.environment.set("env_age ",age_tmp)
Var age_tmp=19//定义js语法的变量
pm.Environment.set(“env_age”,age_tmp)

语法:var接收变量名 = pm.environment. get("环境变量名")例子:
var ret_age = p . environment. get("env_age")


Postman请求前置脚本

假设,这样一种场景:

调某接口时,要输入""时间戳”,如果输入的“时间戳"的绝对值,超过标准时间10分钟。则不允许调用。

1970年1月1日,00:00:00~现在秒数

假设,这样一种场景:
调某接口时,要输入"时间戳",如果输入的“时间戳”的绝对值,超过标准时间10分钟。则不允许调用。

概念

  • 时间戳:表示当前系统时间。表示方式:从1970年1月1日00:00:00~现在所经历的秒数。
  • 请求前置脚本:
    • 书写在“Pre-request Script”标签中
    • Postman在 http请求发送之前,会自动执行,该脚本中的代码!

案例

调用百度首页接口,传时间戳给服务器

  1. 创建“请求前置脚本”用例集和http请页。

  2. 指定请求方法GET,URL: http://www.baidu.com

  3. 在Pre-request Script标签页中,写入代码,获取时间戳,写入到全局变量中

    //获取 时间戳
    var timestamp = new Date().getTime()
    //将时间戳保存到全局变量中
    pm.globals.set("gbl_timestamp",timestamp)
    
  4. 点击Send按钮,促使 Pre-request Script标签页中被自动执行。点击右上角的“眼睛"图标查看Globals中,多出一个全局变量。

  5. 在 URL中,借助查询参数,使用全局变量。 {{glb_timestamp}} 点击Send按钮,发送带有时间翟戳的请求。

  6. 查看,在Postman 菜单栏中“view" --> Show Postman Console 中查看

Postman_第40张图片


5. Postman的关联

介绍:

  • Postman中的关联,用来解决接口和接口之前调用 依赖关系,需要借助全局变量和环境变量解决

    当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。

实现步骤

以A接口返回的数据,供B接口使用为例:

  1. 组织A接口http请求数据,发送A接口请求。
  2. 获取A接口返回的响应数据,写入全局、环境变量中
  3. 组织B接http请求,从全局、环境变量中获取A返回的数据。|

案例

请求获取天气接口,提取响应结果中的城市,将城市名,给百度搜索接口使用。

  1. 请求获取天气的接口,http://www.weather.com.cn/data/sk/101010100.html

  2. 获取返回结果中的城市名称

  3. 调用百度搜索接口: http:/ /rw.baidu.com/s?wd=北京,把获取到的城市名称作为请求参数

实现步骤

  1. 创建“Postman关联”用例集和http请页 (2个)。

  2. 组织A接口请求方法、URL,发送 http请求。

  3. 获取响应结果中的json数据,从数据中提取城市名,保存到全局变量。

//获取响应数据
var jsonData = pm.response.json();
//获取城市名
var city=jsonData.weatherinfo.city;
//写入全局变量
pm.globals.set("glb_city",city);
  1. 点击Postman右上角“眼睛”图标,查看添加的全局变量是否正确!
  2. 组织B接口请求方法、URL,发送http请求。
  3. 在B接口的查询参数中,指定使用全局变量{{glb_city}}
http://www.baidu.com/s?wd={{glb_city}}

7.查看,在Postman菜单栏中“view" --> Show Postman Console 中查看

6. 批量执行测试用例

生成测试报告的前置条件

Postman_第41张图片

Postman_第42张图片

Postman_第43张图片

7. Postman生成测试报告

需要安装插件Newman插件

使用newman命令,运行导出的测试集脚本,打开cmd输入:
newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export report.html
eg:
newman run demo.postman_collection.json -r html
newman run demo.postman_collection.json -r html --reporter-html-export report.html

-e 环境变量文件 -d 测试数据文件是可选参数

【强调】﹔如果添加“-r htm1”参数之后,执行命令报错!是由于没有安装 newman-reporter-html

命令说明

  • run xxx.json:表示要执行的postman脚本,即导出的测试集数据.
  • -e source:用来指定环境变量文件的路径
  • -d source:用来指定测试数据文件的路径

生成报告步骤;

  1. 导出用例集(建议,创建空目录存储用例集。不建议目录层级过烈)

  2. 在用例集所在目录,地址栏输入cmd打开终端。

  3. 键入命令,生成测试报告

newman run Postman的断言用例集.postman_collection.json -r html --reporter-html-export 我的报告.html

city}}

http://www.baidu.com/s?wd={{glb_city}}

7.查看,在Postman菜单栏中“view" --> Show Postman Console 中查看

6. 批量执行测试用例

生成测试报告的前置条件

Postman_第44张图片

Postman_第45张图片

7. Postman生成测试报告

需要安装插件Newman插件

使用newman命令,运行导出的测试集脚本,打开cmd输入:
newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export report.html
eg:
newman run demo.postman_collection.json -r html
newman run demo.postman_collection.json -r html --reporter-html-export report.html

-e 环境变量文件 -d 测试数据文件是可选参数

【强调】﹔如果添加“-r htm1”参数之后,执行命令报错!是由于没有安装 newman-reporter-html

命令说明

  • run xxx.json:表示要执行的postman脚本,即导出的测试集数据.
  • -e source:用来指定环境变量文件的路径
  • -d source:用来指定测试数据文件的路径

生成报告步骤;

  1. 导出用例集(建议,创建空目录存储用例集。不建议目录层级过烈)

  2. 在用例集所在目录,地址栏输入cmd打开终端。

  3. 键入命令,生成测试报告

newman run Postman的断言用例集.postman_collection.json -r html --reporter-html-export 我的报告.html

你可能感兴趣的:(系统测试技术,postman,python,测试工具)