我有一些 vue ant-design 代碼
<a-form...>
<button @click="submit"
</a-form>
<script>
...
methods: {
submit() {
return this.axios({
method: "POST",
data: this.form
}).then(...)
}
}
我想創建 e2e 測驗,鍵入表單并通過單擊按鈕提交。
...
cy.get("[data-testid=submit-form").click();
但是當提交 axios 會呼叫 then-callback 時我怎么能等待?cy.wait() 是一個糟糕的解決方案。
使用 cy.request 它不是 100% 的用戶案例,它的 javascript 觸發器
uj5u.com熱心網友回復:
通常的方法是:
- 定義一個路由
cy.intercept() - 點擊按鈕
- 等待對
cy.wait()來自 1 的路由的回應。
在一個例子中展示它:
cy // 1.
.intercept('POST', '/change-ad')
.as('changeAd');
cy // 2.
.get('#save-button')
.click();
cy // 3.
.wait('@changeAd')
.its('response.statusCode')
.should('eq', 201);
顯然,您可以在回應到達后(即 3 之后)檢查 UI 上的其他內容。
對于某些特定情況,您想檢查 UI 如何對某些后端資料做出反應,而無需先實際設定后端資料,您可以在cy.intercept(). 這稱為存根。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/328304.html
下一篇:將值傳遞給多個函式
