欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:postman使用教程

柚子快報(bào)邀請(qǐng)碼778899分享:postman使用教程

http://yzkb.51969.com/

postman接口測(cè)試

postman頁(yè)面介紹

請(qǐng)求:

params:get請(qǐng)求的參數(shù)authorization:鑒權(quán)heander:請(qǐng)求頭

accept:客戶端接受的數(shù)據(jù)類型content-type:客戶端發(fā)送給服務(wù)器的數(shù)據(jù)類型user-agent:客戶端的類型xmlhttprequest:異步請(qǐng)求… body:post請(qǐng)求傳參

none:沒(méi)有參數(shù)from-data:文件上傳x-www-from-urlencodeed:表單請(qǐng)求(鍵值對(duì))raw:使用原始數(shù)據(jù)上傳(json、xml、html等)binary:二進(jìn)制文件上傳 pre-request script:前置腳本,請(qǐng)求之前的腳本,對(duì)請(qǐng)求參數(shù)進(jìn)行處理tests:請(qǐng)求之后的腳本,可用作斷言、設(shè)置環(huán)境變量settings:設(shè)置cookis:是postman用于自動(dòng)管理cookie的功能

響應(yīng):

body:返回值

pretty:以不停的合適查看返回結(jié)果raw:以文本格式查看返回結(jié)果preview:以網(wǎng)頁(yè)格式查看返回結(jié)果 cookies:響應(yīng)的cookiesheaders:響應(yīng)頭testresults:斷言的結(jié)果

調(diào)試:

console:控制臺(tái)用于調(diào)試,可以顯示出接口請(qǐng)求信息,在pre-request script和tests編寫代碼后,也可在控制臺(tái)查看結(jié)果。

//打印返回值:console.log(變量名)

console.log(responseBody);

返回值類型為字符串 要轉(zhuǎn)化為json對(duì)象(通過(guò)key取值) json.parse(responseBody)

1、請(qǐng)求接口

填寫接口地址、接口請(qǐng)求類型、接口請(qǐng)求頭、接口請(qǐng)求參數(shù),點(diǎn)擊send發(fā)送請(qǐng)求,完成一個(gè)接口的請(qǐng)求。

2、斷言

完成接口請(qǐng)求后,需要做斷言,通過(guò)判斷接口返回的數(shù)據(jù)是否符合預(yù)期,從而判斷接口的請(qǐng)求是否符合預(yù)期,在批量執(zhí)行接口時(shí),斷言能直接判斷接口請(qǐng)求是否正確。斷言腳本需放在Test中。

//斷言的名稱,可自定義

pm.test("添加成功", function () {

//用jsonData變量存儲(chǔ)json類型的接口返回?cái)?shù)據(jù)

var jsonData = pm.response.json();

//判斷接口響應(yīng)碼是否與預(yù)期集合中的某個(gè)值一致。判斷jsonData.code的值是否為200

pm.expect(jsonData.code).to.eql(200);

});

接口的返回結(jié)果為

{

"msg": "入庫(kù)成功,報(bào)表生成",

"code": 200,

"data": {

"id": "1578726211851386880"

}

}

我用code:200作為斷言的依據(jù),jsonData.code獲取code值,code:200則接口斷言成功,否為失敗。 在Test Results中可以查看斷言結(jié)果,pass為斷言成功 斷言方式有多種可根據(jù)需求來(lái)選擇。

3、關(guān)聯(lián)

關(guān)聯(lián)就是將上一個(gè)接口的返回值提供給下一個(gè)接口使用,這里我們用登錄接口進(jìn)行舉例,登錄成功后會(huì)返回token,token要作為下一個(gè)接口的請(qǐng)求頭,才能請(qǐng)求數(shù)據(jù)。 方法一: 提取token并設(shè)置為環(huán)境變量

//用jsonData變量存儲(chǔ)json類型的接口返回?cái)?shù)據(jù)

var jsonData = pm.response.json();

//用token存儲(chǔ)jsonData.token的值,并設(shè)置為環(huán)境變量

pm.environment.set("token", jsonData.token);

點(diǎn)擊右上角眼睛,可查看設(shè)置成功的環(huán)境變量,這樣方便下一個(gè)接口引用 引用變量,除了在Pre-request Script中,其余模塊都可用{{變量名}}引用變量

方法二: 正則表達(dá)式關(guān)聯(lián)接口

console.log(responseBody);

//通過(guò)正則匹配值,match匹配

var datas =responseBody.match(new RegExp('"access_token":"(.*?)"'));

console.log(datas[1])

4、動(dòng)態(tài)參數(shù)

第一種:系統(tǒng)自帶的動(dòng)態(tài)參數(shù)

{{$timestamp}} //動(dòng)態(tài)時(shí)間戳

{{$randomlnt}} //動(dòng)態(tài)0-1000的整形

{{$guid}} //動(dòng)態(tài)的guid字符串

第二種:自定義動(dòng)態(tài)參數(shù)

var times =Date.now();

pm.globals.set(“times”,times);

定時(shí)執(zhí)行5s

const sleep=(milliseconds)=>{

const start =Date.now();

while (Date.now()<=start+milliseconds){}

};

sleep(5000);

一旦需要斷言隨機(jī)數(shù),那么就必須使用自定義動(dòng)態(tài)參數(shù)并且要注意如下事項(xiàng):

在斷言中不能使用{{}}引用變量

需要通過(guò)pm.globals.get(“變量名”),獲取變量

5、批量執(zhí)行測(cè)試用例

迭代:迭代次數(shù)

延遲:

data:數(shù)據(jù)驅(qū)動(dòng)

6、postman的參數(shù)化(csv,json)

json格式:

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-fD3yHNRG-1664971568134)(image/軟件測(cè)試/1664892897525.png)]

csv格式

文件中數(shù)據(jù)默認(rèn)為全局變量用{{}}引用即可

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-GEPOEMMP-1664971568134)(image/軟件測(cè)試/1664893744628.png)]

必須帶請(qǐng)求頭的接口

cookie鑒權(quán)

cookie是一段鍵值對(duì)的文本

cookie可以傳輸token和session

1.當(dāng)客戶端第一次訪問(wèn)服務(wù)器的時(shí)候,那么服務(wù)器就會(huì)生成cookie,并且通過(guò)響應(yīng)里面的set-cookie傳輸給客戶端??蛻舳藭?huì)自動(dòng)保存。 2當(dāng)客戶端第2-N次訪問(wèn)服務(wù)器的時(shí)候,那么客戶端就會(huì)自動(dòng)的讀取本地的cookie,然后根據(jù)主機(jī)IP或域名添加對(duì)應(yīng)的cookie從而實(shí)現(xiàn)鑒權(quán)??蛻舳说谝淮卧L問(wèn)服務(wù)器時(shí),服務(wù)器會(huì)產(chǎn)生cookie,并通過(guò)

postman自動(dòng)處理cookie,但不是萬(wàn)能的,會(huì)有坑

7、mock測(cè)試

mock:模擬,

應(yīng)用場(chǎng)景:

1、前后端分離的架構(gòu)下前后端開發(fā)是不同步的,前端的數(shù)據(jù)展示依賴于后端的接口,這時(shí)候就需要使用mock測(cè)試

前后端連調(diào):去掉mock,讓前端訪問(wèn)真實(shí)的后端接口。

2、當(dāng)被測(cè)系統(tǒng)調(diào)用第三方的接口,這時(shí)想測(cè)試這個(gè)接口的錯(cuò)誤場(chǎng)景。

3、去甲方展示demo,靜態(tài)網(wǎng)頁(yè)。

8、接口加解密

1、對(duì)稱式加密(私鑰加密)

常見有AES,DES,Base64,特點(diǎn):加密和解密都是相同的密鑰

AES加密,AES 加密最常用的模式就是 ECB模式 和 CBC 模式,當(dāng)然還有很多其它模式,他們都屬于AES加密。ECB模式和CBC 模式倆者區(qū)別就是 ECB 不需要 iv偏移量,而CBC需要。所以在用ECB摸索時(shí)只需傳參密鑰、明文,而CBC模式要添加iv偏移量

postman中使用CryptoJs庫(kù)進(jìn)行加密,CryptoJs支持常見的加密方式AES,MD5等

簡(jiǎn)單的AES加密

//CryptoJS.AES.encrypt("需要加密的內(nèi)容","密鑰")

var aes_value=CryptoJS.AES.encrypt("admin","mashang").toString();

console.log(aes_value); //輸出值

AES-128-CBC加密

//方法1

//定義一個(gè)aes加密函數(shù)

function encrypt(content, keyStr,iv) {

let key = CryptoJS.enc.Utf8.parse(keyStr);

let new_iv = CryptoJS.enc.Utf8.parse(iv);

let srcs = CryptoJS.enc.Utf8.parse(content);

let encrypted = CryptoJS.AES.encrypt(srcs, key, {iv: new_iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });

return encrypted.toString();

}

//函數(shù)初始化需要傳三個(gè)值,"待加密字段","密鑰","iv偏移量"

var aes_username=encrypt("admin","key123","iv123");

//打印出aes_username的值

console.log(aes_username);

//方法2

const key = CryptoJS.enc.Utf8.parse("密鑰值"); //這里使用base64 或者 utf8 要看要求,加解密一致即可

const iv = CryptoJS.enc.Utf8.parse('iv偏移變量'); //十六位十六進(jìn)制數(shù)作為密鑰偏移量

//定義aes加密函數(shù)

function Encrypt(word) {

let srcs = CryptoJS.enc.Utf8.parse(word);

let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });

return encrypted.toString();

}

//加密用戶名稱、密碼

var aes_username=Encrypt("admin");

var aes_password=Encrypt("123456")

//將加密的用戶名、密碼設(shè)置為局部環(huán)境變量

pm.environment.set("aes_username",aes_username);

pm.environment.set("aes_password",aes_password);

//打印出加密后的用戶名和密碼

console.log(aes_username);

console.log(aes_password);

AES-128-ECB加密

DES加密

CryptoJS.DES.encrypt("需要加密的內(nèi)容","密鑰")

var aes_value=CryptoJS.DES.encrypt("admin","ceshi").toString();

console.log(aes_value);

Base64加密

CryptoJS.enc.Base64.stringify("需要加密的內(nèi)容")

//先把待加密字符轉(zhuǎn)換為utf-8格式

var utf8_str=CryptoJS.enc.utf8.parse("admin");

var base64_str=CryptoJS.enc.Base64.stringify(utf8_str);

console.log(base64_str);

2、非對(duì)稱加密(雙密鑰加密 ):RSA

有公鑰和私鑰兩個(gè)密鑰,公鑰加密,私鑰解密

postman本身不支持這種加密方式,需要引用外部的js文件

3、只加密不解密,MD5、SHA、HmacSHA

MD5 32位小寫加密,

var md5_str=CryptoJS.MD6("admin").toString();

console.log(md5_str)

SHA 256 解密

var sha_str=CryptoJS.SHA256("admin").toString();

console.log(sha_str)

HamcSHA1

//CryptoJS.HmacSHA1("待加密的字符","密鑰").toString()

var HmacSHA1_str=CryptoJS.HmacSHA1("admin","ceshi").toString();

console.log(HmacSHA1)

4、Sign簽名,比混合加密更嚴(yán)格的加密方式,sign的生命周期一般是1-3分鐘

首先獲取到所有的參數(shù)(params和body)

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-18maeX04-1664971568134)(image/軟件測(cè)試/1664371555633.png)]

把所有的參數(shù)組合成一個(gè)字典

自定義一個(gè)根據(jù)ky的ACSII進(jìn)行升序排列的算法,把所有的參數(shù)和值進(jìn)行升序排列

獲取一個(gè)訂購(gòu)好nonce

獲取一個(gè)當(dāng)前時(shí)間戳

把訂單號(hào)nonce加到參數(shù)之前和時(shí)間戳加到參數(shù)之后

把最終的參數(shù)進(jìn)行加密(混合)處理,生成sign

把sign簽名在請(qǐng)求頭里面?zhèn)鹘o后端

柚子快報(bào)邀請(qǐng)碼778899分享:postman使用教程

http://yzkb.51969.com/

參考文章

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18364660.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄