postman使用

1.如何判斷接口是否請求成功

2.如何進行接口批量捺萌、定期測試

3.如何處理依賴接口問題(比如商品下單的接口必須要求先登錄)

接口結(jié)果判斷

首先鹿寨,既然是自動化測試新博,那么我們肯定需要工具?(Postman)?或者代碼能幫我們直接判斷結(jié)果是否符合預(yù)期。那么在接口測試上释移,大體就兩個思路:

判斷請求返回的?code?是否符合預(yù)期

判斷請求返回的內(nèi)容中是否包含預(yù)期的內(nèi)容(關(guān)鍵字)

postman:

獲取返回數(shù)據(jù)的頭部信息:postman.getResponseHeader("")

設(shè)置全局變量:postman.setGlobalVariable("variable_key", "variable_value");

snippets中提供的代碼模版

1.Status code : Code is 200

//根據(jù)返回的 Code 判斷請求情況

tests["Status code is 200"] = responseCode.code === 200;?

2.Response body: Contains string

//判斷返回的內(nèi)容中是否存在“關(guān)鍵字”叭披。(tests 的 key 可修改,將不再強調(diào))?

tests["Body matches string"] = responseBody.has("這里可以改為你要判斷的關(guān)鍵字內(nèi)容");

//如上文提到的:

// 判斷結(jié)果中是否存在 access_token 關(guān)鍵字

tests["has access_token"] = responseBody.has("access_token")

?3.Response body: is equal to string

//判斷返回內(nèi)容是否跟預(yù)期完全相等玩讳。

tests["Body is correct"] = responseBody === "這里可以改為你的預(yù)期內(nèi)容";

4.Response body: JSON value check

//上文提到涩蜘,responseBody 為字符串類型,支持轉(zhuǎn)為 Json 格式

var jsonData = JSON.parse(responseBody);

tests["Your test name"] = jsonData.value === 100;

5.Response time is less than 200ms

//判斷請求時長是否小于200ms ,具體時長按情況自定義

tests["Response time is less than 200ms"] = responseTime < 200;

*tests特定寫法熏纯、斷言顯示的內(nèi)容就是【】中的字符串同诫,可隨意編寫

集合(批量)測試

Environment :用于切換接口運行的環(huán)境

Iteration :用于設(shè)置接口一共要運行的次數(shù)。這里我設(shè)置了 3 次樟澜,可以在右邊的 RESULTS 中看出误窖,每個接口都被運行了 3 次。

Delay : 設(shè)置每次運行接口之間的時間間隔秩贰,單位為毫秒霹俺。

Data File : 上傳測試數(shù)據(jù)文件

使用變量

引用一個變量的語法:{{變量名}},我們將賬戶和密碼字段的參數(shù)值都設(shè)置為變量:{{username}} 毒费、{{password}} 丙唧。修改完直接點擊運行 (Send) 當然是不行的,因為目前這兩個變量還未被賦值觅玻,不過我們可以在 Pre-request Script 面板中進行賦值操作:

Pre-request Script

Pre-request Script 與 Tests 類似想际,區(qū)別在于:Pre-request Script 中的腳本是在執(zhí)行請求之前運行,而Tests 中的腳本則是在請求完成之后執(zhí)行溪厘。所以胡本,我們可以在 Pre-request Script 功能區(qū)中用腳本先個上面兩個變量進行賦值,如:

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

postman.setGlobalVariable("username", "wuhui2224");

postman.setGlobalVariable("password", "123456");

測試數(shù)據(jù)集

Data File?, 在運行集合前的這個選項就是用來上傳測試數(shù)據(jù)(文件)以賦值給相應(yīng)變量的畸悬。我們先以?CSV?格式的測試數(shù)據(jù)為例:

username,password

wuhui2224,123456

zhangsheng,222222

數(shù)據(jù)格式類似表格侧甫,第一行表示對應(yīng)的變量名,下面 2 行表示 2 組賬號密碼數(shù)據(jù)蹋宦,我們保存一份內(nèi)容為上述示例數(shù)據(jù)后綴名為.csv?的文件

定期任務(wù)

Postman?提供了一個?Monitors?(監(jiān)視器)功能闺骚,支持我們提交一個測試任務(wù),安裝設(shè)置的定時器進行運行妆档,如每小時測試一次

請求依賴問題

大部分依賴問題其實本質(zhì)上就是一個接口間數(shù)據(jù)傳遞的問題,比如調(diào)用登錄接口后返回一個標識虫碉,假設(shè)為?token?贾惦,那么我們請求下訂單接口時只要一起攜帶?token?參數(shù)進行請求即可。

1.保證接口調(diào)用順序

2.將接口A返回的數(shù)據(jù)傳遞給后續(xù)的接口B、C须板、D

自定義執(zhí)行順序

當然碰镜,如果只有默認的一個執(zhí)行順序的話,通常沒法滿足我們復(fù)雜的業(yè)務(wù)需求习瑰,所以 Postman 為我們提供了一個函數(shù):postman.setNextRequest("填寫你要跳轉(zhuǎn)的接口名") 绪颖,支持我們跳轉(zhuǎn)到指定接口繼續(xù)執(zhí)行,舉個例子:

我們在運行完 Request1 接口成功后甜奄,不需要再運行 Request2 而是直接跳至 Request3 柠横,那么我可以在 Request1 接口的 Tests 功能區(qū)中執(zhí)行跳轉(zhuǎn)代碼

這里需要注意幾點:

1.postman.setNextRequest() 只在運行集合測試的時候生效,也就是說我們單獨運行 (Send) 接口Request1 時课兄,函數(shù)是不起作用的牍氛。

2.當我們運行集合測試成功從 Request1 -> Request3 后,如果 Request3 后面還有接口烟阐,那么后面的接口仍然繼續(xù)按默認順序執(zhí)行搬俊,即圖中的接口 Request4 仍會被執(zhí)行。

3.指定的跳轉(zhuǎn)接口必須屬于同一個集合中蜒茄。

4.setNextRequest() 函數(shù)不管在 Tests 腳本中何處被調(diào)用唉擂,它都只在當前腳本最后才被真正執(zhí)行。比如我們將圖中的第二行與第一行互調(diào)后檀葛,那么在運行跳轉(zhuǎn)函數(shù)后第二行代碼仍會被執(zhí)行玩祟。

Postman 中的操作

1.我們目錄中已保證 Request1 接口優(yōu)先執(zhí)行

2.Request1 中 Tests 的代碼情況:

if(responseCode.code === 200 && responseBody.has("access_token")){

? //如果 code 為 200, 并且返回的數(shù)據(jù)中存在 access_token 關(guān)鍵字驻谆,則認為登錄成功

? tests["login"] = true;

? //將返回的內(nèi)容轉(zhuǎn)為 json 格式卵凑,并且取到 access_token 內(nèi)容,添加到環(huán)境變量中

? var jsonData = JSON.parse(responseBody);

? //access_token的取值方式視具體的 json 數(shù)據(jù)結(jié)構(gòu)而定

? postman.setEnvironmentVariable("token",jsonData.result.access_token);?

? //跳轉(zhuǎn)到 Request3 接口

? postman.setNextRequest("Request3")

}else{

? tests["login"] = false;

? //登錄失敗胜臊,可以選擇跳轉(zhuǎn)到對應(yīng)失敗后的處理接口進行測試

? //postman.setNextRequest("Other Request")

}

3.在接口?Request3?中使用變量?token 勺卢,具體使用方式時接口參數(shù)規(guī)則而定

原文:https://blog.csdn.net/cai_iac/article/details/81030619

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市象对,隨后出現(xiàn)的幾起案子黑忱,更是在濱河造成了極大的恐慌,老刑警劉巖勒魔,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甫煞,死亡現(xiàn)場離奇詭異,居然都是意外死亡冠绢,警方通過查閱死者的電腦和手機抚吠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弟胀,“玉大人楷力,你說我怎么就攤上這事喊式。” “怎么了萧朝?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵岔留,是天一觀的道長。 經(jīng)常有香客問我检柬,道長献联,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任何址,我火速辦了婚禮里逆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘头朱。我一直安慰自己运悲,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布项钮。 她就那樣靜靜地躺著班眯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪烁巫。 梳的紋絲不亂的頭發(fā)上署隘,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音亚隙,去河邊找鬼磁餐。 笑死,一個胖子當著我的面吹牛阿弃,可吹牛的內(nèi)容都是我干的诊霹。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼渣淳,長吁一口氣:“原來是場噩夢啊……” “哼脾还!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起入愧,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤鄙漏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后棺蛛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怔蚌,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年旁赊,在試婚紗的時候發(fā)現(xiàn)自己被綠了桦踊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡终畅,死狀恐怖钞钙,靈堂內(nèi)的尸體忽然破棺而出鳄橘,到底是詐尸還是另有隱情,我是刑警寧澤芒炼,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站术徊,受9級特大地震影響本刽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赠涮,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一子寓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笋除,春花似錦斜友、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至国拇,卻和暖如春洛史,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酱吝。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工也殖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人务热。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓忆嗜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親崎岂。 傳聞我的和親對象是個殘疾皇子捆毫,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 前言: Postman是一款功能強大的網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁HTTP請求的Chrome插件。 一该镣、get請求 GET請...
    小喜_ww閱讀 23,770評論 2 43
  • 前言: Postman是一款功能強大的網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁HTTP請求的Chrome插件冻璃。 一、get請求 GET請...
    塵海浮沉閱讀 1,116評論 2 2
  • 發(fā)送請求和查看響應(yīng) 發(fā)送請求 Postman的界面分為左邊的側(cè)邊欄和右邊的請求構(gòu)建器兩部分损合。請求構(gòu)建器允許你可以快...
    點點白閱讀 2,099評論 0 1
  • 主要介紹使用postman進行web api接口主流程場景的回歸測試及測試過程中數(shù)據(jù)構(gòu)造省艳;主要用到的是get/po...
    多夏_zoey閱讀 5,172評論 0 3
  • 昨夜瞥到床頭的一抹月色 我便想起你了 想起你笑得彎彎亮的眉眼 想起你細瘦的身子和圓圓的臉龐 想起那日你尋我不見 腮...
    松籽糖閱讀 187評論 0 1