[英]How to prevent cypress from printing secrets in the request body?
所以我們在我們的賽普拉斯測試中做了以下事情:
login(user: SimpleUser) {
cy.request({
method: "POST",
url: `${this.apiUrl}/login`,
body: {
username: user.email,
password: "mypassword",
}
})
.should(assertStatusOk)
.then((resp) => {
...
這與他們在頁面上的建議非常相似。
但是,當登錄失敗時,它會記錄到控制台:
The request we sent was:
Method: POST
URL: myurl
Headers: {
"Connection": "keep-alive",
"user-agent": "myuseragent",
"accept": "*/*",
"accept-encoding": "gzip, deflate",
"content-type": "application/json",
"content-length": mycontentlength
}
Body: {"username":"myusername","password":"mypassword"}
記錄真實密碼的地方。 這可以預防嗎? 我在其他線程中讀到在執行cy.type
時添加{log: false}
選項,但是對於cy.request
這似乎沒有影響。 有什么想法可以防止柏樹打印全身嗎?
在狀態代碼錯誤的情況下,您可以將failOnStatusCode: false
添加到請求選項中。
cy.request({
method: "POST",
url: `http://example.com/login`,
failOnStatusCode: false,
log: false,
body: {
username: user.email,
password: "mypassword",
}
})
.should('have.property', 'status', '200')
然后你看到的所有內容都預計 { Object (body, headers, ...) } 的屬性狀態為“200”,但得到的是 404 。
如果您有除錯誤狀態代碼以外的其他錯誤類型,請將普通的fetch()替換為cy.request()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.