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

首頁綜合 正文
目錄

柚子快報激活碼778899分享:Postman

柚子快報激活碼778899分享:Postman

http://yzkb.51969.com/

一、接口測試就是測試系統(tǒng)組件接口之間的一種測試。

分類: 測試外部接口:測試被測系統(tǒng)和外部系統(tǒng)之間的接口。(只需要測試正例即可) 測試內(nèi)部接口: 1.內(nèi)部接口只提供給內(nèi)部系統(tǒng)使用。(預(yù)算系統(tǒng)、承保系統(tǒng),也只需要測試正例即可) 2.內(nèi)部接口提供給外部系統(tǒng)使用(測試必須非常全面,正例,各種異常場景,權(quán)限控制)

二、接口測試的流程及用例的設(shè)計

1.拿到接口api文檔(通過抓包工具獲?。煜そ涌跇I(yè)務(wù)、接口地址、鑒權(quán)方式、入?yún)ⅰ⒊鰠?、錯誤碼的設(shè)置 2.編寫接口的用例及評審 思路: 正例 :輸入正常的入?yún)?,接口能夠成功返回?shù)據(jù) 反例 :鑒權(quán)反例——鑒權(quán)碼為空,鑒權(quán)碼錯誤,鑒權(quán)碼過期,… 參數(shù)反例——參數(shù)為空,參數(shù)類型異常、參數(shù)長度異?!?錯誤碼覆蓋——根據(jù)業(yè)務(wù)來定的 其他錯誤場景——接口黑名單、接口調(diào)用次數(shù)的限制、分頁場景 3.使用接口測試工具postman執(zhí)行接口測試 4.postman+newman+Jenkins實現(xiàn)持續(xù)集成,并且輸出測試報告并發(fā)送郵件

三、執(zhí)行接口測試

請求頁面: Params : get 請求傳參 authorization : 鑒權(quán) hearders : 請求頭 Body : post請求傳參 form-data : 既可以傳鍵值對參數(shù)也可以傳文件 x-www-from-urlencoded 只能傳鍵值對參數(shù) raw : json \ text \ xml \ html \ javascript binary : 把文件以二進(jìn)制方式傳參 pre-request-script 請求之前的腳本 tests 請求之后的斷言 cookies 用于管理cookie信息 響應(yīng)頁簽: Body 接口返回的數(shù)據(jù) … 四、接口關(guān)聯(lián) 增刪改查注意接口的閉環(huán),新增數(shù)據(jù)需要進(jìn)行清理

1.使用json提取器實現(xiàn)接口關(guān)聯(lián)

{

"data": {

"dayList": [

{

"label": "01月07日",

"value": "2024-01-07"

}

],

"weekList": [

{

"label": "01月01日-01月07日",

"value": "2024-01-01"

}

],

"monthList": [

{

"label": "12月",

"value": "2023-12-01"

}

]

},

"code": 2000,

"msg": null

}

第一個接口: //使用json提取器提取value //打印返回值 console.log(responseBody); //把返回的字符串格式的數(shù)據(jù)轉(zhuǎn)換成對象的形式 //定義一個變量進(jìn)行接收 把結(jié)果轉(zhuǎn)換成一個對象后保存在result這個變量里來 //JavaScript 中的 JSON.parse() 方法用于解析一個 JSON 字符串,并將其轉(zhuǎn)換為 JavaScript 對象。 var result = JSON.parse(responseBody); console.log(result.data.dayList[0].value); //注意:要把提取出來的值放在一個變量里面去 day = result.data.dayList[0].value //再把取得的這個值設(shè)置為全局變量 pm.globals.set(“day”, day); 第二個接口: 引用變量使用雙大括號 {{day}}

2.使用正則表達(dá)式提取器來實現(xiàn)接口關(guān)聯(lián)

同上例子:

// //使用正則表達(dá)式提取實現(xiàn)接口關(guān)聯(lián),match匹配

// var result= responseBody.match(new RegExp('"value":"(.*?)"','g'));

// console.log(result);

// // 定義正則表達(dá)式模式

// var regexPattern = /\d{4}-\d{2}-\d{2}/g;

// // 定義存儲提取值的數(shù)組

// var values = [];

// // 提取匹配的日期

// result.forEach(function(item) {

// var match = item.match(regexPattern);

// if (match) {

// values.push(match[0]);

// }

// });

// // 打印提取的日期

// console.log(values);

// //賦值day提取第一個值

// var day = values[0]

// console.log(day);

-------------------------------------------------------------------------------------

// 解析響應(yīng)體

var jsonData = JSON.parse(pm.response.text());

// 定義正則表達(dá)式模式

var regexPattern = /"value":\s*"(.*?)"/g;

// 定義存儲提取值的數(shù)組

var values = [];

// 提取"value"字段的值

var match;

while ((match = regexPattern.exec(pm.response.text())) !== null) {

values.push(match[1]);

}

// 獲取第一個值

var firstValue = values[0];

// 打印第一個值

console.log("First value: " + firstValue);

// 設(shè)置全局變量

pm.globals.set("firstValue", firstValue);

//結(jié)果:First value: 2024-01-07

注意:

問題1:/“value”:\s*"(.?)"/g 中的 \s是什么意思呢?

在正則表達(dá)式中,\s表示匹配任何空白字符,包括空格、制表符、換行符等。\s表示匹配零個或多個連續(xù)的空白字符。 在上述示例中,“value”:\s"(.?)“是一個正則表達(dá)式模式,用于匹配類似于"value”: “some value"這樣的文本。具體匹配規(guī)則如下: ● “value”::匹配字面字符串"value”:。 ● \s:匹配零個或多個空白字符。 ● “:匹配字面字符串”。 ● (.?):使用非貪婪模式匹配任意字符序列,并將其捕獲到匹配結(jié)果中。 ● “:匹配字面字符串”。 這個正則表達(dá)式模式的目的是提取出雙引號引起來的"value"字段的值。通過使用\s可以忽略字段名和字段值之間的任何空白字符。捕獲分組(.*?)用于提取實際的字段值,并將其添加到values數(shù)組中。 請注意,正則表達(dá)式中的\是一個轉(zhuǎn)義字符,用于表示特殊字符,例如\s表示空白字符。因此在正則表達(dá)式中,我們需要使用\s來表示一個普通的反斜杠字符。

問題2:regexPattern.exec() 這是什么方法?

regexPattern.exec()是JavaScript正則表達(dá)式對象的一個方法,用于在字符串中執(zhí)行正則表達(dá)式匹配。它搜索字符串中的匹配項,并返回一個數(shù)組,其中包含匹配的結(jié)果。 在上述示例中,regexPattern是一個正則表達(dá)式對象,用于匹配"value":\s*"(.*?)"這樣的模式。exec()方法在字符串pm.response.text()中執(zhí)行正則表達(dá)式匹配,并返回匹配的結(jié)果。 如果匹配成功,則exec()方法返回一個數(shù)組,其中第一個元素是匹配的完整文本,后續(xù)元素是捕獲分組的匹配結(jié)果。如果沒有匹配的項,則返回null。 在示例代碼中,我們使用while循環(huán)來反復(fù)調(diào)用regexPattern.exec()方法,直到?jīng)]有更多的匹配項為止。每次調(diào)用exec()方法,都會將下一個匹配項返回給match變量,并將其添加到values數(shù)組中。 請注意,exec()方法在每次調(diào)用時都會更新正則表達(dá)式對象的內(nèi)部狀態(tài),以便在下一次調(diào)用時繼續(xù)搜索。這樣可以實現(xiàn)迭代地獲取所有匹配項。

五、POSTMAN內(nèi)置動態(tài)參數(shù)以及自定義的動態(tài)參數(shù)

postman內(nèi)置動態(tài)參數(shù):

{{$}} 指postman的內(nèi)置動態(tài)參數(shù)

{{$timestamp}}生成當(dāng)前時間的時間戳

{{$randomint}}生成0-1000之間的隨機數(shù)

{{$guid}} 生成速記GUID字符串 (隨機生成字符串)

自定義動態(tài)參數(shù) —— 自定義的動態(tài)參數(shù)是可以進(jìn)行斷言的

var times = Date.now();//手動的獲取時間戳

pm.globals.set("times",times);//設(shè)置為全局變量

使用時使用{{times}}

六、postman的斷言

status code :code is 200 —— 檢查返回的狀態(tài)碼是否為200 response body : contains string —— 檢查響應(yīng)中包括指定字符串 response body : json value check —— 檢查響應(yīng)中其中json的值 response body : is equal to a string —— 檢查相應(yīng)等于一個字符串 … 狀態(tài)斷言&業(yè)務(wù)斷言 狀態(tài)斷言:

pm.test("Status code is 200 檢查返回的狀態(tài)碼是否為200 ", function () {

pm.response.to.have.status(200);

});

業(yè)務(wù)斷言:

pm.test("Body matches string 檢查響應(yīng)中包含dayList", function () {

pm.expect(pm.response.text()).to.include("dayList");

});

示例: 響應(yīng)數(shù)據(jù)1:

{"tag": {

"id":4858,

"name":"好好學(xué)習(xí)123456789"

}

}

備注:其中123456789 是自定義動態(tài)參數(shù) 【自定義動態(tài)參數(shù) —— 自定義的動態(tài)參數(shù)是可以進(jìn)行斷言的 var times = Date.now();//手動的獲取時間戳 pm.globals.set(“times”,times);//設(shè)置為全局變量 使用時使用{{times}}】

pm.test("檢查響應(yīng)中的包括標(biāo)簽名", function () {

//方式一:

pm.expect(pm.response.text()).to.include("好好學(xué)習(xí)"+ pm.globals.get("times"));

});

//方式二:

pm.expect(pm.response.text()).to.include("好好學(xué)習(xí)"+ globals["times"]);

});

//方式三:

pm.expect(pm.response.text()).to.include("好好學(xué)習(xí)"+ globals.times);

});

響應(yīng)數(shù)據(jù)2:

{

"errcode":0,

"errmsg":"ok"

}

舉例說明 — response body : json value check —— 檢查響應(yīng)中其中json的值

pm.test("檢查errcode為0",function(){

var jsonData = pm.response.json();

pm.expect(jsonData.errcode).to.eql(0);

});

七、postman批量運行測試用例

run collection 文件上傳:如下圖

八、postman數(shù)據(jù)驅(qū)動之csv文件和json文件的處理

正例和反例 data.csv —— 用notepad++打開

備注:下圖糾正:search 同理 data.json文件 由列表+大括號構(gòu)建的數(shù)據(jù)格式

九、測試必須帶請求頭的接口

常見的請求頭: Host 請求的主機地址 Connection 連接方式 Accept 客戶端所接受的數(shù)據(jù)格式 X-Requested-With 異步請求 User-Agent 客戶端的用戶類型 Referer 來源 Cookie cookie信息 Content-Type 請求內(nèi)容的格式

十、postman接口mock service服務(wù)器

mock模擬 后端接口還沒有開發(fā)完成,前端的業(yè)務(wù)需要調(diào)用后端的接口。 {“error_code”:0,“msg”:“返回成功”,“data”:[]} https://6aa80496-4097-4a5d-908f-e6faff160391.mock.pstmn.io

十一、postman的cookie鑒權(quán)

什么是cookie? cookie是一小段文本,格式 key=value cookie鑒權(quán)的原理: 1.當(dāng)客戶端第一次訪問服務(wù)器的時候,那么服務(wù)器就會生成cookie信息,并且在響應(yīng)頭的set-cookie里面把生成的cookie信息發(fā)送給客戶端。 2.當(dāng)客戶端第二次-N次訪問服務(wù)器時,那么客戶端就會在請求頭的cookie帶上cookie信息,從而實現(xiàn)鑒權(quán)。 cookie的分類: 會話cookie:保存在內(nèi)存,當(dāng)瀏覽器關(guān)閉后就會自動化清除cookie 持久cookie:保存在硬盤里,當(dāng)瀏覽器關(guān)閉后不會清除,只有當(dāng)失效時間到了才會自動清除 當(dāng)?shù)谝淮卧L問頁面時,postman會自動保存cookie,第二次去請求時,則會自動帶上cookie信息 正則表達(dá)獲取token:如下圖

十二、Newman

postman 專為接口測試而生,Newman是專為postman而生。Newman可以讓我們的postman的腳本通過非GUI(命令行)的方式去運行。即可和Jenkins去集成 運行命令:newman run 常用參數(shù):-e 應(yīng)用環(huán)境變量 -g 引用全局變量 -d 引用數(shù)據(jù)文件 -n 指定測試用例迭代的次數(shù) -r cli,html.json.junit --reporter-html-export 指定生成HTML的報告 新建一文件,將postman里的testcase、environment、global、data 等導(dǎo)出到該文件處,在該路徑下,cmd,運行newman run eg: E:\postmam>newman run testcase.json -e environment.json -g globals.json -d data.json -r cli,html.json.junit --reporter-html-export report.html 注意:Newman的安裝 詳見:https://blog.csdn.net/zaxuezhe/article/details/123401627 安裝報告器:使用 npm 安裝正確的報告器 npm install -g newman-reporter-html newman run collection.json -r html -r html 指定了使用 html 報告器(對應(yīng)于 newman-reporter-html 包)。如果你想要將報告輸出到文件,可以使用 --reporter-{{reporter-name}}-export 參數(shù) 生成一個名為 report.html 的 HTML 報告文件 newman run collection.json -r html --reporter-html-export report.html

十三、Postman+Newman+Jenkins實現(xiàn)接口測試持續(xù)集成

1.新建一個項目 2.設(shè)置自定義工作空間 3.構(gòu)建執(zhí)行Windows的批處理命令 Execute Windows batch command 4.執(zhí)行系統(tǒng)的Groovy腳本 Execute system Groovy script 5.生成的HTML的報告集成到Jenkins

柚子快報激活碼778899分享:Postman

http://yzkb.51969.com/

參考閱讀

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

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

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

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

發(fā)布評論

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

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄