五、postman公共函数及newman运行与生成测试报告
一、公共函数
postman中定义公共函数如下
1、每次断言的时候都需要重写或者复制之前的断言代码,可以通过如下方法定义断言的公共函数,以后每次断言的时候只需要调用公共函数即可进行断言

设置公共函数对断言代码进行二次封装,示例如下,注意:二次封装的代码设置成全局变量之前必须与下面断言的代码放在一处保存,否则会报错

走到这一步,对单个接口进行断言的二次封装已经结束,又因为Tests中二次封装的断言语法是每个接口中Tests所私有的,因此我们要把上面封装的两个断言方法设置成快捷键以便设置成全局变量,到达所有接口都能调用它的目的
把断言代码设置成公共函数要用到eval()函数,eval()函数具有将字符串转换成代码的功能

因此这里可以利用eval()函数的特性将二次封装断言的两句代码设置成全局变量(公共函数),并把common_function_equa、common_function_equa设置为全局变量


此时,已经将两个公共函数设置成了全局变量,取出全局变量中的值,只需要调用全局变量的代码就好啦

其实可以把所有的函数都做成一个公共函数,直接调用全局变的代码即可运用,所有函数写成一行再写入全局变量中Pre-request-Script中const转换成代码需要把const改成var,公共函数也可以放pre中,pre与tests中的脚本是相互独立的

代码如下:
//二次封装
var assertEqual=(name,actual,expected)=>{tests[`${name}: 实际结果为: ${actual}: 期望结果为: ${expected}`] = actual===expected};
var assertNotEqual=(name,actual,expected)=>{tests[`${name}: 实际结果为:${actual}:期望结果为: ${expected}`]=actual !==expected};
assertEqual('[验证获取token的有效时间为7200]',expires_in,7200);
assertNotEqual('[验证获取token的有效时间不为7300]',expires_in,7300);
var s='var a =10 ; var b =20';
eval(s);
tests[a+b] = true;
var commmon_function_equal = 'var assertEqual=(name,actual,expected)=>{tests[`${name}: 实际结果为: ${actual}: 期望结果为: ${expected}`] = actual===expected};';
var common_function_notequal = 'var assertNotEqual=(name,actual,expected)=>{tests[`${name}: 实际结果为:${actual}:期望结果为: ${expected}`]=actual !==expected};';
二、newman
mewman是为postman而生没专门用来运行postman编写好的脚本,是要newman,你可以很方便的用命名行来执行postman collections
1、newman的安装:
1、先下载Node.js,自行百度
2、安装成功后CMD输入node,如果没有报错二是显示版本号则说明安装成功

3、安装newman:CMD输入npm install -g newman,待命令行运行完毕后 newman -v检查是否已经安装成功,安装成功会显示版本号

2、newman的使用

1、桌面新建文件夹(规范化) env:存储环境变量配置 scripts:存储导出的postman脚本 testsdata:存储测试数据 reports:存储测试报告

2、新建新的收集器

3、导出收集器放入上面文件夹scripts目录下

4、通过命令行的方式运行这个脚本:需要进入这个文件夹中输入 newman run +脚本的全名,值得注意的是我们在导出脚本之前记得先保存再导出,我们也可以通过 newman run +脚本的分享链接运行脚本


对于指定的环境文件路径,编辑请求环境变量并设置环境编辑并下载环境变量的配置,需要保存至env文件中,再运行脚本



全局变量与环境变量设置一样,下载值env中,注意需要重新导出执行的脚本

迭代及运行指定的文件夹,百度参数化文件为例


生成测试报告、第一次生成测试报告会报错,再运行一次就好了

五、postman公共函数及newman运行与生成测试报告的更多相关文章
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...
- Postman高级应用——流程控制、调试、公共函数、外部数据文件
postman客户端下载地址:https://www.getpostman.com/apps 目录 流程控制 调试 公共函数 外部数据文件 流程控制 流程控制简言之就是设置接口的执行顺序,流程控制只有 ...
- postman定义公共函数
对于postman定义公共函数,相信很多小伙伴并不是很了解,下面给大家带来了一点福利,一起来看看吧.1.判断是否超时(assertNotTimeout)
- postman常用公共函数
常用公共函数: 1).判断是否超时(assertNotTimeout):var hasResponse=postman.getResponseHeader('Content-Type')?true:f ...
- Linux Shell系列教程之(十五) Shell函数简介
本文是Linux Shell系列教程的第(十五)篇,更多Linux Shell教程请看:Linux Shell系列教程 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高 ...
- phpcms公共函数库 总结
* global.func.php 公共函数库 /** * 返回经addslashes处理过的字符串或数组 * @param $string 需要处理的字符串或数组 * @return mixed ...
- postman(八):使用newman来执行postman脚本
通过之前的了解,我们知道postman是基于javascript语言编写的,而导出的json格式的postman脚本也无法直接在服务器运行,它需要在newman中执行(可以把newman看做postm ...
- postman自定义函数实现 时间函数
一:主要内容 postman环境变量方式封装格式化日期函数:yyyy-MM-dd HH:mm:ss postman利用moment模块实现格式化日期函数:yyyy-MM-dd HH:mm:ss 二:p ...
- ThinkPHP3自动加载公共函数文件
7d 根目录 ├─Application 应用目录 │ ├─Common 公共模块 │ │ ├─Common 公共函数文件目录 │ │ │ ├─index.html │ │ ├─Config 配置文件 ...
随机推荐
- 获取执行计划之Autotrace
Autotrace 简介 AUTOTRACE是一项SQL*Plus功能,自动跟踪为SQL语句生成一个执行计划并且提供与该语句的处理有关的统计. AUTOTRACE的好处是您不必设置跟踪文件的格式,并且 ...
- Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(二)
在上一篇博文中,主要是讲了InfluxDB的配置,博文链接:https://www.cnblogs.com/hong-fithing/p/14453695.html,今天来分享下Jmeter的配置. ...
- [Fundamental of Power Electronics]-PART I-2.稳态变换器原理分析-2.4 Cuk变换器实例
2.4 Cuk 变换器 作为第二个示例,考虑图2.20(a)的变换器.该变换器执行类似于降压-升压变换器的直流转换功能:它可以增加或减小直流电压的幅值,并且可以反转极性.使用晶体管和二极管的实际实现如 ...
- Java字节流和字符流,是时候总结一下IO流了
目录 从接收输入值说起 字节流读取 字符流读取 Scanner 读取 什么是 IO 流 字节流和字符流 字节流 字节输入流 字节输出流 缓冲流的原理 字符流 字符输入流 字符输出流 为什么字符流需要 ...
- 以Aliyun体验机为例,从零搭建LNMPR环境(下)
使用云服务器搭建 Web 运行环境,尤其是搭建常见的 LNMPR(Linux+Nginx+MySQL+PHP+Redis) 环境,对于开发人员是必备的职场基本技能之一.在这里,借着搭建我的" ...
- UML相关汇总
类图 类图是UML最常用的图之一,用于描述面向对象程序设计中,类.接口等结构之间的关系,如图 类图中涉及到以下几种类型的对象 UMLClass 如图中Class1,代表类 UMLOperation 如 ...
- Kafka核心技术与实战,分布式的高性能消息引擎服务
Kafka是LinkedIn开发并开源的一套分布式的高性能消息引擎服务,是大数据时代数据管道技术的首选. 如今的Kafka集消息系统.存储系统和流式处理平台于一身,并作为连接着各种业务前台和数据后台的 ...
- antd+react项目迁移vite的解决方案
antd+react+webpack往往是以react技术栈为主的前端项目的标准组合,三者都有成熟的生态和稳定的表现,但随着前端圈的技术不断革新,号称下一代构建平台vite2的发布,webpack似乎 ...
- Java实现操作系统中四种动态内存分配算法:BF+NF+WF+FF
1 概述 本文是利用Java实现操作系统中的四种动态内存分配方式 ,分别是: BF NF WF FF 分两部分,第一部分是介绍四种分配方式的概念以及例子,第二部分是代码实现以及讲解. 2 四种分配方式 ...
- JMeter发送get请求并分析返回结果
在实际工作的过程中,我们通常需要模拟接口,来进行接口测试,我们可以通过JMeter.postman等多种工具来进行接口测试,但是工具的如何使用对于我们来说并不是最重要的部分,最重要的是设计接口测试用例 ...