Postman基礎篇 - 特殊接口測試


​“上篇給大家介紹了使用Postman對幾種普通類型的接口請求。但接口類型很多,除了快速上手的那些基本接口外,還有一些特殊的接口,比如簽名接口校驗、攜帶cookie和token的接口等等。今天就接着介紹幾個特殊的接口請求~ 

 

 

01

 

簽名接口

 

    在寫開放的API接口時,為了保證數據在通信時的安全性,可以采用參數簽名的方式來進行相關驗證。

    那么在Postman中怎么校驗這種類型的接口呢?舉例如下:

    簽名接口的相關參數

        url:http://www.neeo.cc:6002/pinter/com/userInfo

        類型:POST

        參數:

       {"phoneNum":"1234","optCode":"testfan","timestamp":"12..2","sign":"Md5(手機號+鹽+時間戳)"}

    以上信息顯示接口類型為POST,參數類型為json,根據上篇文章可知參數需要填寫在body的raw類型中。具體如下:

    

參數中需要用到幾個固定字段,這需要我們在接口請求之前定義好。在Pre-request Script中將對應字段定義並賦值(js編碼),具體如下:    

字段賦值后使用md5加密,並將定義好的值set到全局變量中,同時在json參數中引用這幾個全局變量,此時點擊send按鈕,接口就可以正常返回:

    同時可以查看全局變量是否顯示在列表中,如下:

   

 ok,經過一系列的操作,我們就將這個簽名接口調通了🤗。

 

02

 

 

攜帶Cookie的接口

 

    首先簡單解釋一下Cookie有啥用~

    HTTP協議本身是無狀態的,無狀態就代表服務器沒有辦法判斷用戶身份。Cookie實際上是一小段的文本信息(key-value格式)。客戶端向服務器發起請求,如果服務器需要記錄該用戶狀態,就使用response向客戶端瀏覽器發一個Cookie。客戶端瀏覽器會把Cookie保存起來。當瀏覽器再請求該網站時,瀏覽器把請求的網址連同該Cookie一同提交給服務器。服務器通過該Cookie來辨認請求用戶的狀態、身份等。

    說完Cookie的作用,再來看postman如何處理需要攜帶cookie的接口。    

    先舉例一個場景,用戶需要登錄某網站,登錄成功,返回一個cookie,然后用戶需要攜帶cookie在進行進一步操作,比如查詢余額等。

我們測試這種類型的接口時,有兩種方式:

  • 第一種,就是我們使用瀏覽器登錄,獲取cookie值,然后手動攜帶。

  • 第二種,就是借助postman幫我們自動的管理cookie值。

     

    先來看第一種方式,查詢余額接口必須依賴登錄成功返回的Cookie

    1、登錄接口的相關參數:

     url:http://www.neeo.cc:6002/pinter/bank/api/login

    類型:POST    參數:userName=admin&password=1234

   

2、查詢余額接口相關參數:

     url:http://www.neeo.cc:6002/pinter/bank/api/query

    類型:GET    參數:userName=admin

    首先,我們需要在瀏覽器中訪問http://www.neeo.cc:6002/pinter/bank/page/login連接, 輸入admin&1234進行登錄,登錄成功后,我們獲取到了cookie值。

    不要關閉網頁,並保持登錄狀態。此時我們使用Postman做查詢余額接口的請求,在請求中使用獲取到的cookie值(testfan-id=1542a882-7355-47b5-91b0-f8cf052c8560),如下:

 

   手動攜帶cookie的方式就完成了,但是這種手動方式攜帶的Cookie在網頁關閉之后就立刻失效了,每次請求都需要手動做登錄操作並復制獲取到的Cookie值,相對會比較麻煩。

    我們來看第二種,在postman中,新建一個登錄的接口,請求成功之后再請求查詢余額的接口。

    此時再請求查詢余額接口就不用攜帶cookie了,直接訪問即可,如下圖:

    是不是比第一種簡單多了~ 

    我們查看此次接口請求的cookies欄,發現其中是有值的,那么這個值是怎么來的呢?

    這里自動攜帶cookie的原因就在於我們在請求查詢余額接口之前,先請求了登錄接口。在登錄接口請求成功之后,會在本地的MANAGE COOKIES中保存該地址的cookie,如下圖:

    此時,postman就自動的幫我們管理了該地址的cookie。當我們再次請求同一個域名 的url時,就會自動將cookie攜帶到請求當中,不用我們每次都手動填寫。而且這種方式也不是一次性的,可以在一段時間內供多個接口請求使用。

    上面這個窗口中同樣支持手動添加cookie,如果有需要也可以手動填寫哦~

 

 

03

 

攜帶token的接口

 

    對於token這個詞,測試小伙伴應該都很熟悉吧~ 🥳

    Token跟cookie一樣,都是服務端生成的一串字符串。作為客戶端進行請求的一個令牌,當第一次登錄后,服務器生成一個Token便將此Token返回給客戶端,以后客戶端只需帶上這個Token前來請求數據即可,無需再次帶上用戶名和密碼。

    最簡單的token組成:uid(用戶唯一的身份標識)、time(當前時間的時間戳)、sign(簽名,由token的前幾位+鹽以哈希算法壓縮成一定長的十六進制字符串,可以防止惡意第三方拼接token請求服務器)。

    Token的目的是為了減輕服務器的壓力,減少頻繁的查詢數據庫,使服務器更加健壯。在接口測試中,會頻繁碰到攜帶token為參數的接口哦~

    那接下來我們就來研究一下postman如何處理需要攜帶token的接口。跟處理攜帶cookie的接口一樣,我們測試這種類型的接口時,有兩種方式:

    第一種,就是我們使用瀏覽器登錄,獲取token值,然后在請求查詢余額的接口時將獲取的值手動填寫。 

1、從瀏覽器中獲取token值

2、在請求接口時手動填寫token值

    第一種方式就醬搞定!✿✿ヽ(°▽°)ノ✿

 

    接着看第二種方式,同樣是借助postman幫我們自動管理token值。

    1、登錄接口的相關參數:

     url:http://www.neeo.cc:6002/pinter/bank/api/login2

    類型:POST    參數:userName=admin&password=1234

   

2、查詢余額接口相關參數:

     url:http://www.neeo.cc:6002/pinter/bank/api/query

    類型:GET    參數:userName=admin

    1、使用登錄接口,登錄成功之后從響應的json中提取token(tests中的內容會在接口執行完成之后調用,下一篇的斷言中會詳細介紹),然后將token保存到postman的環境變量中。

接口請求成功↑

 

token值set到全局變量中↑

 


    2、請求查詢余額接口,在token參數值位置使用全局變量調用{{my_token}},點擊send:

請求成功↑

    ok,醬完事了。

 

04

webservice類型的接口

 

    webservice類型接口簡單來說,是通過xml進行交互的web請求,本質上也是一種HTTP請求。

    Web Service也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。是通過SOAP在Web上提供的軟件服務,使用WSDL文件進行說明,並通過UDDI進行注冊。

    可以通過soupui來測試,也可以通過jmeter來測試。常用webservice接口網站:

http://www.webxml.com.cn/zh_cn/index.aspx

    這個網站提供了很多webservice接口,我們可以直接調用測試,主頁如下:

    點擊WEB服務按鈕,頁面會顯示可用的各類接口列表,我試了幾個,找了一個結果顯示比較簡單的簡體和繁體字轉換的服務,如下:

    點擊EndPoint后面的鏈接,會在頁面中給出兩個選擇,這里選擇簡體轉繁體。

輸入我的名字后,點擊“調用”按鈕:

結果顯示如下:

    這就說明這個接口是通的,我們將這個接口(EndPoint后面的鏈接)復制到postman中進行請求。

    可能會有小伙伴好奇兩點:1、body中的數據是哪里來的;2、為啥結果顯示的都是???

    其實在web的接口測試調用的頁面已經在下面顯示了該段數據,如下:

    TIP:在Postman中使用時,要記得將string中的值轉換成你想要轉換的值哦~~

    至於為啥接口響應的值中顯示的都是???,那個是字符類型的原因,可以理解為亂碼,並非響應出錯哦~

    為防止有童鞋擔心過程有問題,我又嘗試了一下手機號歸屬地獲取的接口。看下圖,是能夠正常獲取的吧~

    至此,webservice的接口就完成調用啦~

    今天就給大家介紹這四種特殊的接口類型啦~ 頸椎快不行了,下次接着介紹Postman中斷言和環境設置,我們下次再約咯~🤗

 

寫在最后:    postman真的是一個很有用的軟件,值得所有測試的小伙伴好好研究一下。今天有點晚,就先寫這么多,有興趣的小伙伴可以跟着練一下哦,工具和代碼一樣只要多用多練就熟了,加油哦~💕

     希望能夠幫助看到這篇文章的小伙伴,要是覺得不錯的話歡迎分享,有好的建議也隨時歡迎大家指導!我是武愛華,之后有時間會在這里不定期更新,今天就先醬紫,愛你們,👋揮手一分鍾,拜~

 

 


免責聲明!

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



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