最佳實踐頁面物件模型

  • 為頁首和頁尾建立單獨的檔案(因為它們對於所有頁面都是通用的,並且使它們成為單個頁面的一部分沒有意義)
  • 將共同元素(如搜尋/後退/下一個等)儲存在單獨的檔案中(想法是刪除任何型別的重複並保持隔離邏輯)
  • 對於 Driver,最好建立一個單獨的 Driver 類並將 Driver 保持為靜態,以便可以跨所有頁面訪問它! (我的所有網頁都擴充套件了 DriverClass)
  • PageObjects 中使用的函式被細分為最小的塊,記住它們的頻率和呼叫方式(登入的方式 - 儘管登入可以分解為 enterUsername 和 enterPassword 函式但仍然保留它因為登入功能更合乎邏輯,因為在大多數情況下,將呼叫 Login 函式而不是單獨呼叫 enterUsername 和 enterPassword 函式)
  • 使用 PageObjects 本身將測試指令碼與 elementLocators 分開
  • 在單獨的 utils 資料夾中有實用程式功能(如 DateUtil,excelUtils 等)
  • 在單獨的 conf 資料夾中配置(例如設定需要執行測試的環境,配置輸出和輸入資料夾)
  • 將 screenCapture 合併為失敗
  • 在 DriverClass 中有一個靜態等待變數,你有一些隱含的等待時間總是嘗試有條件等待而不是靜態等待,如:wait.until(ExpectedConditions)。這可確保等待不會不必要地減慢執行速度。