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:測試沙箱與測試斷言實戰

 

 

 

 

 

 

 

 

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM