上次的例子中,我们request url里面的主机地址我们都是用的localhost
,表示本机,因为我们的服务器程序就运行在本机上。而实际的测试过程中,服务器地址往往并非是在本机上的。为了能适应各种测试环境,我们通常要使用变量
7.4.1什么是Postman中的变量
和其他变成语言一样,Postman中的变量就是一个字符串标识,用来对应一个值(在Postman中通常是一个字符串)。如果Postman的API中多处使用某个字符串的时候,我们可以使用变量代表它。这样另外一个测试环境中该值需要修改,我们只要修改这个变量的定义一个地方就可以了。
7.4.2 Postman 环境里面的变量
Postman有个概念叫环境,一个环境里面可以配置多个变量。这些变量通畅是针对某个测试环境而言的。比如服务器地址,端口号等。如果我们实际有多套测试环境(实验室中有多态测试服务器,作为测试环境),可以为这些不同的测试环境,设置相应的Postman环境。这样我们从一个环境切换到另一个环境的时候,只需要选择不同的Postman环境就可以了。当然,我们Postman API中需要使用这些环境里面设置的变量,这样环境切换后,就自动使用新的环境中的变量的值了。
那我们怎么定义不同的环境。怎么定义环境中的变量,又怎么样API使用环境变量的的变量呢?举个例子,我们如果搭了两套测试环境,里面各自运行了我们的教学管理系统。一台在本机上,一台在实验室里面,ip地址为192.168.0.100,我们可以创建两套Postman环境,里面都设置一个名为server的变量。
在Postman中创建环境变量如下,点击界面右上角的这个齿轮图标,选择Manage Environments
在弹出的对话框中,点击Add按钮。在如下所示的对话框中填入环境名称,和这个环境中所包含的变量。server表示API服务器的主机名或者IP地址
这里面有两个值,我们实际上使用的是当前值,这个初始值是当你和主源共享的时候(我们之前讲过Postman可以分享给其他的成员),分享的时候它使用的初始值。创建完成后,点击右下角Add按钮,确定添加,这样一套环境就创建了。我们如法炮制,在创建一套环境对应实验室的那台服务器,如下所示
这样我们就有了两套环境,一套叫local,另一套叫sever1
现在我们需要到我们的Postman API请求中,将所有请求的url中的主机名,替换为变量名为server。
我们目前开发了4个API,全部需要替换。
替换成什么样子呢?像下面这样
就是讲原来的localhost
替换为{{server}}
。这里面用双花括号将变量名括起来。双花括号就表示里面是一个变量。当我们进行测试的时候。如果我们现在使用本机的API服务,就在这里选择local
环境,
当我们选择完环境之后,把鼠标放在变量名的上面,他就会显示当前环境变量里面的值,主要看CURRENT
如果是使用的实验室的那台机器,就选择server1环境。Postman会使用不同环境里面的变量对应的值。试试看,点击发送 按钮,是不是一样可以发送请求?
7.4.3 Postman 全局里面的变量
有的时候,有些变量,我们可能并不想配置到很多套环境里面。因为基本上这就是一个固定的值,要修改的话,所有的环境里面都需要修改。比如,我们要添加的课程信息。
{
"name":"初中化学",
"desc":"初中化学课程",
"display_idx":"4"
}
这时候我们可以创建一个全局变量。全局变量和我们选择的环境无关。点击界面右上角的这个齿轮图标,选择Manage Environments
在弹出对话框中,点击Globals
按钮,如下所示
然后加入全局变量名course_add其内容如下所示
然后我们在打开添加课程的API请求,修改其内容如下:
这样,就将data参数的值用变量取代了。试试看,点击发送按钮,是不是一样可以发送请求。