Automation Robot框架:我是否以正确的方式实现页面对象模式?

Automation Robot框架:我是否以正确的方式实现页面对象模式?,automation,robotframework,Automation,Robotframework,我读了一些文章和例子,但我仍然不确定如何组织我的测试套件 比如说,我将测试一个公司网站,它的主页上有一个菜单,用户可以访问“关于”、“产品”、“联系我们”等页面 这是我到目前为止提出的构建我的项目的方法,但我不确定这是可伸缩性和可维护性方面的最佳方法: /src/test/robotframework/acceptance包含一个通用资源.robot文件和每个网站页面一个文件夹 GeneralResources.robot文件包含一个“设置”部分,其中包含所有测试将使用的库引用(例如:Sele

我读了一些文章和例子,但我仍然不确定如何组织我的测试套件

比如说,我将测试一个公司网站,它的主页上有一个菜单,用户可以访问“关于”、“产品”、“联系我们”等页面

这是我到目前为止提出的构建我的项目的方法,但我不确定这是可伸缩性和可维护性方面的最佳方法:

/src/test/robotframework/acceptance
包含一个通用资源.robot文件和每个网站页面一个文件夹

  • GeneralResources.robot
    文件包含一个“设置”部分,其中包含所有测试将使用的库引用(例如:Selenium2Library)

  • /home
    文件夹包含4个文件:

  • \uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
  • Resources.robot
    带有全局变量(如${home\u url}或${home\u title})和主页测试将使用的更高级别关键字
  • PageObjects.robot
    带有变量,这些变量存储将在主页中测试的所有对象的定位器(例如:主徽标、主菜单、页脚等)
  • tests.robot
    以及我将在主页上执行的所有测试。设置部分调用其他文件(自动检测到的init除外),如下所示:
资源机器人

资源页面对象.robot

资源../GeneralResources.robot

  • /about
    文件夹还将包含4个文件,其组织方式与/home文件夹相同
  • /products
    文件夹还将包含4个文件,其组织方式与/home文件夹相同
  • /contactus
    文件夹还将包含4个文件,其组织方式与/home文件夹相同

我不确定这是不是正确的方法,因为每页4个文件似乎是相当大的开销。我想知道我是否忽略了一些东西,或者我正在使用的一些文件是否应该合并成一个文件。

页面对象模型是一种很好的方法,可以从您的测试逻辑中提取每页的应用程序UI

如果应用程序是在单独的元素中构建的,并且这些元素在多个页面中重复使用,那么每页方法的效率可能会降低


对于我使用ID生成的应用程序,可以预见,我选择的抽象反映了应用程序的结构,因此每页我只是重复使用表示应用程序功能的基本构建块。

您考虑过用python编写关键字吗?它给了你更多的灵活性。我编写了一个页面对象库,使这变得非常简单。看见不幸的是,这个问题的答案大多是观点,而这类问题在这里是离题的。谢谢,布莱恩。不幸的是,我必须在我的项目中使用Java,而且我找不到任何可以为我设置页面对象模式的库,所以我尝试自己从头开始组织它。我的结构不够灵活吗?