首页 > 解决方案 > 在页面对象模型框架中存储数据的最佳方式是什么

问题描述

我使用页面对象设计模式在 selenium 中构建自动化框架。以下是我使用的一些数据以及我存储它们的位置

  1. PageObjects (xpath, id etc) - 在页面类本身中 在此处输入图像描述
  2. 配置数据(等待时间、浏览器类型、URL 等)- 在属性文件中。 在此处输入图像描述
  3. 其他数据 - 在一个类中作为静态变量。
    在此处输入图像描述

一旦框架开始增长,就很难存储所有数据,也很难组织数据。我对其他人如何实现他们在框架中存储数据的方式进行了一些研究。这是我发现的,

  1. 在类本身中存储数据(主要是页面对象)
  2. 以 JSON 格式存储数据 在此处输入图像描述
  3. 有些人甚至建议将数据存储在数据库中,以减少读取时间

由于那里有很多选择,我想就什么是存储数据的最佳方式以及其他人如何存储数据获得一些反馈。

标签: javaseleniumselenium-webdriverdatastorepageobjects

解决方案


我认为您存储数据的方式没有任何问题。

  1. 定位器(根据 POM 定义)应该存储在页面对象本身中。
  2. 配置数据可以存储在某种配置文件中......任何你觉得方便的东西。您可以使用纯文本、JSON、XML 等。我们使用 XML 但这真的取决于个人喜好。
  3. 我认为这也很好。

框架并没有真正增长,自动化套件会。只要您始终如一地保持上述3个地方存储的数据,我认为您应该没问题。我在使用这种方法时遇到的唯一问题是,有时某些页面上有很多功能,因此页面对象会变得非常大。在这些情况下,我们找到了一种将页面分成更小的块的方法,例如,一个页面有 22 个选项卡,每个选项卡都由不同的面板组成。在这种情况下,我们将页面对象分解为 22 个不同的类文件以保持大小更易于管理,然后将它们全部作为属性连接到主页面,例如mainPage.Panel1.someMethodOnPanel1();


推荐阅读