此系列文章會同步發文到個人部落格,有興趣的讀者可以前往觀看喔。
選取元素
⚠️ 避免使用會常常變的selector,如用id, class, tag等方式選取元素
⭕️ 建議用 data-* attributes
<button
id="main"
class="btn btn-large"
name="submission"
role="button"
data-cy="submit"
>
Submit
</button>
訪問外部網站
⚠️ 嘗試用 cy.visit()
去訪問不在你控制範圍的網站
⭕️ 盡量避免第三方server,必要時可以使用 cy.request()
腳本之間的關聯
⚠️ 每個腳本之間都高度緊密,彼此相互依賴
⭕️ 腳本之間是獨立運作且可以執行成功的
Creating "tiny" tests with a single assertion
⚠️ 寫E2E測試時,測試用例過小,且包含許多斷言
⭕️ 規劃一個最小可行的腳本,並適當去斷言
減少不必要的等待
設定 global baseUrl
⚠️ 腳本只用 cy.visit()
,但沒有設定 baseUrl
⭕️ 在 cypress.json 檔設定 baseUrl 可以讓執行腳本時節省一些時間