Postman系列四:Postman接口请求设置环境变量和全局变量、测试沙箱和测试断言、测试集运行与导入数据文件
一:Postman中接口请求设置环境变量和全局变量
全局变量和环境变量可以通过Pre-request Script和Tests设置,会在下面测试沙箱和测试断言中讲到。
全局变量的设置:官网参考https://learning.getpostman.com/docs/postman/environments_and_globals/manage_globals/
在这里我选择的是天气预报接口(接口文档官方一直在更新,所以看到跟我说的有啥不同,不要见怪),具体操作如下
1.在浏览器上打开天气预报链接,查看接口文档,获取请求方法和参数,之后复制url,打开Postman新建Request,填入必要的信息发送请求查看结果。
2.在小眼睛右边的设置里面添加全局变量名称和值,变量名称注意规则,不要取汉字啥的。之后在用参数的时候使用{{参数名}}双大括号括起来,在写的过程中postman会自动出来补全让你选择,url后面跟的参数也会自动修改。全局变量可以修改值,也可以删除,还可以下载成json格式的。
环境变量的设置:官网参考https://learning.getpostman.com/docs/postman/environments_and_globals/manage_environments/
依然拿天气预报接口举例(由于之前我在测试的过程中添加了环境变量,找了好长时间,才知道是有删除的,不过不像以前的版本那么明显),操作如下图所示:
一组环境可以添加多个变量值,变量值之间不能重复,环境可以删除、修改、分享、复制、下载、导入等
全局变量和环境变量的区别:全局变量提供了一组变量,这些变量在所有范围内始终可用。您可以有多个环境,但是一次只能有一个环境在一组全局变量中处于活动状态,这些变量总是可用的。环境是一组键值对。键代表变量的名称。你可以使用数据编辑器修改环境的键和值组件。如果你选择了一组环境,环境里面有跟全局变量相同的变量,值会取环境变量的值,就是环境变量优先级大于全局变量。
二:Postman中测试沙箱和测试断言实战
1.测试沙箱简介:
Postman沙箱(Sandbox)是一个JavaScript执行环境,当您为请求编写预请求脚本和测试脚本时,编写的代码在这个沙箱中进行。Postman测试沙箱其实就是结合了JS脚本完成测试中的功能,在请求发起前后实现部分测试操作。
测试沙箱常用功能:(1).Pre-request Script 在请求前,脚本设置前置操作如设置变量等。(2).Tests在请求后对状态码、响应头、响应正文等信息进行断言操作。
2测试断言简介:
一般来说我们需要对测试结果进行校验,判断结果是否符合我们的预期,也就是断言。这个测试断言属于测试沙箱功能的一部分。在接口测试中一般会根据响应状态码或者响应后的数据来进行断言。
3.常用的测试脚本(右边快捷中常用的测试语句,用到console.log()语句的时候,在发送之前先打开控制台,快捷键是crtl+Alt+C)
(1).Pre-request Script中常用的测试脚本有设置环境和全局变量,获取环境和全局变量等。在测试沙箱中,接口请求如果set了环境变量,则优先级大于send上方选中的一组环境。
(2).Tests中用到的测试脚本较多。常用的如下图所示:
对于复杂数组的取值看下图操作:
三:Postman中测试集运行和导入数据文件
在前面的时候,我们提到了测试集的一些内容,测试集的创建方法:1.直接将request保存在Collections中;2.先创建Collections,然后添加request;3.导入别人给的Collections文件。Collections可以直接运行所有的request,也可以用csv或者json文件进行导入多条测试数据。Collections runner运行在一个独立的面板中,可以设置环境,运行次数,从文件获取变量等。
csv文件可以通过excel文件进行转换,转换完之后可以通过notepad++修改编码格式为:utf-8,否则会在运行测试集的过程中选择csv文件会出现乱码,文件中第一行必须是接口请求使用的变量。在测试沙箱中,参数的获取用 data.name(常用写法)或者 data['name']的形式来进行读取。如果测试集选择了csv文件或者json文件运行,不需要再选择一组环境值。
Postman系列四:Postman接口请求设置环境变量和全局变量、测试沙箱和测试断言、测试集运行与导入数据文件的更多相关文章
- postman接口测试之设置全局变量和设置环境变量和全局变量
一.概念 1.环境变量 就是接口的域名或IP地址. 2.全局变量 就是一个作用域为整个postman的变量. 二.使用场景 1.环境变量 在测试的过程中,经常会频繁切换环境,本地环境验证.发布到测试环 ...
- postman设置环境变量、全局变量
讲postman环境变量设置之前,先讲一个小插曲,环境变量.全局变量的区别在于Globals,只能用一组,而Environmen可以设置多组,所以我更喜欢设置环境变量 1.环境变量-Environme ...
- 【原】postman设置环境变量和全局变量
一:设置环境变量 1. postman通过变换环境变量来快速变换环境地址. 2. 现可以将localhost:80信息添加至环境 3. 点击确定后,在首页可看到已添加的环境变量信息及设置的变量信息: ...
- postman设置环境变量与全局变量
1.环境变量可以设置多组 设置环境变量 编辑环境变量 2.全局变量只能设置一组 可以在Pre-request Script和Tests中设置全局变量 如:pm.globals.set("na ...
- Mac 可设置环境变量的位置、查看和添加PATH环境变量
Mac 启动加载文件位置(可设置环境变量) ------------------------------------------------------- (1)首先要知道你使用的Mac OS X是什 ...
- Mac可设置环境变量的位置、查看和添加PATH环境变量
Mac 启动加载文件位置(可设置环境变量) 首先要知道你使用的 Mac OS X 是什么样的 Shell,使用命令 echo $SHELL 如果输出的是:csh 或者是 tcsh,那么你用的就是 C ...
- Ubuntu中设置环境变量详解
1, 为单一用户:.bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.打开用户主目录下的.bashrc,在这个文件中加入export PA ...
- postman接口自动化,环境变量的用法详解(附postman常用的方法)
在实现接口自动测试的时候,会经常遇到接口参数依赖的问题,例如调取登录接口的时候,需要先获取登录的key值,而每次请求返回的key值又是不一样的,那么这种情况下,要实现接口的自动化,就要用到postma ...
- 【转载自JHBlogs的博客】postman接口自动化,环境变量的用法详解(附postman常用的方法)
在实现接口自动测试的时候,会经常遇到接口参数依赖的问题,例如调取登录接口的时候,需要先获取登录的key值,而每次请求返回的key值又是不一样的,那么这种情况下,要实现接口的自动化,就要用到postma ...
随机推荐
- Linux下TCP连接断开后不释放的解决办法
问题:在开发测试时发现断开与服务器端口后再次连接时拒绝连接. 分析:服务器上查看端口占用情况,假设端口为8888. netstat -anp |grep 8888 发现端口8888端口显示被占用(ip ...
- linux添加用户adduser出现 useradd:cannot lock /etc/passwd; try again
找一下有个叫/etc/passwd.lock的文件,找到,给它用root删掉就好了,可能是上次使用到这个文件没有正常关闭.具体操作:切换到root用户,用cd etc到etc目录下,rm .pwd.l ...
- favicon.ico设置,HtmlWebpackPlugin插件配置多页面等
- SSM框架--Spring+SpringMVC+Mybatis (IDEA)搭建
使用idea创建一个maven项目( 这里演示 的是 web项目) 点击 Finish 然后开始配置 pom.xml文件(添加各种依赖jar包) 先去找 spring 所需的 jar包 jar包中心仓 ...
- hdu2643&&hdu2512——斯特林数&&贝尔数
hdu2643 题意:$n$ 个人的排名情况数($n \leq 100$) 分析:考虑 $n$ 个有区别的球放到 $m$ 个有区别的盒子里.无空盒的方案数为 $m!\cdot S(n, m)$. 这题 ...
- 定时任务 Scheduled quartz
在项目应用中往往会用到任务定时器的功能,比如某某时间,或者多少多少秒然后执行某个骚操作等.spring 支持多种定时任务的实现,其中不乏自身提供的定时器.接下来介绍一下使用 spring 的定时器和使 ...
- NTSTATUS代码摘录
00000000 STATUS_SUCCESS00000000 STATUS_WAIT_000000001 STATUS_WAIT_100000002 STATUS_WAIT_200000003 ST ...
- Tomcat启动问题:严重[main] org.apache.catalina.core.AprLifecycleListener.init An incompatible version...
今天观察tomcat启动日志,有一些以前没注意到的信息: 严重 [main] org.apache.catalina.core.AprLifecycleListener.init An incompa ...
- DML 语言
数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集. 以INSERT.UPDATE.DELETE三种指令为核心,分别 ...
- required string parameter 'XXX'is not present 的几种情况
required string parameter 'XXX'is not present 的几种情况 情况一:原因是由于头文件类型不对,可以在MediaType中选择合适的类型,例如GET和POST ...