小伙伴們好,歡迎來到小葵花課堂第二課喝噪。大家都知道不管什么用例都有一個3A原則汰现,沒有assert的用例是不完整的胶坠,測試寶寶我今天就給大家來介紹postman中斷言的使用君账。
寫在前面:
斷言其實就是對預期結果與實際結果的判斷,預期==實際沈善,就通過乡数;預期!=通過則失敗闻牡。
Postman的斷言是JavaScript語言編寫的净赴,寫在tests標簽頁里,在sandbox中運行罩润,postman預置了很多公共庫玖翅,如
cheerio(解析html)、lodash(簡化JSON操作)割以、CryptoJS(加密解密)金度、chai(斷言框架)等。sandbox鏈接:https://www.getpostman.com/docs/v6/postman/scripts/postman_sandbox_api_reference但由于它是獨立的隔離的運行環(huán)境严沥,所以沒有辦法引用自己預置的JS庫猜极。
tests在發(fā)送請求之后執(zhí)行(而Pre-request Script則與之相反,在請求之前執(zhí)行),并以斷言的pass/fail形式體現(xiàn)在最終測試結果中消玄。
一跟伏、發(fā)送請求
今天,我們以登錄第四方運營管理平臺為例來介紹斷言翩瓜。
1.首先找到登錄入口路徑
新建一個請求受扳,依次輸入以下請求信息
?Request URL:?http://uat.jifenmy.com/zfs_merchant_boss/login.do
?Request Method: POST
?Content-Type: application/json
在Body中傳入用戶名、密碼以及驗證碼{userName: "admin", smsCode: "k8y8F8", password: "admin"}
2.第二步兔跌,發(fā)送send勘高,看看我們的接口通了沒有。
OK坟桅,訪問成功相满。
二、設置斷言
架子已經(jīng)搭好了桦卒,下面我們愉快的開始寫斷言吧~打開Tests和Test Results,界面如下匿又,分別表示請求和結果部分方灾。
未經(jīng)處理的tests界面是空的。右側依然配置了一些常用的代碼片段以照顧編程能力不是那么好的同學。(感恩T3ァ)
1.首先洞慎,要先確認我們到底要檢查什么,打開我們的響應嘿棘。
顯然"rspCd": "00000"就是我們的開發(fā)哥哥設置的成功狀態(tài)碼劲腿,要想登錄成功就必然少不了他,OK鸟妙,目標鎖定焦人。
2.寫斷言。
我們找到右邊的程序片段重父,
(檢查body包含字符串花椭,正是我們需要的)單擊一下,生成代碼如下
【Body matches string】是該條測試的名字房午,可自行定義矿辽,我們改為【校驗是否有00000狀態(tài)碼】;
【string_you_want_to_search】是我們要校驗的字符串郭厌,這里我們修改為【00000】袋倔。
3.執(zhí)行,查看結果
老規(guī)矩折柠,點擊sand執(zhí)行宾娜。
大大的PASS送給你!
套路就是這樣液走,噢不碳默,是框架如此,怎么樣缘眶,不難吧嘱根。
三、常用方法介紹
聰明的你一定不會滿足于示例中的一個方法巷懈,接下來我們逐個介紹tests中常用方法的使用该抒,大家根據(jù)自己的實際需求選擇相應的來用就好。
1.清除環(huán)境變量
2.設置一個全局變量
3.得到一個環(huán)境變量
4.檢查response body中是否包含某個string
5.檢測JSON中的某個值是否等于預期的值
6.轉(zhuǎn)換XML body為JSON對象
7.檢查response body是否與某個string相等
8.測試response Headers中的某個元素是否存在(如:Content-Type)
9.驗證Status code的值
10.驗證Response time是否小于某個值
PS:有一位前輩告訴我顶燕,學習一個東西最好的途徑就是查看官方文檔凑保。今天我也推薦給大家。
以下是官方大大的【Test examples】,非常之清晰詳細涌攻,看過都說好:https://www.getpostman.com/docs/v6/postman/scripts/test_examples