Cypress居然可以做介面測試,不來學學嗎

2021-10-16 17:56:46 字數 3355 閱讀 8883

震驚,cypress不僅可以做ui自動化測試,還可以做介面測試,支援get,post,put等請求方式,我們來看看吧!

1、cypress發起http請求cy.request

cy.request(url)

cy.request(url, body)

cy.request(method, url)

cy.request(method, url, body)

cy.request(options)

說明:

option

default

description

logtrue在命令日誌中顯示該命令

urlnull發出請求的url

methodget要在請求中使用的http方法

authnull新增鑑權標頭

bodynull介面請求報文

failonstatuscodetrue2xx3xx以外的響應碼是否失敗

followredirecttrue是否自動重定向

formfalse是否將body的值轉換為 url encoded 並設定x-www-form-urlencoded標頭

encodingutf8序列化響應體時要使用的編碼。支援以下編碼:ascii,base64,binary,hex,latin1,utf8,utf-8,ucs2,ucs-2,utf16le,utf-16le

gziptrue是否接受gzip編碼

headersnull要傳送的額外請求頭

qsnull把查詢引數追加到url之後

retryonstatuscodefailurefalse狀態碼錯誤是否自動重試。如果設定為true, cypress將重試請求最多4次。

retryonnetworkfailuretrue網路問題引發的失敗是否自動重試。如果設定為true, cypress將重試請求最多4次

timeoutresponsetimeout預設超時時間,可以cypress.json中設定

說明:cy.request()響應包含status,body,headers,duration四個屬性。

2、get請求

describe('介面測試', function() )

})

說明:cy.request()與.as一起使用,用來斷言介面返回值

describe('介面測試', function() )

})})

3、post請求

describe('介面測試post請求', function() 

}).then((response)=>)

})})

4、鑑權

在測試某些介面的時候,必須登入後才可以操作,這就需要用到鑑權,使用cookie,即先通過登入在客戶端儲存cookie,這只是其中一種方式,其它方式後續會介紹。

describe('介面測試鑑權', function() )

it('get請求', function() 

}).then((response)=>)

})})

未登入,使用查詢模板介面

已登入,使用查詢模板介面

5、依賴介面測試

describe('依賴介面測試', function() 

}).then((response)=>) 

})

it('查詢使用者資訊', function() ,

}).then((response)=>)

})})

測試結果如下

6、帶token的介面測試

注意:在測某些介面時,需要獲取上游介面返回的token供下游介面使用,與上面所講介面不同的是,此介面需要將token放在headers中,如postman中所示

// 呼叫獲取token介面,從介面返回結果獲取token,將token新增到headers中

it('查詢使用者信列表', function() ,

form:false,

body:

}).then((response)=>)

})

測試結果如下

推薦閱讀

● 前端自動化測試框架cypress入門

● 前端自動化測試框架cypress入門(二)

● 前端自動化測試框架cypress入門(三)

● 前端自動化測試框架cypress入門(四)

● 前端自動化測試框架cypress入門(五)

● 前端自動化測試框架cypress入門(六)

● 前端自動化測試框架cypress入門(七)

postman jwt介面做各個環境介面測試(三)

1 獲取token並記錄在環境中,baseurl輸入介面請求的url 後面帶上指定的方法如 login 選擇請求方式為 post並且請求為login headers裡面攜帶對應的值 body中攜帶對應的值 返回的內容有 idtoken accesstoken refreshtoken,可以用指令碼記...

學習總結 JMeter做http介面壓力測試

jmeter做http介面壓力測試 測前準備 用jmeter做介面的壓測非常方便,在壓測之前我們需要考慮這幾個方面 場景設定 場景分單場景和混合場景。針對乙個介面做壓力測試就是單場景,針對乙個流程做壓力測試的時候就是混合場景,需要多個介面共同作用。壓測時間設定 通常時間設為10 15 分鐘,如果涉及...

學習總結 JMeter做http介面壓力測試

jmeter做http介面壓力測試 測前準備 用jmeter做介面的壓測非常方便,在壓測之前我們需要考慮這幾個方面 場景設定 場景分單場景和混合場景。針對乙個介面做壓力測試就是單場景,針對乙個流程做壓力測試的時候就是混合場景,需要多個介面共同作用。壓測時間設定 通常時間設為10 15 分鐘,如果涉及...