cypress 個人編碼守則

Jacky發表於2020-07-11

** cypress coding notice 個人編碼守則 **

  1. 儘量用 cy.get 不用chain,例如 cy.get().contains cy.get().eq()等chain
  2. 將頁面封裝為類,對任何單頁面的修改歸結於對一個類的修改,成為UI層
  3. 跨頁面的操作封裝為API,如 login,logout,openXxxMenu,業務的邏輯修改歸結為只對api的修改,成為service層
  4. 業務物件封裝為物件,對上述兩層的傳入引數只能是物件,不能是屬性,成為data層
  5. 對資料操作等公用演算法封裝api,成為util層
  6. 後端的api請求封裝為類,成為api層
  7. 對複雜的UI類封裝為動態chainable類,支援鏈式呼叫;對簡單的UI類封裝為static類,無需例項化

其它

  1. 用axios不用cy.request
  2. 原則上不允許有eslint問題
  3. 待verify的case list原則上不允許有case間相互依賴
  4. 對上述第3條而言,環境初始化和資料初始化等非業務verify case,封裝進init型別case,cypress中使用不同case集進行先後呼叫
  5. cypress的command封裝,只針對與特定頁面無關操作,例如getAndClick/ clearAndType,不封裝單個頁面的序列操作,以便於團隊內多人開發

相關文章