最佳实践:如何为多个相似网站设计页面对象测试套件

Best Practices: how to design Page Object test suites for multiple similar web sites

我开始使用页面对象模型重新设计我的所有测试套件,但是,我发现的每个文档或教程都在单站点项目中展示了示例,就我而言,我喜欢10 个或更多站点(而且这个列表还在增加,明年将有 20 或 30 个站点)共享近 90% 的 UI 元素和数据,而其他站点共享 50-80% 的元素和数据UI 元素和数据。此外,这些网站的移动版本与桌面版本的 UI 元素有些不同,也就是说它们与桌面版本有 80% 的相似度。

考虑到这种情况,设计某些东西的最佳方法是什么?我是否应该将其设计为每个站点和 Desktop/mobile 版本都有不同的页面对象 class?或者我应该将它们分组为桌面版和移动版,分别用站点的前缀名称命名元素?对于这种情况,我似乎找不到任何标准。

在页面对象模型中,理想情况下,每个 screen/page 应该有 1 个 class,它封装了该页面中的所有对象和方法。 为每个屏幕创建一个新页面 class。我建议每个页面都有一个抽象 class(所有常见的 90% 对象定义)并确保您的方法可以从子 classes 中覆盖。每个页面对象抽象 class(例如不同的技术 Modile/Desktop)可以有多个子 classes,您可以在其中覆盖任何不使用该特定技术中的公共抽象方法的方法。 维护单独的对象 classes(每页),这将维护该页面中所有对象的属性。要阅读有关页面对象模型的更多信息,请访问:

http://testautomationlove.blogspot.in/2016/02/page-object-design-pattern.html