postman--接口測試工具安裝和使用教程

postman–接口測試工具

postman是一款支持http協議的接口調試與測試工具,其主要特點就是功能強大,使用簡單且易用性好 。

無論是開發人員進行接口調試,還是測試人員做接口測試,postman都是我們的首選工具之一 。

下面先通過一張圖來直觀的來看下postman中所包含的功能 。

圖片

?當然,以上功能也只是展示了postman的一部分功能,為了能更加全面的體現這款工具的特點,我將從以下三個維度來加以說明。它們分別是:

基礎功能:1.常見類型的接口請求 2.接口響應數據的解析 3.接口管理(Collection) 4.批量執行接口請求 5.日志調試6.斷言7.變量8.請求前置腳本9、接口關聯10.常見的返回值獲取

便捷功能快:1、速填寫查詢參數2、快速填寫請求頭信息3、快速實現添加一個請求4、如何繼承集合認證5、批量斷言6、快速查詢和替換

高級功能:1、讀取文件進行參數化2、生成測試報告3、代碼中發送請求4、編寫接口文檔5、mock服務監控6、使用工作空間7、代碼同步與分支管理8、連接數據庫9、apis

一、postman安裝說明:

1、下載與安裝

postman安裝步驟:
1.訪問postman官方網站,下載最新版本
訪問地址: https://www.getpostman.com/
2.進入到下載頁面,根據自己電腦下載對應的版本

圖片

3.雙擊下載的安裝包,進入到安裝界面,直到用戶登錄和注冊界面。
若個人使用,選擇跳過即可,這時會進入到postman主界面,至此postman安裝成功(下圖)。
若團隊使用,可以進行注冊,注冊后使用賬號可以加入團隊工作區

圖片

2 界面導航說明

?初次使用postman的朋友可能對界面上的一些元素不太熟悉,下面就通過一張圖來說明這些元素的含義。

圖片

3、發送第一個請求

?如果你是第一次使用postman發送請求,下面這個例子可以作為一個最基本的入門,可以幫我們建立一個初始印象。
1.打開postman,點擊+加號打開一個新的請求頁。
2.在請求的URL中輸入請求地址:
http://www.weather.com.cn/data/sk/101010100.html
3.點擊Send按鈕,這時就可以在下部的窗格中看到來自服務器的json響應數據。

圖片

這里補充:2023.10月安裝!!!

1 打開官網下載:Postman API Platform

2 下載

3 打開安裝包進行安裝

1、下載到電腦之后直接雙擊安裝軟件,postman會自動安裝

?

2、第一次打開會要求登錄賬號密碼,如果沒有,直接關閉,重新打開會自動進入下圖這樣子無需賬號密碼登錄的界面。
此時自動啟動postman,并在桌面創建快捷方式?

postman賬號可以通過輸入電子郵件、用戶名和密碼或使用Google賬戶進行注冊;
postman登錄賬號后,會自動同步和備份軟件數據,可以從不同的設備上訪問同一個賬號的數據,還可以在同一個項目上與其他人協作。?

登錄成功界面如下:


?二.postman?修改文件安裝路徑

1 找到Postman的安裝文件

桌面右鍵單擊postman快捷方式——屬性——打開文件所在位置

在Postman的安裝過程中是不可以修改安裝路徑的,其默認安裝路徑是:C:\Users\admin\AppData\Local

2.更改Postman的文件路徑

Postman安裝時,無法修改/自定義安裝路徑,但安裝好后,可手動將其安裝文件移–>到您想放置的盤中。

方法如下:

Postman默認安裝路徑:C:\Users\smxsh\AppData\Local\Postman)
將其文件夾直接剪切到合適的位置既可。這里我復制到:D:\Software? ? 再刪除原來的快捷方式

3.快捷方式修改

?

?三.postman基礎功能

1.常見類型的接口請求

常見的接口有如下四種類型,分別是含有查詢參數的接口,表單類型的接口,json類型的接口以及含有上傳文件的接口,以下就對這四種類型接口及如何在postman中請求進行說明。
1.1 .查詢參數的接口請求
什么是查詢參數?
所謂的查詢參數,其實就是URL地址中問號(?)后面的部分就叫查詢參數

比如: http: //cx.shouji.360.cn/phonearea.php?number=13012345678。在這個接口中,查詢參數就是:number=13012345678。
而這―部分是由有鍵值對組成,格式為∶key1=value1&key2=value2,如果有多組鍵值對,要用&隔開
postman如何請求
在postman中實現對這類接口請求非常簡單,一般就需要明確兩個參數即可,一個是請求方法,一個請求地址。
針對上面的那個接口,地址已經給出,而它的請求方法是get 。那么在postman中只需要把這倆個參數填寫上即可請求。
具體實現步驟︰
1.打開postman,新建一個請求。
2.在請求方法中選擇請求方法:GET,因為在postman中默認的請求方法就是GET,所以這一步可以忽略
3.接口URL中輸入地址,點擊Send按鈕就可以發送請求了。

圖片

說明:查詢參數的URL一般直接拷貝到輸入的URL地址欄中就可以了,當然也可以把查詢參數在Params中輸入,兩者的效果是一樣的。
1.2 表單類型的接口請求
什么是表單?
我們都知道,在發送HTTP請求的時候,一個請求中一般包含三個部分,分別是請求行,請求頭,請求體。
不同的接口,請求體的數據類型是不一樣的,比較常見的一種就是表單類型,那么什么是表單類型呢?簡單理解就是在請求頭中查看Conte nt-Type

它的值如果是:a pplication/x- www-formurlencoded.

那么就說明客戶端提交的數據是以表單形式提交的。見下圖:

圖片

postman中如何請求?
如果在postman請求上圖的接口,我們只需要填寫四個參數,分別是(可以參考上圖):

  • 請求方法:POST
  • 請求URL: http://localhost/index.php?m=Home&c=User&a=do_login&t=0.21942974229794432
  • 請求頭:Content-Type: application/x-www-form-urlencode
  • 請求體:username=13088888888&password=123456&verify_code=8888

實現步驟:
1.打開postman,新建一個請求。
2.在請求中設置以上四個參數,點擊Send按鈕。在postman中設置請求體類型為,需要選擇body-> x-www-form-urlencoded
3.查看響應數據。

圖片

?1.3上傳文件的表單請求
在做接口測試時,我們經常會遇到需要上傳文件的接口,比如微信的更新頭像。這就需要用到: multipart/form-data。它也屬于一種表單,但它既支持表單請求,也支持文件上傳。它的請求報文中數據往往是下面這樣的。

  1. POST http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html HTTP/1.1
  2. Content-Type: multipart/form-data
  3. file=a1.jpg

這種類型的接口,在postman中該如何請求呢 ?我們先分析需要填寫的參數 。

  • 請求方法:POST

  • 請求URL:http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html

  • 請求類型:multipart/form-data

  • 請求體:file=a1.jpg

實現步驟:

  1. 打開postman,新建一個請求 。

  2. 在請求中設置以上四個參數,點擊Send按鈕。注意:在postman中設置請求體類型,需要選擇body-> form-data 。file中要選擇File類型,然后上傳本地的文件 。

  3. 查看響應數據。

圖片

1.4 json類型的接口請求

這應該是接口測試中最常見的一種情況了,也就是請求體類型為json,我們來看下這個請求報文。

  1. POST http://xxx/api/sys/login HTTP/1.1
  2. Content-Type: application/json;charset=UTF-8
  3. {"account":"root","password":"123456"}

根據以上報文,我們可以分析出,我們在postman只需要填寫四個參數即可,具體如下:

  • 請求方法:POST

  • 請求地址:http://xxx/api/sys/login

  • 請求體類型:json

  • 請求體數據:{"account":"root","password":"123456"}

實現步驟:

  1. 打開postman,新建一個請求 。

  2. 在請求中設置以上四個參數,點擊Send按鈕。注意:在postman中設置請求體類型,需要選擇body-> raw -JSON

  3. 查看響應數據。

圖片

2.接口響應數據解析

響應數據是發送請求后經過服務器處理后返回的結果,響應由三部分組成,分別是狀態行、響應頭、響應體。我們來看下postman的響應數據展示。

圖片

?在postman中的響應數據展示:

  • 狀態行:Status:200 OK

  • 響應頭:Headers + Cookies,需要注意的是Cookies是包含在響應頭中的,但是為了明顯,工具會分開顯示

  • 響應體:Body

那么這些數據對我們做接口測試有什么作用呢 ?

  • Body和Status是我們做接口測試的重點,一般來說我們都會驗證響應體中的數據和響應狀態碼

  • Test Results 是我們編寫斷言后,可以查看斷言的執行結果 ,所以這個對我們也很有用 。

  • Time 和Size 是我們做性能測試時,可以根據這兩個參數來對所測接口的性能做一個簡單的判斷。

接下來我們再來關注下Body中的幾個顯示主題,分別是:Pretty,Raw,Preview .

圖片

Pretty:翻譯成中文就是漂亮 , 也就是說返回的Body數據在這個標簽中查看 ,都是經過格式化的,格式化后的數據看起來更加直觀,所以postman默認展示的也是這個選項。比如返回html頁面,它會經過格式化成HTML格式后展示,比如返回json,那么也會格式化成json格式展示 。

Raw:翻譯成中文未經過加工的,也就是原始數據 ,原始數據一般都是本文格式的,未經過格式化處理的,一般在抓包工具中都有這個選項 。

Preview:翻譯成中文就是預覽,這個選項一般對返回HTML的頁面效果特別明顯,如請求百度后返回結果,點擊這個選項后就直接能查看到的頁面 ,如下圖 。同時這個選項和瀏覽器抓包中的Preview也是一樣的 。

圖片

3. 接口管理(Collection)

當我們對一個或多個系統中的很多用例進行維護時,首先想到的就是對用例進行分類管理,同時還希望對這批用例做回歸測試 。在postman也提供了這樣一個功能,就是Collection 。通過這個Collection就可以滿足我們的上面說的需求。

先對Collection功能的使用場景做個簡單總結 。

  • 用例分類管理,方便后期維護

  • 可以進行批量用例回歸測試 。

那么Collection是如何去管理用例的呢 ?先想象我們要測試一個系統,系統下有多個模塊,每個模塊下有很多的被測接口用例 。那么基于這個場景,我們來通過Collection來進行實現:

1. 點擊Collection,點擊+New Collection,在彈出的輸入框中輸入Collection名稱(這個就可以理解為所測試的系統)

圖片

2. 選中新建的Collection右鍵,點擊Add Folder ,在彈出對話框中輸入文件夾名稱(這個就可以理解為系統中的模塊)

圖片

3. 選中新建的Folder,點擊Add Request ,在彈出的對話框中輸入請求名稱,這個就是我們所測試的接口,也可以理解為測試用例 。

圖片

那么通過以上三個步驟,達到的效果就是如圖所示:

圖片

總結,通過上面的操作,我們實現了一個最簡單的demo模型。但實際上,有了這個功能才是postman學習的開始,因為很多功能都是基礎這個功能的基礎上進行的,比如用例的批量執行,Mock ,接口文檔等功能 。

4. 批量執行接口請求

當我們在一個Collection中編寫了很多的接口測試用例,想一起執行這批用例,在postman中是如何操作呢 ?

實現步驟:

1. 選中一個Collection,點擊右三角,在彈出的界面點擊RUN

圖片

2. 這是會彈出一個叫Collection Runner的界面,默認會把Collection中的所有用例選中 。

圖片

3. 點擊界面下方的RUN Collection,就會對Collection中選中的所有測試用例運行 。

圖片

對上面的幾個紅框內的功能進行簡單說明:

  • 斷言統計:左上角的兩個0是統計當前Collection中斷言成功的執行數和失敗的執行數,如果沒有編寫斷言默認都為0 。

  • Run Summary: 運行結果總覽,點擊它可以看到每個請求中具體的測試斷言詳細信息 。Export Result:導出運行結果,默認導出的結果json文件 。

  • Retry: 重新運行,點擊它會把該Collection重新運行一遍

  • New:返回到Runner,可以重新選擇用例的組合 。

總體來說,這個功能主要是用于對一個Collection中的所有用例或部分用例進行批量運行,已達到手工回歸測試的目的。

5.日志調試

在做接口測試時,經常會因為代碼寫的有問題導致報錯,這時通過查看日志就顯得非常重要了,postman也提供了這樣的功能,它允許我們在腳本中編寫打印語句,查看打印的結果 ; 同時也可以查看每個請求的日志信息 。

在postman中編寫日志打印語句使用的是JavaScript,編寫的位置可以是Pre-request Script 或Tests標簽中。編寫打印語句如:console.log("我是一條日志")

圖片

那么打印的日如何看呢 ?在postman中有倆個入口,第一個入口就是:view-show postman console

第二個入口就是左下角第三個圖標 。

圖片

打開的日志界面:

圖片

這里面有幾個比較實用的功能:

  • 搜索日志:輸入URL或者打印的日志就能直接搜索出我們想要的請求和日志,這對我們在眾多日志中查找某一條日志是非常方便的 。

  • 按級別搜索:可以查詢log,info,warning,error級別的日志 ,有助于我們更快定位到錯誤 。

  • 查看原始報文(Show raw log):如果習慣看原始請求報文的話,這個功能可能更方便些 。

  • 隱藏請求(Hide network):把請求都隱藏掉,只查看輸出日志 。

總之,通過這個功能,我們在請求接口報錯時,通過打印響應的日志,就能很輕松的找到問題原因了 。

6.斷言

如果沒有斷言,我們只能做接口的功能測試,但有了斷言后,就為我們做自動化提供了條件,并且在postman中的斷言是非常方便和強大的 。

我們先來了解下postman斷言的一些特點 ,具體如下

  • 斷言編寫位置:Tests標簽

  • 斷言所用語言:JavaScript

  • 斷言執行順序:在響應體數據返回后執行 。

  • 斷言執行結果查看:Test Results

在上面我們介紹到,編寫的斷言代碼是JavaScript,那如果不會寫怎么辦 ?不用擔心,因為postman已經給我們內置了一些常用的斷言 。用的時候,只需從右側點擊其中一個斷言,就會在文本框中自動生成對應斷言代碼塊 。

圖片

接下來就讓我們了解一些常用斷言,還是按響應的組成來劃分,分別是狀態行,響應頭,響應體。

狀態行中又包括狀態碼,狀態消息 。在postman也可以對這兩個進行斷言

狀態行中的斷言:?

  • 斷言狀態碼:Status code: code is 200

    1. pm.test("Status code is 200", function () {
    2. pm.response.to.have.status(200); //這里填寫的200是預期結果,實際結果是請求返回結果
    3. });
  • 斷言狀態消息:Status code:code name has string

  1. pm.test("Status?code?name?has?string",?function?()?{??
  2. pm.response.to.have.status("OK");?//斷言響應狀態消息包含OK??
  3. });

響應頭中的斷言

  • 斷言響應頭中包含:Response headers:Content-Type header check

  1. pm.test("Content-Type?is?present",?function?()?{??
  2. pm.response.to.have.header("Content-Type");?//斷言響應頭存在"Content-Type"??
  3. });

斷言響應體(重點)

  • 斷言響應體中包含XXX字符串:Response body:Contains string

  1. pm.test("Body?matches?string",?function?()?{??
  2. pm.expect(pm.response.text()).to.include("string_you_want_to_search");??
  3. });??
  4. //注解??
  5. pm.expect(pm.response.text()).to.include("string")?獲取響應文本中包含string
  • 斷言響應體等于XXX字符串:Response body : is equal to a string

  1. pm.test("Body?is?correct",?function?()?{??
  2. pm.response.to.have.body("response_body_string");??
  3. });??
  4. //注解??
  5. pm.response.to.have.body("response_body_string");?獲取響應體等于response_body_string
  • 斷言響應體(json)中某個鍵名對應的值:Response body : JSON value check

  1. pm.test("Your?test?name",?function?()?{??
  2. var?jsonData?=?pm.response.json();??
  3. pm.expect(jsonData.value).to.eql(100);??
  4. });??
  5. //注解??
  6. var?jsonData = pm.response.json()?獲取響應體,以json顯示,賦值給jsonData .注意:該響應體必須返會是的json,否則會報錯??
  7. pm.expect(jsonData.value).to.eql(100)?獲取jsonData中鍵名為value的值,然后和100進行比較

響應時間(一般用于性能測試)

  • 斷言響應時間:Response time is less than 200ms

  1. pm.test("Response?time?is?less?than?200ms",?function?()?{??
  2. pm.expect(pm.response.responseTime).to.be.below(200);?//斷言響應時間<200ms??
  3. });

案例說明:

針對以下接口返回的數據進行斷言:

  1. {??
  2. "cityid":?"101120101",??
  3. "city":?"濟南",??
  4. "update_time":?"2020-04-17?10:50",??
  5. "wea":?"晴",??
  6. "wea_img":?"qing",??
  7. "tem":?"16",??
  8. "tem_day":?"20",??
  9. "tem_night":?"9",??
  10. "win":?"東北風",??
  11. "win_speed":?"3級",??
  12. "win_meter":?"小于12km/h",??
  13. "air":?"113"??
  14. }
  • 斷言響應狀態碼為200

  • 斷言city等于濟南

  • 斷言update_time包含2020-04-17

圖片

總結,整體來說,如果用postman做接口測試,這個斷言功能必不可少,其中我們常斷言的響應體包含和JSON這倆個斷言又是重重之重。

7. 變量(全局/集合/環境)

變量可以使我們在請求或腳本中存儲和重復使用其值,通過將值保存在變量中,可以在集合,環境或請求中引用。

對我們做接口測試來說,又是一個非常重要的功能 。

在postman常用的三種變量分別是全局變量,環境變量,集合變量 。

  • 全局變量:一旦申明了全局變量,全局有效,也就是說postman中的任何集合,任何請求中都可以使用這個變量。它的作用域是最大的 。

  • 環境變量:要申明環境變量,首先的創建環境,然后在環境中才能創建變量 。如果要想使用環境變量,必須先選擇(導入)這個環境,這樣就可以使用這個環境下的變量了 。需要說明的是環境也可以創建多個 。每個環境下又可以有多個變量 。

  • 集合變量:集合變量是針對集合的,也就是說申明的變量必須基于某個集合,它的使用范圍也只是針對這個集合有效 。

其中,他們的作用域范圍依次從大到小:全局變量>集合變量>環境變量 。當在幾個不同的范圍內都申明了相同的變量時,則會優先使用范圍最小的變量使。

想要使用變量中的值只需倆個步驟,分別是定義變量和獲取變量 。

  1. 定義變量(設置變量)

  2. 獲取變量(訪問變量)

定義變量

定義全局變量和環境變量,點擊右上角的小齒輪,彈出如下界面,就可以根據需求定義全局變量或者環境變量了。

圖片

已經定義的全局變量和環境變量,可以進行快速查看:

圖片

定義集合變量

選擇一個集合,打開查看更多動作(...)菜單,然后點擊編輯 。選擇“變量”選項卡以編輯或添加到集合變量。

圖片

定義變量除了以上方式,還有另外一種方式 。但是這種方式在不同的位置定義,編寫不一樣。

在URL,Params , Authorization , Headers , Body中定義:

1. 手工方式創建一個空的變量名

2. 在以上的位置把想要的值選中右擊,選中Set:環境|全局 ,選中一個變量名,點擊后就會保存到這個變量中

圖片

在Tests,Pre-requests Script:

  • 定義全局變量:pm.collectionVariables.set("變量名",變量值)

  • 定義環境變量:pm.environment.set("變量名",變量值)

  • 定義集合變量:pm.variables.set("變量名",變量值)

獲取變量

定義好變量,接下來就可以使用變量了 。需要注意的是,在不同的位置獲取變量,編寫的規則也是不一樣的 。

如果在請求參數中獲取變量,無論是獲取全局變量,還是環境變量,還是集合變量,獲取的方式都是一樣的編寫規則:{{變量名}} 。

  • 請求參數指的是:URL,Params , Authorization , Headers , Body

如果是在編寫代碼的位置(Tests,Pre-requests Script)獲取變量,獲取不同類型的變量,編寫的代碼都不相同,具體如下:

  • 獲取環境變量:pm.environment.get(‘變量名’)

  • 獲取全局變量:pm.globals.get('變量名')

  • 獲取集合變量:pm.pm.collectionVariables.get.get('變量名')

圖片

變量的使用場景非常廣泛,比如我們后面要提到的接口關聯,請求前置腳本都會使用到變量 。

8. 請求前置腳本

前置腳本其實就是在Pre-requests Script中編寫的JavaScript腳本,想要了解這個功能,需要先了解它的執行順序。那么下面就來看下它的執行順序 。

可以看出,一個請求在發送之前,會先去執行Pre Request Script(前置腳本)中的代碼 。那么這個功能在實際工作中有什么作用呢 ?

主要場景:一般情況下,在發送請求前需要對接口的數據做進一步處理,就都可以使用這個功能,比如說,登錄接口的密碼,在發送前需要做加密處理,那么就可以在前置腳本中做加密處理,再比如說,有的接口的輸入參數有一些隨機數,每請求一次接口參數值都會發送變化,就可以在前置腳本中編寫生成隨機數的代碼 。

總體來說,就是在請求接口之前對我們的請求數據進行進一步加工處理的都可以使用前置腳本這個功能。

接下來通過一個案例來看下該功能是如何使用 ?

案例:

  • 請求的登錄接口URL,參數t的值要求的規則是每次請求都必須是一個隨機數。

  • 接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428

圖片

實現步驟:

  1. 在前置腳本中編寫生成隨機數

  2. 將這個值保存成環境變量

  3. 將參數t的值替換成環境變量的值 。

圖片

總之,這個前置腳本對我們做接口測試也非常有用,對一些復雜的場景,都可以使用前置腳本進行處理后再請求接口 。

9. 接口關聯

在我們測試的接口中,經常出現這種情況 。上一個接口的返回數據是下一個接口的輸入參數 ,那么這倆個接口就產生了關聯。這種關聯在做接口測試時非常常見,那么在postman中,如何實現這種關聯關系呢 ?

實現思路:

  1. 提取上一個接口的返回數據值,

  2. 將這個數據值保存到環境變量或全局變量中

  3. 在下一個接口獲取環境變量或全局變量

案例:

  • 用戶上傳頭像功能,需要用戶先上傳一張圖片,然后會自動預覽 。那么在這個過程中,會調用到倆個接口 ,第一個上傳頭像接口,第二個預覽圖像接口 。

  • 其中調用上傳頭像接口成功后會返回如下信息:

  1. {??
  2. "url":?"/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg",??
  3. "title":?"banner",??
  4. "original":?"",??
  5. "state":?"SUCCESS",??
  6. "path":?"images"??
  7. }

而圖像預覽接口URL為:

http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出這個接口的URL后半部分其實是上一個接口返回的url的值 。那么這倆個接口就產生了關聯。那么在postman 可以通過以下三步完成這倆個接口的關聯實現 。

實現步驟:

  1. 獲取上傳頭像接口返回url的值

  2. 將這個值保存成全局變量(環境變量也可以)

  3. 在圖像預覽中使用全局變量

圖片

可以看出,接口的關聯的解決方案都是用的是變量中的知識,也就是說只要你明確了要提取的值,后面就是保存該值,然后在其他接口使用該值就可以了。

10.常見返回值獲取

在做接口測試時,請求接口返回的數據都是很復雜的json數據,有著多層嵌套,這樣的數據層級在postman怎么獲取呢 ?

案例1:多層json嵌套, 獲取user_id的值

  1. {??
  2. "code":?0,??
  3. "message":?"請求成功!",??
  4. "data":?{??
  5. "user_id":?"1252163151781167104"??
  6. }??
  7. }
  1. //獲取json體數據??
  2. var?jsonData?=?pm.response.json()??
  3. //?獲取user_id的值,通過.獲取??
  4. var?user_id?=?jsonData.data.user_id

案例2:json中存在列表,獲取points中的第二個元素

  1. {??
  2. "code":?0,??
  3. "message":?"請求成功!",??
  4. "data":?{??
  5. "roles":?{??
  6. "api":?[??
  7. "API-USER-DELETE"??
  8. ],??
  9. "points":?[??
  10. "point-user-delete",??
  11. "POINT-USER-UPDATE",??
  12. "POINT-USER-ADD"??
  13. ]??
  14. },??
  15. "authCache":?null??
  16. }??
  17. }
  1. //獲取json體數據??
  2. var?jsonData?=?pm.response.json()??
  3. //?獲取user_id的值,通過下標獲取列表中某個元素??
  4. var?user_id?=?jsonData.data.roles.points[1]

案例3:列表中取最后一個元素

  1. {??
  2. "code":?0,??
  3. "message":?"請求成功!",??
  4. "data":?{??
  5. "total":?24,??
  6. "rows":?[??
  7. {??
  8. "id":?"1066370498633486336",??
  9. "mobile":?"15812340003",??
  10. "username":?"zbz"??
  11. },??
  12. {??
  13. "id":?"1071632760222810112",??
  14. "mobile":?"16612094236",??
  15. "username":?"llx"??
  16. },??
  17. ...??
  18. {??
  19. "id":?"1075383133106425856",??
  20. "mobile":?"13523679872",??
  21. "username":?"test001",??
  22. },
  1. //獲取json體數據??
  2. var?jsonData?=?pm.response.json()??
  3. //?獲取id的值,通過slice(-1)獲取列表中最后一個元素。??
  4. var?id?=?jsonData.data.rows.slice(-1)[0]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72134.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72134.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72134.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

綜合練習 —— 遞歸、搜索與回溯算法

目錄 一、1863. 找出所有子集的異或總和再求和 - 力扣&#xff08;LeetCode&#xff09; 算法代碼&#xff1a; 代碼思路 問題分析 核心思想 實現細節 代碼解析 初始化 DFS 函數 時間復雜度 空間復雜度 示例運行 輸入 運行過程 總結 二、 47. 全排列 II - 力扣&a…

代碼隨想錄算法訓練day64---圖論系列8《拓撲排序dijkstra(樸素版)》

代碼隨想錄算法訓練 —day64 文章目錄 代碼隨想錄算法訓練前言一、53. 117. 軟件構建—拓撲排序二、47. 參加科學大會---dijkstra&#xff08;樸素版&#xff09;總結 前言 今天是算法營的第64天&#xff0c;希望自己能夠堅持下來&#xff01; 今天繼續圖論part&#xff01;今…

學術小助手智能體

學術小助手&#xff1a;開學季的學術領航員 文心智能體平臺AgentBuilder | 想象即現實 文心智能體平臺AgentBuilder&#xff0c;是百度推出的基于文心大模型的智能體平臺&#xff0c;支持廣大開發者根據自身行業領域、應用場景&#xff0c;選取不同類型的開發方式&#xff0c;…

JavaScript 簡單類型與復雜類型-復雜類型傳參

在JavaScript中&#xff0c;變量根據其存儲的數據類型可分為簡單類型&#xff08;基本數據類型&#xff09;和復雜類型&#xff08;引用數據類型&#xff09;。理解這兩者在函數調用時的行為差異對于編寫高效且無誤的代碼至關重要。本文將專注于探討復雜類型的參數傳遞機制&…

L2-043 龍龍送外賣(dfs)

龍龍是“飽了呀”外賣軟件的注冊騎手&#xff0c;負責送帕特小區的外賣。帕特小區的構造非常特別&#xff0c;都是雙向道路且沒有構成環 —— 你可以簡單地認為小區的路構成了一棵樹&#xff0c;根結點是外賣站&#xff0c;樹上的結點就是要送餐的地址。 每到中午 12 點&#…

如何基于PyTorch做二次開發

基于PyTorch進行二次開發以實現可視化工程&#xff0c;可以從以下幾個方面入手&#xff1a;模型結構可視化、訓練過程監控、特征可視化等。以下是一些推薦的GitHub項目&#xff0c;這些項目可以幫助你快速搭建一個可視化的工程環境&#xff1a; ### 1. **PyTorch CNN Visualiz…

本地大模型編程實戰(26)用langgraph實現基于SQL數據構建的問答系統(5)

本文將將擴展上一篇文章完成的 langgraph 鏈&#xff0c;繼續使用基于 langgraph 鏈 &#xff0c;對結構化數據庫 SQlite 進行查詢的方法。該系統建立以后&#xff0c;我們不需要掌握專業的 SQL 技能&#xff0c;可以用自然語言詢問有關數據庫中數據的問題并返回答案。主要完善…

【Kubernetes】污點和容忍

一、概述 在 Kubernetes&#xff08;k8s&#xff09;中&#xff0c;污點&#xff08;Taints&#xff09; 是定義在節點上的一種機制&#xff0c;用于拒絕某些 Pod 調度到該節點&#xff0c;除非這些 Pod 具有對應的容忍度&#xff08;Tolerations&#xff09;。污點可以用來控…

【大模型?知識圖譜】大模型結合醫療知識圖譜:解鎖智能輔助診療系統新范式

【大模型?知識圖譜】大模型結合醫療知識圖譜:解鎖智能輔助診療系統新范式 大模型結合醫療知識圖譜:解鎖智能輔助診療系統新范式引言一、系統架構1.1 系統架構圖1.2 架構模塊說明1.2.1 用戶輸入1.2.2 大模型(語義理解與意圖識別)1.2.3 Agent(問題解析與任務分配)1.2.4 問…

FASIONAD:自適應反饋的類人自動駕駛中快速和慢速思維融合系統

24年11月來自清華、早稻田大學、明尼蘇達大學、多倫多大學、廈門大學馬來西亞分校、電子科大&#xff08;成都&#xff09;、智平方科技和河南潤泰數字科技的論文“FASIONAD : FAst and Slow FusION Thinking Systems for Human-Like Autonomous Driving with Adaptive Feedbac…

【免費】YOLO[笑容]目標檢測全過程(yolo環境配置+labelimg數據集標注+目標檢測訓練測試)

一、yolo環境配置 這篇帖子是我試過的&#xff0c;非常全&#xff0c;很詳細【cudaanacondapytorchyolo(ultralytics)】 yolo環境配置 二、labelimg數據集標注 可以參考下面的帖子&#xff0c;不過可能會出現閃退的問題&#xff0c;安裝我的流程來吧 2.1 labelimg安裝 label…

Linux系統軟件管理

systemctl 控制軟件啟動和關閉 Linux系統很多軟件支持使用systemctl命令控制&#xff1a;啟動&#xff0c;停止&#xff0c;開啟自啟。 能被systemctl管理的軟件&#xff0c;一般被稱為&#xff1a;服務。 語法&#xff1a;systemctl start|stop|status|enable|disable 服務名…

CAN總線通信協議學習1——物理層

首先來看看CAN是怎么產生的&#xff1a;簡單理解&#xff0c;CAN就是一種“擁有特別連接方式”的數據傳輸的總線&#xff0c;其有特定的一些規則。 &#xff08;注&#xff1a;資料及圖片來源于知乎博主TOMOCAT。&#xff09; CAN總線的結構 查閱參考文獻&#xff0c;OSI標準…

偏移量是什么

在將二維網格映射到一維數組時&#xff0c;偏移量是指在一維數組中 某一行的第一個元素相對于數組起始位置的位置差。對于一個 3 行 4 列的網格&#xff0c;我們使用公式 cur_pos x * n y 來計算二維位置 (x, y) 在一維數組中的索引。 當 x 0 &#xff08;第一行&#xff…

【Mac電腦本地部署Deepseek-r1:詳細教程與Openwebui配置指南】

文章目錄 前言電腦配置&#xff1a;安裝的Deepseek版本&#xff1a;使用的UI框架&#xff1a;體驗效果展示&#xff1a;本地部署體驗總結 部署過程Ollama部署拉取模型運行模型Openwebui部署運行Ollama服務在Openwebui中配置ollama的服務 后話 前言 deepseek最近火的一塌糊涂&a…

給小白的oracle優化工具,了解一下

有時懶得分析或語句太長&#xff0c;可以嘗試用oracle的dbms_sqldiag包進行sql優化&#xff0c; --How To Use DBMS_SQLDIAG To Diagnose Query Performance Issues (Doc ID 1386802.1) --診斷SQL 性能 SET ECHO ON SET LINESIZE 132 SET PAGESIZE 999 SET LONG 999999 SET SER…

YOLO11改進加入ResNet網絡

文章目錄 1.改進目的2.demo引入2.1代碼2.2 結果展示2.3 BottleNeck詳解 1.改進目的 原始YOLO11模型訓練好以后&#xff0c;檢測結果mAP結果很低&#xff0c;視頻檢測結果很差&#xff0c;于是想到改進網絡&#xff0c;這里介紹改進主干網絡。 2.demo引入 2.1代碼 # File: 2…

Spring MVC流程

SpringMVC啟動流程 啟動流程父子容器請求處理MultipartFile 解析參數傳遞返回值處理HandlerInterceptor 啟動流程 啟動Tomcat解析web.xml創建DispatcherServlet調用DIspatcherServlet的init方法 4.1 創建Spring容器 4.2 發布ContextRefresheEvent 4.3 在OnRefreshed方法中觸發…

【大數據】ClickHouse常見的錯誤及解決方式

ClickHouse 是一款高性能的列式數據庫&#xff0c;但在使用過程中難免會遇到一些錯誤。本文將介紹一些 ClickHouse 常見的錯誤及其解決方式&#xff0c;幫助您更好地使用 ClickHouse。 1、錯誤&#xff1a;DB::Exception 錯誤信息 DB::Exception:Table engine Distributed d…

物理競賽中的線性代數

線性代數 1 行列式 1.1 n n n 階行列式 定義 1.1.1&#xff1a;稱以下的式子為一個 n n n 階行列式&#xff1a; ∣ A ∣ ∣ a 11 a 12 ? a 1 n a 21 a 22 ? a 2 n ? ? ? ? a n 1 a n 2 ? a n n ∣ \begin{vmatrix}\mathbf A\end{vmatrix} \begin{vmatrix} a_{11…