自動化測試,讓你上班擁有一杯咖啡的時間 | Day 29 — cypress 最佳實踐

史卯郁
Oct 12, 2021

--

此系列文章會同步發文到13th鐵人賽,有興趣的讀者可以前往觀看喔。

  1. 選取元素

⚠️ 避免使用會常常變的selector,如用id, class, tag等方式選取元素

⭕️ 建議用 data-* attributes

<button
id="main"
class="btn btn-large"
name="submission"
role="button"
data-cy="submit"
>
Submit
</button>

2. 訪問外部網站

⚠️ 嘗試用 cy.visit() 去訪問不在你控制範圍的網站

⭕️ 盡量避免第三方server,必要時可以使用 cy.request() https://docs.cypress.io/api/commands/request

3. 腳本之間的關聯

⚠️ 每個腳本之間都高度緊密,彼此相互依賴

⭕️ 腳本之間是獨立運作且可以執行成功的

4. Creating “tiny” tests with a single assertion

⚠️ 寫E2E測試時,測試用例過小,且包含許多斷言

⭕️ 規劃一個最小可行的腳本,並適當去斷言

5. 減少不必要的等待

可以參考此文章:https://ithelp.ithome.com.tw/articles/10278669

6. 設定 global baseUrl

⚠️ 腳本只用 cy.visit(),但沒有設定 baseUrl

⭕️ 在 cypress.json 檔設定 baseUrl 可以讓執行腳本時節省一些時間

參考資料:

--

--

No responses yet