最佳实践页面对象模型

  • 为页眉和页脚创建单独的文件(因为它们对于所有页面都是通用的,并且使它们成为单个页面的一部分没有意义)
  • 将共同元素(如搜索/后退/下一个等)保存在单独的文件中(想法是删除任何类型的重复并保持隔离逻辑)
  • 对于 Driver,最好创建一个单独的 Driver 类并将 Driver 保持为静态,以便可以跨所有页面访问它! (我的所有网页都扩展了 DriverClass)
  • PageObjects 中使用的函数被细分为最小的块,记住它们的频率和调用方式(登录的方式 - 尽管登录可以分解为 enterUsername 和 enterPassword 函数但仍然保留它因为登录功能更合乎逻辑,因为在大多数情况下,将调用 Login 函数而不是单独调用 enterUsername 和 enterPassword 函数)
  • 使用 PageObjects 本身将测试脚本与 elementLocators 分开
  • 在单独的 utils 文件夹中有实用程序功能(如 DateUtil,excelUtils 等)
  • 在单独的 conf 文件夹中配置(例如设置需要运行测试的环境,配置输出和输入文件夹)
  • 将 screenCapture 合并为失败
  • 在 DriverClass 中有一个静态等待变量,你有一些隐含的等待时间总是尝试有条件等待而不是静态等待,如:wait.until(ExpectedConditions)。这可确保等待不会不必要地减慢执行速度。