postman接口测试实战

3天精通Postman接口测试,全套项目实战教程!!

1:postman安装与基本使用

**  现在postman分为两个版本:postman native app和postman chorme app两个版本, chorme app是安装在chrome浏览器的一个插件,**
**  目前postman chorme app已经停止维护,最好使用postman native app版本,**
**  postman下载地址:https://www.postman.com/downloads/**

**  postman右上角后面转圈圈的是一个刷新按键**

**  发送请求:**
**  网站:http://www.tianqiapi.com/**
**  案例:https://www.tianqiapi.com/api 天气api网站--查询天气的接口**
**  1:获取接口的基本的信息:http://www.tianqiapi.com/index/doc---api接口文档**

**  接口测试时候要做的就是基于接口文档上面接口的请求填写一系列参数验证返回数据是否和接口预期功能是一致的,是否得到了正确的一个响应**

**  进行接口测试的时候,需要简单按照必填选项进行填写以外,接口参数还有一些非必填的参数,**

**    接口测试的时候选择性对接口参数进行设置和组合从而完成接口测试用例的设计**

2:postman j界面:

**  params填写参数**
**  authorization:选择接口鉴权的方式**
**  headrs:添加接口请求头**
**  body:接口参数填写--完成参数携带的各种方式**
**  pre-request script:可以在接口发起请求之前执行一些js脚本--**
**  tests:接口请求完成之后可以去执行的脚本---通常进行一个断言的操作**

**  上面就是接口请求面板所提供的一系列的功能,**

**  下面就是postman接口请求得到的返回内容:**
**    body:返回体**
**    cookies:**
**    headers:返回头**
**    test result:编写了tests脚本的话,这里会显示执行结果的一个记录,是pass还是fail**

3:接口测试实战

**  什么是接口测试?**

**    接口测试就是针对软件对外提供服务的接口的输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能与接口描述文档的一致性。**

**  为什么做接口测试**

**    接口测试通常能够对系统测试得更为彻底,更好地保障品质量,同时越早越底层的发现问题,修改和维护的代价也越小。**

**    接口测试一般在功能测试之前,在集成测试的阶段就可以执行了,由于介入时间更早,更能保障整个产品的质量,**

**    接口测试进行验证由于是对底层进行校验的,也能更好的保证产品的质量**

**  如何做接口测试**

**    拿到接口文档,根据接口文档设计用例,调用接口,验证结果**

**    postman提供了如果调用接口来验证结果的过程**

**  第二个接口测试实战百度ip查询接口从抓包到测试**

4:接口测试流程

**  1:获取接口信息**

**    通过接口文档和抓包来获取接口的基本调用方式和返回**

**    使用postman模拟一下发包看一下请求和返回的接口的相应信息,得到接口信息进行简单调试之后需要设计接口测试用例**

**  2:接口测试用例设计  基于一系列的参数列表设计接口测试用例**

**    根据获取到的接口信息,按照接口测试用例设计方法,设计参数和预期返回结果**

**    比如说百度查询ip地址的例子:修改查询的ip地址所在的位置,然后再发起请求验证功能是否通过,改变query这个参数的值能够查询到对应ip地址所在的地址,**

**    如果能够准确对应说明:query参数进行修改之后能够按照接口所指定的功能通过ip地址来获取ip地址的物理位置来达到这样的一个功能,--基本测试**

**    接口测试用例设计的时候可能有各种各样方向进行测试,比如说一系列的参数,某一些可能是必填,某一些可能是非必填的,我们可以一个个尝试去掉勾选**

**    去掉勾选之后会发现url里面东西越来越少,假如只传两个参数的再去进行发送还是能拿到对应的信息,再去掉resource_id,这是接口测试过程中经常用到的**

**    一种测试用例设计设计方式:是否所有参数都是必填的,然后对他去进行排列和组合  组合所有的参数,通过不同的传值去验证返回是否符合我的预期的**

**    这个例子下resource_id是必须的参数,必须填写resource_id才能得到相应的信息,如果没有填写的话返回:"msg": "参数错误",**

**    需要接口文档才能设计**

**    测试时候还会进行一些测试的设计:query当中我们现在填写的正常的ip地址**

**      等价类,边界值的用例设计设计,随便填写其他不符合ip地址参数来进行查询,**

**      得到的信息data里面不再包含有数据,因为我们传的参数ip地址是有问题的,**

**      这种情况下接口功能覆盖了得到和设计的异常的情况,输入错误的ip地址格式不会得到对应的请求**

**      百度的这个接口.111.111.111.111这种格式前面带上一个点,这种错误的ip地址格式也能正确查询到信息,**

**      进行测试的时候根据所有的接口传递的参数,来通过等价类,边界值的进行基本的测试用例设计,**

**      得到一大堆测试用例,之后再对他进行基本的测试操作**

**  3:接口发包**

**    使用工具或者编程向接口传递参数**

**  4:返回信息验证**

**    获取接口返回的结果,进行解析和验证**

**    实例:百度查询ip地址的例子:**

**    百度查询ip地址的功能,网页上进行输入,点击搜索,可以查询某个ip地址来源什么地方,**

**    想要进行测试这样一个接口,提供功能的由百度给我们提供的接口,**
**    我们发起请求,将传递的ip地址的参数传递给百度服务器后能得到相应的返回值,并且呈现在我们整个页面上面,**

**    1:先进行抓包流程 chrome浏览器------>f12开发者模式------>network+all------>进行抓包**

**    2:gif图片的包不用管,单独查看 类型为script的包  代表为js脚本请求的一个数据包**

**   general:**
**        Request URL: 这是我们请求的接口它在服务器(互联网)上面的地址**
**        Request Method: GET 这是请求方式,**
**        Status Code: 200 OK 这次请求他的hap状态码,200代表请求成功的,**
**        Remote Address: 182.61.200.6:443 访问的远程服务的ip地址**
**        Referrer Policy: unsafe-url 引用的策略,是不安全的url方式进行引用的**

**      request headers(发包请求过程当中需要关注到request headers当中的一些信息,头信息,和需要填写的一系列参数query string parameters)**

**      query string parameters--需要填写的一系列参数,**
**        query: 12.12.12.12 填写的ip地址在参数当中通过query带进去的,其他的参数暂时不清楚什么作用**
**        co:**
**        resource_id: 5809**
**        t: 1604732157639**
**        ie: utf8**
**        oe: gbk**
**        cb: op_aladdin_callback**
**        format: json**
**        tn: baidu**
**        cb: jQuery110205476734909455026_1604731835803**
**        _: 1604731835810**

**    3:拿到接口的位置,接口的地址url,打开postman,url填写进去**

**      postman中创建测试集  也就是一个存放请求信息的文件夹,  管理创建好的一系列测试接口的请求**

**    4:接口测试进行操作的时候,接口发包和返回信息的验证postman已经帮我门完成了。**

**      它能完成接口的请求并且将我们的返回信息显示在postman工具上面**

**      接口测试后面两步接口发包+返回信息验证在进行操作的过程当中直接通过postman工具就能完成,**

**      前面的两步 1:获取接口信息+2:接口测试用例设计**

**      需要自己进行测试方面的设计1:获取接口信息(发包也好接口文档也好)**

**      一般情况下以接口文档为准,需要一个标准,实在没有接口文档,测试时候只能自己手动去尝试,**

**      使用postman一个个参数去试,看看这些填写的参数是否是必须的,**

**      最好还是接口文档,基于接口信息设计一系列的测试用例来进行操作,一条条完成测试用例当中的执行**

**      验证最终的返回结果是否符合预期的,这就是接口测试的基本流程**

**    回顾刚的:获取抓包信息一直到通过postman拿到返回信息,通过postman进行验证的流程中:**

**    1:抓包时候拿到接口的请求方式,抓取了一个接口发包的数据包。进行抓包时候获取到的信息最重要的四大要素(postman测试的时候四大要素)**

**      1:http执行的方法:get方法**

**      2:请求接口的url,请求是get方法的话,url当中参数自动完成拼接,拼接到url地址上面去,这样的操作(url是很重要的信息,获取接口信息)**

**      3: 请求头信息,抓包工具request headers查看到,postman上可以加上头域,postman操作的时候默认会加上头域,**

**        需要看接口是否加上头进行校验,有些接口不会对头信息进行校验的**

**        postman可以在header里面加头的信息,键值对形式,前面填写头域的名字:referer,后面+值**
**      4:参数(接口请求过程带上的参数)get方法直接带到了url当中,也可以再postman,params菜单里面自己填写,**

**        一个个参数自己填写,因此在发送过程中关注的是上面的1.2.3.4要素**

**    接口收发包的过程:类似邮快递收到回件**

**      简单理解,接口收发包的过程来苏通过快读公司邮寄快递,需要知道对方的地址(url),选择快递公司(http方法)**

**      ,填写快递单(头域信息),包装快递物品(发送请求体参数)**

**    postman接口请求过程(4大要素)**

**      填写接口url(获取对方地址)--设置http方法(选择快递公司)---设置请求头域(填写快递单)---填写请求参数(邮寄物品打包)**

**    postman接口响应验证(3大要素)**

**      http状态码(是否成收到回件)--收到接口响应(获取返回)--检查返回头域(查看快递单)--查看返回主体内容(拆快递查看内容)**

**    测试过程中验证返回数据查看最多的就是返回主体内容,关注的重点,**

**      也可能查看响应体的状态码, time:请求这一次(包括发送返回)整个时长是多少(性能测试关注)**

**      size:响应数据到底有多大也需要关注, 进行验证的时候整个接口测试的流程:如上 1:填写好接口请求(4大要素首先需要填写)**

**      拿到了接口的返回信息之后:第一个需要查看body(返回体)当中的具体的内容,一般在postman pretty查看(美化输出)**

5:postman上面查看响应数据:

**  1:pretty 美化输出
  2:raw 表示原始格式
  3:preview 预览的格式,在我们的浏览器上以什么情况展示,这里也是什么情况和格式呈现
  4:test result: 和请求的test脚本设置想关的,---结果断言的操作**

**  返回体通常还会查看的内容:cookies(postman工具单独显示,检查cookie也是有的),**

**                headers(得到的postman的 header在接口信息当中和chrome浏览器f12抓到的response header一模一样)**

**  url:访问的接口所在的互联网上的地址信息**

**  请求头域:根据接口文档的描述有哪些请求是需要加请求头域设置请求头域**

**  请求参数:真正发送给服务器的信息,通过请求参数来传递,请求内容是什么,发给服务器,有些接口可能是传文件的,传递文件**

**  服务器收到请求后,打开进行校验和处理,回给一个包裹,信息发送给你,通过http状态码,来确定是否依据成功了,**

**    Status Code: 200 OK,200表示依据成功了发起这次请求,这次沟通已经ok了的,然后接下来回会受到接口的响应,**

**    接口的响应:在chrome浏览器,reponse这一栏查看响应信息,这里查询的信息和postman里面查询的内容是一模一样的**

**    得到的返回信息里面拿到的内容,:通过返回信息:首先检查一下返回的主体内容是否正确的,基于邮寄过去的的信息应该返回一个什么样的数据,**

**    检查返回主题是否正确,同时也会检查一下返回头域信息是不是正确**

6:postman执行的操作

**  get请求里面url,?后面就是携带的一对对参数,键值对的形式,每组参数之间用&--and连接起来**

**  以上的实例就是:**

**    接口测试过程中需要关注的几大要素:接口请求:url,http方法,请求头域请求参数 返回信息:http状态码,返回头域,返回主体内容(响应正文)**

**    这样的流程就是接口测试的基本收发包过程,基于抓到的接口信息以及在进行测试的时候设计的测试用例来确定**

**    我输入的请求参数和我拿到的返回结果是否是对应起来的是否是一个正确的结果\**

7:get接口操作  头域操作

**  有些接口操作必须带上请求头域(需要头校验成功才会返回正常数据)**

**  案例实战:腾讯课堂访问一个课程,都会查看一个课程的评论,找到一个公开课的课程,看评论信息**

**  chrome开发者模式可以过滤包:默认选择的all,所有的请求都会在network显示, 我们可以选择自己需要显示的请求,**

**    XHR:这个格式表示XMLHttpRequest这样的请求格式,有的接口使用的这个这个格式**
**    js:百度的接口用到的js脚本来进行发送我们选择js(按下ctrl再次点击可以选择多个格式)**
**    ws**
**    mainifest**
**    other**

**    一般抓包选择上面的五个项目,中间的几项如:css,img,media,font,doc这几项都是一些图片,媒体,字体等呈现方面的一些内容,**

**    所以暂时不用去管,css(样式)**

**  从chrome抓包界面接口名称能获取到一些信息,使用chrome查看,response查看返回信息,preview显示返回信息完美打印**

**    chrome抓包页面的接口信息里面:course_comment+stat:这是一个课程评价的状态,**

**    course_comment+list这是我想要的课程评论整体信息---点击进去查看确认一下是不是我们想要的界面**

**    Response返回的是接口请求的整体信息,请求返回主体内容**

**    preview把返回的信息数据按照json架构进行解析,列出所有信息**

8:想进行测试的话获取4大要素:

**  Chrome------>headers**------>general里面获取:

**    url:https://ke.qq.com/cgi-bin/comment_new/course_comment_list?cid=315793\&count=10\&page=0\&filter_rating=0\&bkn=317840691\&r=0.29528542135921576**

**    url当中get方法请求以及有了参数的信息,不需要加参数了**

**    方法是get请求**

**    headers:头域里面是不是需要传递数据**

**      chrome的headers页面-request headers :里面有16个头域,需要那个头域,一般测试时候以接口文档为准,**

**      接口文档会写明进行接口请求的过程当中需要那个头域来进行测试**
**      这个腾讯课堂的评论接口需要的是f12抓包工具里面的抓到的referer这个头域: https://ke.qq.com/course/396274**
**      referer这个头域一般用来指定我们这一次请求它的来源是从哪来的,所有+referer头域会防止盗链,**

**      避免从不是腾讯课堂的公开课课程来的其他网站也能获取到评论信息**
**      防止爬虫,带上 referer**

**    进行操作的时候头域根据接口文档当中的描述进行填写,**

9:post接口实战,-文件上传与json请求

**  get请求的最大的特征:并不需要填写四大要素其中的参数这一栏,所有的参数都自动写在url当中,我们只要编辑参数的值,**

**  url基本结构,:https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=113.225.112.115\&resource_id=5809**

**    https:表示使用的协议,**
**    sp0.baidu.com表示使用的服务器它自己的域名,也就是用到百度这个服务器,**

**      服务器上面会存储一系列的资源,用到的这些资源,请求的地址来源从这个服务器下面**
**      去找到对应的我们需要去请求的api.php这样一个接口,他是存在放在这个文件夹下面的api.php这样的一个资源路径的位置,**
**    ?:?前面表示是接口请求的地址,?后面表示相应的参数,相应参数格式**
**    这就是get这样的一个http接口的url的特征**

**  post方法请求:一般注意http post在接口传递参数的格式了:表单,json,xml还是什么**

**    实例:电商的案例网站:http://www.testingedu.com.cn:8000/**
**        网站进行抓包的时候遇到的最多的post接口都是登录这样一个功能**

**    shift +f5**

**    抓包获取login这条接口信息:**

**      post请求**
**      url**
**      request headers :**
**        Content-Type: application/x-www-form-urlencoded; charset=UTF-8 :  文本格式,参数信息作为表单进行提交**

**      query string parameters :这是请求传递的信息,在url带上的信息,**
**          m=Home&c=User&a=do_login&t=0.818119482183346 home首页 User&a=do_login进行用户登录操作**

**      form data :填写的用户名,密码以及验证码在这里面:这个数据和application/x-www-form-urlencode这个表单格式相关的,**

**  chrome抓包知道接口以上的信息:对应postman如何进行参数传递:按照4大要素的操作来进行**

**   1:创建接口**
**    2:post请求**
**    3:url地址:http://www.testingedu.com.cn:8000/index.php?m=Home\&c=User\&a=do_login\&t=0.818119482183346**
**    4:填写form data请求体的参数--postman body当中填写,按照Content-Type来进行选择**
**      none:没有任何请求体的参数进行传递**
**      form-data 对应Content-Type:multipart/form-data 类型,既可以发送键值对也可以进行文件参数传递**
**      application/x-www-form-urlencoded:对应x-www-form-urlencoded,body选择了这个信息会在headers自动添加Content-Type对应这个格式**

**      选择application/x-www-form-urlencoded格式,然后把三个参数填写进去**
**        username:1026680061@qq.com**
**        password:ywt123456**
**        verify_code:1**

**  网页登录的时候,在chrome浏览器f12里面的response里面查看不到的,这一次处理流程当中浏览器会自动完成登录之后的一个跳转操作,跳转到一个**
**  用户个人信息界面,所以返回信息在浏览器上面被隐藏起来了,想要看到更加详细的信息可以时候fiddle抓包工具抓包**
**  一般来说自己使用工具来进行调用能够获取得到返回信息,根据接口文档得描述来进行获取,**

**  post接口进行参数传递的时候,参数在请求体当中它携带的方式(什么格式传递)和Content-Type头域密切相关的,**

**  上面得接口返回一个:{"status":1,"msg":"\u767b\u9646\u6210\u529f",信息,**
**    \u767b\u9646\u6210\u529f这个是unicode编码,百度进行unicode转码成中文:"登录成功"得意思 说明这次接口请求成功的**

**  上面四要素全部传递接口请求ok**
**    相应得如果不传递请求体里面的三个参数发送请求,结果请求失败:**

10:数据格式form-data 的使用(post请求+图片上传接口)

电商的案例:个人信息--菜单有个上传头像的按钮,上传的操作用到另外的post方法

上传图片的时候有个images.html的请求被抓到了,信息如下

**  url:http://www.testingedu.com.cn:8000/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html**
**  请求方式:post**
**  Content-Type: multipart/form-data; :这个格式既可以发送键值对,也能传递文件,这个地方调用的接口就是上传文件图片的接口,文件进行上传**
**  form data 传递的接口请求体内容**
**    id: WU_FILE_0**
**    name: QQ图片20201107230654.png**
**    type: image/png**
**    lastModifiedDate: Sat Nov 07 2020 23:06:52 GMT+0800 (中国标准时间)**
**    size: 29490**
**    file: (binary) binary表示二进制文件**

**  上传文件的接口:上传文件的内容,其实在进行提交的过程只去上传了一个文件,并没有传递其他的信息,**

**          所以其实多余的信息可以不要的,只需要一个文件,也可以把这个内容加上**
**          name: QQ图片20201107230654.png 拿到的内容是文件的名字,可以加上名字内容进行操作**

**  操作的时候进行上传的是一个文件:**
**    所以postman发送请求的时候:body--选择form-data**
**    key可以选择类型,text和file,这里上传文件选择file,text传文本形式的键值对,一种是文件file来进行传递**
**    这里文件键的名字叫file ,后面选择上传图像文件的路径**
**    再传递一个name: QQ图片20201107230654.png---键值对的形式 -选择text形式传递参数键值对**

**  上面请求就构建完成,header不设置也可以,因为选择了form-data, postman传递数据默认知道multipart/form-data这种格式的请求,**

**  post接口请求的时候一定要注意:传递的接口内容它的格式以及大家使用的接口头域当中Content-Type是个什么样的格式进行指定,**

**    决定了postman body 当中选择那个方式来进行操作**

**  x-www-form-urlencoded请求数据格式,这个方式内容当中包含一个urlencoded,**

**    表示会将我们再body位置填写的内容携带到url当中去进行操作,虽然是不可视的,**

**    也没有看到url里面多出来这些参数,但是其实在进行操作的时候会将url编码进行操作的,**

**    所有在请求这样的一些参数的时候可以把对应的参数填到url当中去**

**  body传递参数raw类型:使用原始的格式来进行操作,**

**    可以text方式来进行编辑:text进行操作使用form-data和x-www-form-urlencoded这两种形式进行操作就可以了,**

**    剩下的json,xml,这样的格式需要进行编辑选择raw进行操作**

11:post接口实战

**  实例:有云提供的新发债卷查询接口进行测试(post请求) ----这个**
**    接口地址:https://api.yonyoucloud.com/apis/pte/New_Issue_Bond_Information/New_Issue_Bond_Information**
**    接口申清描述地址:https://api.yonyoucloud.com/apilink/tempServicePages/b1277b7e-b1e3-445c-818a-cdcd457f298c_true.html**
**    使用的时候需要进行一个购买的操作---试用套餐才能得到 apicode:4a703fcb3a0b4ce0960051feee336147**

**  四要素:**
**    post方法**
**    url:https://api.yonyoucloud.com/apis/pte/New_Issue_Bond_Information/New_Issue_Bond_Information**
**    头域:**
**      Header参数设置**
**        验证方式   true      apicode**
**        apicode    true     086317d6eee3429fa8a29532a5006c3e**
**    参数设置**
**      参数名 必填 位置 类型 是否数组 描述 参数值**
**      bond_name false QueryParam string 否 债券简称**
**      size false QueryParam int 否 返回入库倒排序的债券条数,默认200条 200**

**      两个参数都不是必填,说明我们用到填写内容可以发起一次接口的请求了**

**    post请求:x-www-form-urlencoded这种形式会把body里的参数size和bond_name携带到url当中1去,虽然对我们来说不可见的,但其实悄悄咪咪会做这种事情**

**    所有可以把body里面的参数直接携带带url里面:写法如下:url里面拼接参数?size=2,size设置只显示两条,这样也是成功设置的**

**    url=https://api.yonyoucloud.com/apis/pte/New_Issue_Bond_Information/New_Issue_Bond_Information?size=2**

**    所以通常:x-www-form-urlencoded这样的传参方式如果偷懒的的话可以直接拼写到post的url当中进行参数的拼接**

12:post请求数据格式json 的使用实战:

**  页面post登录接口**
**  http://test.zhulogic.com/login ---这个接口也不可用**

**  需要填写一系列信息需要点击一个按钮来提交请求基本上都是试用的post请求,可以抓包看一下信息,**

**  这个接口不需要让它成功的登录,随便输入信息电话号码和验证码。然后抓包,现在请求失败查看信息**

**  四大要素:**
**    url=https://b.zhulogic.com/designer_api/account/login_quick_pc**
**    post请求**
**    headers :Content-Type: application/json;charset=UTF-8 ---json格式的**
**      请求参数:现在的是json参数,格式为{"":""} 以前传递的参数都是表单的,抓包都是a=1 b=2**
**      现在chrome浏览器抓包传递的数据是{phone: "18397500597", code: "21231213", messageType: 3, registration_type: 1, channel: "zhulogic",...}这种键值对的类型**
**      url里面没有携带任何参数,最下面request payload里面有需要带上的json格式的参数,**

**      键值对来形式来进行区分的传参方式,每个键都是双引号引起来然后冒号之后跟上值,**
**      不同键值对之间逗号进行分隔**

**      使用post这种方式进行传参的时候查看一下Content-Type里面指定的什么格式的数据,目前这个实战的接口是json**

**      postman指定body参数为json传参**
**    1:raw(原始的方式当中可以进行相应的选择,可以选择text文本格式,json格式js格式xml格式以及html格式各种格式都能选择进行传参)**
**      所以我们使用raw+指定json格式进行传参的操作**
**      进行传参的时候观察好Content-Type是什么格式,然后用到什么格式就在postman里面选择对应的body的传参格式来进行操作**

**    2:把传参从chrome抓包工具的 request payload里面复制出来粘贴到postman-body-raw-json的输入框里面去**
**      chrome里面复制出来的数据的键需要加双引号改写一下,因为抓包后从chrome里面复制出来的参数的键名没有带上引号,**

**      json字符串的格式每一个键的名字需要加双引号**

**  重点:json格式的键必须加上双引号,**

**    post接口使用数据的方式从body选择请求参数的传递格式,通过Content-Type来进行判断,**

**    去抓包获取到的头域信息里面requests headers当中的Content-Type他的格式**
**    也可也从接口文档里面查看Content-Type的格式,最好的就算抓包和接口文档相结合**
**    并且结合最下面请求体当中传参的内容他的一个方法---怎么样呈现的,按照下面的格式进行编写--对应选择postman--body当中传递的方式**
**    所以post方法的传参操作----细心留意Content-Type**

13:断言和变量

**  以前都是肉眼进行判断接口是否正常,但是需要使用postman断言来判断接口是否正常**
**  postman进阶功能:断言和变量完成接口测试过程当中的参数设置以及最后对接口的返回信息进行校验的流程**

**  一:postman变量的机制:使用postman用到的变量的机制如果对自己测试过程当中使用的这一些参数值进行设置的话可以这样的形式进行操作,使用变量的时候本来在**
**    一个接口里面测试的时候的参数 city的值是'北京'这样指定值来进行测试的,参数的值可以进行设置把他保存起来当我们需要使用的时候再来调用他,只需要告诉他**
**    你需要使用的是一个city城市的名称就可以了**

**  postman里面使用变量的时候用到两个花括号来进行变量的调用,参数里面写上两个{{ 后出现三个g开头的全局变量,global全局变量,**

**    可以使用的包括几个默认设置好的随机数guid(随机生成数),**
**    {{randomInt}}(随机生成的整数)和{{timestamp}}时间戳--这几种数据如果需要使用可以直接在这里进行选择,如果自己配置的话**
**    把需要用得变量名字取好叫cityname,在postman 输入参数栏填充好完整得空格之后-- {{cityname}},整个字体变成红色,**

**    代表使用了一个变量,一个cityname变量,如果前面有感叹号代表变量还没有被创建。**
**    创建变量:右上角设置按钮--添加一组环境变量使用add---环境变量使用的时候相当于把一系列数据进行了分组作为一套**

**    使用过程中得环境来进行操作,而全局变量globals是一个个变量单独**
**    设置下来后作为了整个我们postman所有得工程都能去使用得这样得一种变量,也就是他是可以跨所有得接口请求得,大家都能使的**
**    而环境变量你选择了用哪一套环境那么用的就是一套对应的环境**

**  添加全局变量:**
**    0:右上角设置按钮 1:点击globals按键 2:VARIABLE设置一个cityname**

**     3:INITIAL VALUE设置成海口 设置了初值,那么CURRENT VALUE当前值也变成了海口, 4:点击save保存环境变量**
**    现在在接口参数里面cityname这个变量不会感叹号了,可以使用了,现在cityname移动过来就会显示g**

**    ,因为我有全局变量cityname然后显示全局变量使用的内容是什么(湖南)现在就能直接进行发包查看结果了,得到的结果就会是湖南这个地方的天气信息**

**  添加环境变量**
**    1:百度接口的ip进行设置**
**      0:右上角设置按钮**

**      1:点击add按键添加环境变量**

**      2:VARIABLE设置iploc**

**      3:INITIAL VALUE 设置初值3.3.3.3**

**      4:设置environment name(百度ip环境)后点击add添加**
**      5:添加完成后就能看到一组环境变量**

**      6:在百度ip环境上加其他的,点击一下百度ip环境就行**

**      7:设置其他参数点击update就行 现在就百度ip环境里面更新完了**
**    里面有两条数据iploc=3.3.3.3 resource_id=6006**

**  修改百度ip接口里面params参数的值**

**    1:右上角显示 no environment,我们选择我们要使用的环境(百度ip环境)告诉它我们要使用这一组环境,**
**    2:参数值里面输入双括号 {{ 后下面出现 E开头的环境变量数据,g表示全局变量,我们这一套环境当中可以使用{{iploc}}**
**      所有大家需要使用百度ip环境的时候需要加上这一套**
**      现在传的参数就不是固定的了,而是类似一个变量如下:**
**      query        {{ipLoc}}**
**      resource_id      {{resource_id}}**
**    上面设置好后postman点击接口测试,就ok了**

**    如果一系列环境需要添加的话我们还可以再做一些添加**
**    点击add 操作如上:**
**    设置天气api环境:**
**    cityname 长沙**
**    然后点击添加,这时候就有两个环境变量**

**    如果对接口进行参数填写的时候右上角选错了环境,从天气api环境读取百度ip环境的变量的话是拿不到值的---再去send的话信息就会是参数错误**
**    记住:选择正确的环境变量才能进行操作, 对天气接口进行操作需要选择天气api环境**

**    ps:如果环境变量和全局变量重名,参数使用了变量的话,环境变量优先选择,(可以再选择变量的时候进行设置,参数输入框点击g开头的数据)**
**    当我们使用一套环境变量之后,高于全局变量优先级的,当选择了一套环境变量的时候他不会再去使用全局变量使用的这个变量了---**
**    环境变量的优先级高于全局变量的 而全局变量的好处在于所有的接口请求都能使用这一套全局变量**

**    postman左上角的小眼睛也可以对环境变量进行查看和设置**

14:测试沙箱与测试断言实战