我正在嘗試測驗創建物件所涉及的所有 12 個請求是否成功,到目前為止,這是我認為可行的唯一方法。是否有更好/更有效/更靈活的方式在我們添加或洗掉請求時不會立即中斷?
cy.intercept('/api/**/**').as('objectCreation');
$button.click();
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
cy.wait('@objectCreation').its('response.statusCode').should('eq', 200);
uj5u.com熱心網友回復:
我想了解有關您問題的更多詳細資訊:
- 請求是否相同?
但是,要回答有關如何簡化共享代碼片段的問題……您可以創建一個variable代表request創建嘗試的物件并繼續呼叫該cy.intercept()方法并對其進行斷言,response直到達到指定的請求創建量,如下所示:
const reqObjCreationNum = 0; // reqObjCreationNum object creation attempts number
/**
* @param {number} reqObjCreationNum - number of object creation attempts
*/
const createObject = ({ reqObjCreationNum }) => {
cy.intercept('/api/**/**').as('objectCreation');
while (reqObjCreationNum <= 12) {
cy.wait('@objectCreation')
.its('response.statusCode')
.should('eq', 200);
reqObjCreationNum = 1;
}
};
createObject({ reqObjCreationNum });
我建議將DRY編程概念作為未來閱讀。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/357382.html
標籤:javascript 测试 自动化测试 柏
