我已经阅读了一些文章和示例,但我仍然不确定如何组织我的测试套件。
让我们说我将测试一个公司网站,主页上有一个菜单,用户将用户带到"","产品和#34等页面;,"联系我们"。
到目前为止,我已经提出了构建项目的方法,但我不确定它是可扩展性和可维护性方面的最佳方式:
/src/test/robotframework/acceptance
包含 GeneralResources.robot 文件,每个网站一个文件夹。
GeneralResources.robot
文件包含"设置"所有测试都将使用的库引用部分(例如:Selenium2Library)
/home
文件夹包含4个文件:
__init__.robot
使用测试设置和测试拆解进行所有主页测试。Resources.robot
包含全局变量(如 $ {home_url} 或 $ {home_title} )以及主页测试将使用的更高级别关键字。< / LI>
PageObjects.robot
带有变量,用于存储将在主页中测试的所有对象的定位器(例如:主徽标,主菜单,页脚等)。tests.robot
我将在主页上执行所有测试。 设置部分调用其他文件(自动检测到的 init 除外),如下所示:资源 Resources.robot
资源 PageObjects.robot
资源 ../ GeneralResources.robot
/about
文件夹还将包含4个文件,其组织方式与/ home文件夹相同。/products
文件夹还将包含4个文件,其组织方式与/ home文件夹相同。/contactus
文件夹还将包含4个文件,其组织方式与/ home文件夹相同。我不确定这是正确的方法,因为每页4个文件看起来非常开销。我想知道我是否忽略了某些内容,或者是否可能将我正在使用的某些文件合并为一个。
答案 0 :(得分:1)
页面对象模型是一种从每页基础上从测试逻辑中抽象出应用程序UI的好方法。
如果您的应用程序是在多个页面中重复使用的单独元素中构建的,则每页方法的效果可能会降低。
对于我使用ID生成的应用程序是可预测的,我选择的抽象镜像应用程序的结构,因此每页我只是重新使用代表应用程序功能的基本构建块。