震驚,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
log
true
在命令日誌中顯示該命令
url
null
發出請求的url
method
get
要在請求中使用的http方法
auth
null
新增鑑權標頭
body
null
介面請求報文
failonstatuscode
true
2xx
和3xx
以外的響應碼是否失敗
followredirect
true
是否自動重定向
form
false
是否將body
的值轉換為 url encoded 並設定x-www-form-urlencoded
標頭
encoding
utf8
序列化響應體時要使用的編碼。支援以下編碼:ascii
,base64
,binary
,hex
,latin1
,utf8
,utf-8
,ucs2
,ucs-2
,utf16le
,utf-16le
gzip
true
是否接受gzip編碼
headers
null
要傳送的額外請求頭
qs
null
把查詢引數追加到url之後
retryonstatuscodefailure
false
狀態碼錯誤是否自動重試。如果設定為true, cypress將重試請求最多4次。
retryonnetworkfailure
true
網路問題引發的失敗是否自動重試。如果設定為true, cypress將重試請求最多4次
timeout
responsetimeout
預設超時時間,可以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 分鐘,如果涉及...