【发布时间】:2017-12-12 18:16:21
【问题描述】:
我已经阅读了一些文章和示例,但我仍然不确定如何组织我的测试套件。
假设我要测试一个公司网站,其主页有一个菜单,可将用户带到“关于”、“产品”、“联系我们”等页面。
这是我迄今为止提出的用于构建我的项目的方法,但我不确定它是否是可扩展性和可维护性方面的最佳方法:
/src/test/robotframework/acceptance 包含一个GeneralResources.robot 文件和每个网站页面一个文件夹。
GeneralResources.robot文件包含一个“设置”部分,其中包含所有测试都将使用的库引用(例如:Selenium2Library)-
/home文件夹包含 4 个文件:-
__init__.robot带有 Test Setup 和 Test Teardown 用于所有主页测试。 -
Resources.robot带有全局变量(如 ${home_url} 或 ${home_title})和主页测试将使用的更高级别的关键字。 -
PageObjects.robot带有变量,用于存储将在主页中测试的所有对象的定位器(例如:主徽标、主菜单、页脚等)。 -
tests.robot我将在主页中执行所有测试。 Settings 部分调用其他文件(除了自动检测到的 init),如下所示:
-
资源Resources.robot
资源PageObjects.robot
资源../GeneralResources.robot
-
/about文件夹还将包含 4 个文件,其组织方式与 /home 文件夹相同。 -
/products文件夹还将包含 4 个文件,其组织方式与 /home 文件夹相同。 -
/contactus文件夹还将包含 4 个文件,其组织方式与 /home 文件夹相同。
我不确定这是正确的方法,因为每页 4 个文件似乎是相当大的开销。我想知道我是否忽略了某些内容,或者我正在使用的某些文件是否应该合并为一个。
【问题讨论】:
-
你考虑过用python写你的关键字吗?它为您提供了更多的灵活性。我编写了一个页面对象库,使这变得非常容易。见github.com/boakley/robotframework-pageobjectlibrary。不幸的是,这个问题的答案主要是意见,这种类型的问题在这里是题外话。
-
谢谢,布莱恩。不幸的是,我必须在我的项目中使用 Java,而且我找不到任何可以为我设置页面对象模式的库,所以我试图自己从头开始组织它。我的结构不够灵活吗?