精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Postman 腳本的奧秘:JavaScript 的內置對象和方法

開發 前端
?Postman 的前后置腳本中是完全支持 JavaScript 編寫代碼,JavaScript 有很多內置的對象和方法,可以幫助我們完成各種任務,比如生成隨機數和測試響應數據。

Postman 的前后置腳本中是完全支持 JavaScript 編寫代碼,JavaScript 有很多內置的對象和方法,可以幫助我們完成各種任務,比如生成隨機數和測試響應數據。

一、生成隨機數

使用Math.random()方法來生成一個 0 到 1 之間的隨機小數,比如:

Math.random() // 0.0-1.0之間的數字,小數 0.465413246541

生成一個指定范圍內的隨機數:

Math.random()*10  // 0.0-10.0之間的數字,小數 9.465413246541

生成一個整數,可以使用Math.floor()、Math.ceil()或者Math.round()方法來對小數進行取整:

Math.floor(Math.random()*10)  // 直接舍棄小數部分 0,1,2,3,4,5,6,7,8,9
Math.floor(9.232323123313213)=9 // 直接舍棄小數部分 9
Math.ceil(Math.random()*10)  // 進1法,整數部分加1, 1,2,3,4,5,6,7,8,9,10
Math.ceil(9.232323233231121)=10 // 進1法,整數部分加1, 10
Math.round(Math.random()*10) // 四舍五入法,最接近的整數 0,1,2,3,4,5,6,7,8,9,10
Math.round(9.232323233231121)=9 // 四舍五入法,最接近的整數 9

場景 1:隨機生成一個用戶名

生成一個用戶名,規定格式為 kira001,kira002,jkira003。

var num="";
// 循環生成3位數
for(var i=0;i<3;i++){
    num +=Math.floor(Math.random()*10);
}
// 拼接用戶名
var username = "kira" + num;
// 打印用戶名
console.log(username) // kira456

場景 2:隨機生成一個電話號碼

生成一個電話號碼,規定前三位為 135,138,156,181,199。

// 定義前三位列表
var list=["135","138","156","181","199"];
// 隨機獲取一個下標
var index= Math.floor(Math.random()*list.length)
// 獲取前三位
var pre_phone3=list[index];
// 定義后八位為空字符串
var back_phone8 ="";
// 循環生成后八位數字
for(var i=0;i<8;i++){
    back_phone8 +=Math.floor(Math.random()*10);
}
// 拼接電話號碼
var phonenum = pre_phone3+back_phone8;
// 打印電話號碼
console.log(phonenum) // 15612345678
// 設置為臨時變量,請求直接{{phonenum}}調用
pm.variables.set('phonenum',phonenum);

二、請求數據或響應數據處理

接口測試的時候,我們需要對請求數據或者響應數據進行一些邏輯處理和斷言,以確保數據的正確性和完整性。

方法 1:pm 對象

pm 對象是一個全局對象,它提供了一些屬性和方法來訪問請求和響應的信息。

console.log(pm.response.code)   // 提取狀態碼 200
console.log(pm.response.reason())  // 提取響應信息 OK
console.log(pm.response.headers)  // 提取響應頭
console.log(pm.response.responseTime)  // 提取響應時間
console.log(pm.response.text())  // 提取響應體,不管body是什么格式的,都可以采用這個函數來提取
console.log(pm.response.json())  // 提取json格式的響應數據,并轉化為json對象(即python字典)

方法 2:responseCode、responseTime 等對象

responseCode、responseTime 等對象是一些全局對象,它們也可以用來訪問請求和響應的信息。

var code=responseCode.code;       // 獲取響應中的狀態碼200
var codename=responseCode.name;   // 提取響應信息 OK
var time=responseTime;            // 提取響應時間
var headers=postman.getResponseHeader('Content-Type');  // 提取響應頭中的Content-Type
var cookies=postman.getResponseCookie('name').value;    // 獲取響應cookies中的value值,括號中填寫cookies的name值
var body=getResponseBody;        // 獲取響應正文(是字符串,如果是json格式,那就是json字符串)
var jsonData= JSON.parse(body)   // 將json字符串轉化為json對象(字典)

三、斷言響應信息

pm.test()是一個全局函數,用來定義一個測試用例,接受一個回調函數作為參數。

斷言狀態碼

狀態碼是指服務器對請求的處理結果的一種表示,如: 200 表示成功,404 表示未找到,500 表示服務器錯誤等等。

(1) 方法 1:pm.response.to.have.status()

pm.response.to.have.status()用來判斷響應的狀態碼。

pm.test("Status code is 200", function () {
     pm.response.to.have.status(200);
});

(2) 方法 2:pm.expect()

pm.expect()是一個全局函數,用來創建一個期望值,并接受一個實際值作為參數。`pm.expect()還提供了一些鏈式方法,可以用來進行各種斷言。

var code=pm.response.code;
pm.test("鏈式斷言簡單示例",function(){
    pm.expect(code).to.equal(200);
    pm.expect({a: 1}).to.deep.equal({a: 1});
    pm.expect({a: {b: ['x', 'y']}}).to.have.nested.property('a.b[1]');
    pm.expect({'.a': {'[b]': 'x'}}).to.nested.include({'\\.a.\\[b\\]': 'x'});
    pm.expect({a: 1}).to.have.own.property('a');
    pm.expect({a: 1, b: 2}).to.not.have.any.keys('c', 'd');
    pm.expect({a: 1, b: 2}).to.have.all.keys('a', 'b');
    pm.expect([]).to.be.an('array').that.is.empty;
});

pm.expect()有非常多的鏈式方法,具體參考鏈接:https://www.chaijs.com/api/bdd/

(3) 方法 3:if 語句和 tests 對象

tests 是一個全局對象,用來存儲測試結果,接受一個布爾值作為參數。

var code =pm.response.code;
if(code==200){
    tests['狀態碼一致!']=true;
}else{
    tests['狀態碼不一致']=false;
}

(4) 方法 4:tests 對象和比較運算符

比較運算符是一種運算符,用來比較兩個值的大小或相等性,并返回一個布爾值。

tests['狀態碼的檢驗']=pm.response.code===200;

斷言響應體

響應體是指服務器返回給客戶端的數據,它可以是文本、圖片、音頻、視頻等等。

(1) 方法 1:pm.expect()

全量匹配或者部分匹配:

pm.test("全量匹配或者部分匹配", function () {
     var body =pm.response.text();
     pm.expect(body).to.equal('{"status":2,"msg":"請求成功"}');// 全量匹配
     pm.expect(body).to.include('請求成功');// 部分匹配
});

響應的具體內容不固定,但它的格式和結構固定,則可以結構匹配或者鍵值匹配:

pm.test("響應結構匹配", function () {
     var jsonData = pm.response.json();
     // 結構匹配
     pm.expect(jsonData).to.eql({
          "errcode": 0,
          "data": { "user_id": 1 }
     });
     // 鍵值匹配
     pm.expect(jsonData.status).to.equal(2);
     pm.expect(jsonData.msg).to.equal("請求成功");
});

(2) 方法 2:pm.response.to.have.jsonBody()

pm.test("Body is json", function () {
  //檢查響應體是否為 json 格式。
  pm.response.to.have.jsonBody();
  //檢查響應體中是否存在某個鍵或者某個值。  
  pm.response.to.have.jsonBody('status');// 檢查鍵是否存在
  pm.response.to.have.jsonBody(2);// 檢查值是否存在
});

(3) 方法 3:pm.response.to.have.jsonSchema()

檢查響應體是否符合某個 json 模式(schema),包含兩個必需的屬性 errcode(數字) 和 errmsg(字符串)。

pm.test("Body matches schema", function () {
  var schema = {
     "type": "object", // 對象
     "properties": {
          "errcode": {
               "type": "number" // 數字類型
          },
          "errmsg": {
               "type": "string" // 字符串類型
          }
     },
     "required": ["errcode", "errmsg"]  // 必須
};
  pm.response.to.have.jsonSchema(schema);
});

常見特殊場景斷言思路分析

(1) 場景 1:響應體 json 格式的數量比較大,不能全量匹配整個 json 格式,如何斷言?

只檢查響應體中的一些關鍵的鍵或者值

(2) 場景 2:返回的 json 格式的數據是變化的,如何斷言?

這種情況下,使用 json 模式來檢查響應體的結構和約束,而不是具體的內容。

(3) 場景 3:如果返回的 json 格式的 Body 數據是動態變化的怎么辦?

  • 首先檢查是否為 json 格式
  • 可以只檢查 body 中是否存在期望的鍵,主要檢查哪些核心的鍵
  • 可以檢查返回 json 結構是否正確
責任編輯:趙寧寧 來源: 測試玩家勇哥
相關推薦

2012-07-25 13:25:11

ibmdw

2021-05-10 08:45:34

JavaScript開發對象

2011-01-26 10:53:48

JavaScriptWeb

2016-11-07 15:43:38

JavaScript

2019-04-23 15:20:26

JavaScript對象前端

2011-06-01 11:37:48

searchmatchjavascript

2009-06-10 22:07:59

JavaScriptdocument對象window對象

2013-04-23 10:42:55

JavaScriptthis

2018-12-19 19:30:46

JavaScript創建對象前端

2013-04-25 09:12:36

2024-03-27 14:31:57

JVM對象內存

2011-07-08 10:25:55

JavaScript

2023-11-21 15:23:15

JavaScript工具

2009-07-02 14:27:53

JSP內置對象

2009-03-31 09:18:34

客戶端內置對象ASP.NET

2024-04-08 07:58:11

Python數據類型字符串

2021-05-14 00:00:15

JavaScript開發代碼

2021-04-07 10:12:05

Javascript對象拷貝開發

2010-08-17 14:47:49

FirefoxJavascript

2022-10-08 23:46:47

JavaScript對象開發
點贊
收藏

51CTO技術棧公眾號

久久国产成人精品| 国产在线美女| 国产自产v一区二区三区c| www.欧美免费| 亚洲欧美日本一区二区| 精品51国产黑色丝袜高跟鞋| 国产激情一区二区三区| 国模吧一区二区| 玖玖爱在线观看| 69堂免费精品视频在线播放| 99精品1区2区| 国产精品激情av在线播放 | 18+视频在线观看| 高清不卡一区二区| 日本亚洲精品在线观看| 亚洲一级片在线播放| 国产专区精品| 欧美日韩国产中字| 亚洲一区三区在线观看| 亚洲精品视频网| 久久激情网站| 日韩有码在线电影| 日本50路肥熟bbw| 日韩av首页| 一区二区三区高清在线| 欧洲视频一区二区三区| 性做久久久久久久| 视频一区视频二区中文字幕| 久久网福利资源网站| 小毛片在线观看| 国产一区二区三区四区五区3d| 亚洲午夜久久久久久久久久久 | 天堂网免费视频| 欧美高清视频手机在在线| 精品久久一区二区| 黑森林福利视频导航| 好了av在线| 91在线精品秘密一区二区| 国产日韩在线播放| 欧美国产成人精品一区二区三区| 雨宫琴音一区二区三区| 国产亚洲日本欧美韩国| 怡红院一区二区| 欧美爱爱视频| 一本一道综合狠狠老| av在线播放天堂| 日本福利午夜视频在线| 国产精品一二三区在线| 国产精品羞羞答答| 国产熟妇一区二区三区四区| 国产一区日韩一区| 久久久999精品免费| 日韩av在线看免费观看| 一区二区三区视频播放| 欧美日韩国产精品成人| 国产女女做受ⅹxx高潮| 日本孕妇大胆孕交无码| 国产精品成人免费| 天堂资源在线亚洲视频| 色视频免费在线观看| 成人亚洲一区二区一| 91在线看www| 中文无码av一区二区三区| 亚洲视频高清| 欧美精品福利视频| 欧美久久久久久久久久久久| 精品视频免费| 亚洲乱码国产乱码精品精| 香蕉视频污视频| 亚洲精品福利电影| 日韩欧美在线第一页| 欧美在线观看www| 多野结衣av一区| 亚洲第一主播视频| cao在线观看| freexxx性亚洲精品| 亚洲图片欧美视频| 国产午夜大地久久| av女在线播放| 欧美日韩国产中文字幕| av免费中文字幕| 免费观看一级欧美片| 欧美日韩国产一中文字不卡| 女人喷潮完整视频| 成人福利av| 欧美在线小视频| 成年人三级黄色片| 99视频这里有精品| 欧美白人最猛性xxxxx69交| 女同性αv亚洲女同志| 国产欧美视频在线| 亚洲国产精品成人一区二区| 三级黄色片网站| 免费短视频成人日韩| 国产一区二区三区在线观看网站 | 亚洲成人自拍一区| 成年人网站大全| 欧美精品三级在线| 亚洲美女动态图120秒| av最新在线观看| 亚洲精一区二区三区| 国产精品a久久久久久| 国产成人精品一区二三区四区五区 | 亚洲欧美日韩人成在线播放| 毛片在线视频播放| 亚洲人成777| 日韩精品亚洲视频| 国产黄色小视频网站| 国产精品久久久免费| 成人激情视频在线| 麻豆导航在线观看| 亚洲综合一区二区| 在线观看免费不卡av| 亚洲欧美成人vr| 九九热这里只有在线精品视| 国产午夜无码视频在线观看| 成人av电影在线网| 福利网在线观看| 2022成人影院| 亚洲成人精品视频在线观看| 天天做夜夜爱爱爱| 日本女人一区二区三区| 精品国产一区二区三区四区vr| 欧美成人xxx| 色哟哟日韩精品| 人妖粗暴刺激videos呻吟| 99久久婷婷| 国产精品久久久久久久久男| 欧美人体大胆444www| 亚洲一区在线观看网站| 一级黄色大片儿| 首页国产精品| 国产精品99久久久久久久久| 国产精品国产高清国产| 亚洲在线视频网站| 交换做爰国语对白| 91麻豆精品国产91久久久平台| 68精品国产免费久久久久久婷婷| 亚洲第一第二区| 亚洲精品写真福利| 又黄又爽又色的视频| 天天色综合色| 91亚洲va在线va天堂va国| 日本福利在线| 精品久久久在线观看| 国产精品一区二区人妻喷水| 黄色欧美日韩| 国产精品一区二区在线观看| 暧暧视频在线免费观看| 亚洲成人黄色网| 欧美成人aaaaⅴ片在线看| 国产xxx精品视频大全| www.在线观看av| 1313精品午夜理伦电影| 久久久视频免费观看| 人妻丰满熟妇av无码区hd| 亚洲国产成人av好男人在线观看| 久久久久无码国产精品一区李宗瑞 | 奇米影视第四色777| 99精品国产99久久久久久白柏| 欧美乱大交xxxxx潮喷l头像| 欧洲亚洲成人| 国产91精品在线播放| 毛片网站在线观看| 欧美日韩高清影院| 成人在线观看小视频| 国产成人av一区| jizzjizz国产精品喷水| 欧美日韩国产一区二区三区不卡 | 黄色片中文字幕| 国产亲近乱来精品视频| 99九九99九九九99九他书对| 欧美成人中文| 麻豆亚洲一区| 国产一区精品福利| 欧美激情在线一区| 三级黄视频在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 九一在线免费观看| 国产乱色国产精品免费视频| 国产男女免费视频| 欧美午夜精彩| 成人欧美一区二区三区视频xxx| 日本黄色免费在线| 日韩一区二区在线视频| 午夜美女福利视频| 色婷婷一区二区| 一级性生活免费视频| 波波电影院一区二区三区| 久久午夜夜伦鲁鲁一区二区| 欧美+日本+国产+在线a∨观看| 久久精品人成| 亚洲91在线| 欧美影院久久久| 1区2区在线观看| 亚洲天堂男人天堂女人天堂| 国产成人精品一区二三区四区五区| 天天综合色天天| 免费在线观看a级片| 91女厕偷拍女厕偷拍高清| 一区二区三区四区毛片| 国产亚洲精品v| 国产对白在线播放| 亚洲精品蜜桃乱晃| 91免费看蜜桃| 日韩漫画puputoon| 国内精品视频久久| 色综合久久久久综合一本到桃花网| 精品欧美久久久| 中文字幕网址在线| 五月激情综合网| 玖玖爱这里只有精品| 国产欧美视频一区二区三区| 波多野结衣办公室双飞| 久久国产尿小便嘘嘘| 国产亚洲天堂网| 欧美色一级片| 日本一级淫片演员| 青青草成人影院| 蜜桃狠狠色伊人亚洲综合网站| 精品国产亚洲一区二区三区在线| 国产精品国产自产拍高清av水多| 超碰在线公开| 欧美黑人巨大精品一区二区| 老司机午夜在线视频| 国产一区二区激情| 国产在线电影| 国产婷婷97碰碰久久人人蜜臀| 精品人妻无码一区二区 | 亚洲三区在线播放| 精品国产91乱码一区二区三区| 国产精品久久久久久69| 欧美午夜电影网| www.久久视频| 欧洲激情一区二区| 黄色av网站免费观看| 天天亚洲美女在线视频| 亚洲综合一二三| 香蕉av福利精品导航 | 色偷偷久久一区二区三区| 日韩欧美中文字幕一区二区| 亚洲一区二区在线免费看| 激情五月婷婷小说| 亚洲精品免费视频| 久久久久亚洲AV成人| 亚洲精品欧美在线| 色婷婷在线视频观看| 亚洲欧美aⅴ...| 久久久久久国产精品视频| 一区二区免费在线| 国产午夜视频在线| 午夜精品视频在线观看| 黄色片免费观看视频| 色域天天综合网| 国产精品无码一区| 欧美精品一卡两卡| 国产成人久久精品77777综合 | 免费看男男www网站入口在线 | 欧美日本韩国一区二区三区视频| 亚洲天堂男人网| 日韩一区二区在线观看视频| 亚洲不卡免费视频| 亚洲精品www久久久| 九色网友自拍视频手机在线| 伊人久久五月天| 韩国av网站在线| 久久久久久久网站| 97成人资源| 成人精品一区二区三区电影免费| 日本免费一区二区三区视频| 国产激情美女久久久久久吹潮| 久久99精品久久久久久欧洲站| 欧美成人在线免费观看| 日韩伦理视频| 久久精品电影网| 欧美96在线| 久久久女女女女999久久| 亚洲黄色网址| 91久久精品国产91性色| 高清日韩中文字幕| 欧美一区二区在线视频观看| 99精品国产一区二区三区| 白白操在线视频| 亚洲欧美日韩精品一区二区| 中文字幕av不卡在线| 高清av一区二区| 成人在线手机视频| 亚洲黄色录像片| 黄色污污网站在线观看| 欧美一区二区美女| 猫咪在线永久网站| 久久99久久99精品中文字幕| 91精品产国品一二三产区| 亚洲mm色国产网站| 免费短视频成人日韩| 青青草综合视频| 性高湖久久久久久久久| 亚洲av毛片在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 欧美一区免费观看| 91官网在线免费观看| 粉嫩小泬无遮挡久久久久久| 一区二区av在线| 大菠萝精品导航| 91成人伦理在线电影| 欧美色婷婷久久99精品红桃| 国产va亚洲va在线va| 青青草97国产精品免费观看无弹窗版| 动漫av在线免费观看| 国产精品久久国产精麻豆99网站| 国产性xxxx高清| 日韩亚洲欧美成人一区| 国产高清在线| 97视频免费看| 欧洲大片精品免费永久看nba| 色女人综合av| 六月天综合网| www.美色吧.com| 亚洲人成电影网站色mp4| 中文字幕乱码人妻无码久久| 日韩精品视频在线播放| 欧美韩日亚洲| 亚洲自拍av在线| 久久久国产精品| 色婷婷综合网站| 中文在线一区二区| 无码人妻丰满熟妇精品区| 亚洲高清色综合| 爱情岛亚洲播放路线| 成人18视频| 亚洲色图插插| 夜夜夜夜夜夜操| 国产精品免费视频观看| 午夜久久久久久久久久影院| 亚洲乱码国产乱码精品精天堂| 国产羞羞视频在线播放| 91丨九色丨国产| 欧美黄在线观看| 手机在线播放av| 亚洲激情av在线| 精品国产九九九| 欧美日韩电影在线观看| 欧美久久一区二区三区| 久久www视频| eeuss国产一区二区三区| 久久9999久久免费精品国产| 精品播放一区二区| a'aaa级片在线观看| 国产一区再线| 亚洲少妇在线| 少妇精品一区二区三区| 欧美视频中文字幕在线| 久久国产精品高清一区二区三区| 欧美在线一区二区三区四| 你懂的视频欧美| 999在线免费视频| 国产精品素人视频| 一级aaaa毛片| 欧美成人在线网站| gogo人体一区| 国产日韩一区二区在线| 日本一区二区视频在线| 久久综合久久综合亚洲| 日日噜噜夜夜狠狠久久丁香五月| 免费成人av在线| 91免费公开视频| 精品99一区二区三区| 欧美激情20| 性欧美.com| 国产一区二区三区在线观看精品 | 久久99久久人婷婷精品综合| 成人在线免费播放视频| 国产精品剧情在线亚洲| 国产乱淫a∨片免费观看| 欧美精品久久久久久久免费观看 | 一区二区高清视频| 国产盗摄视频一区二区三区| 国产一级片毛片| 日韩在线观看视频免费| 97久久精品| 激情五月婷婷久久| 亚洲精品国产品国语在线app| 神马一区二区三区| 国产欧美日韩精品丝袜高跟鞋| 午夜欧美精品| 人人妻人人藻人人爽欧美一区| 91精品麻豆日日躁夜夜躁| 涩涩在线视频| 久久精品国产精品亚洲精品色| 不卡的av电影在线观看| 136福利视频导航| 91av成人在线| 91tv精品福利国产在线观看| aaaaa级少妇高潮大片免费看| 欧美日韩高清不卡| 亚洲精品mv| 久久av综合网| 中文字幕在线观看一区二区| 天天操天天干天天| 91社区国产高清|