我开始使用Page-Object模型重新设计我的所有测试套件,但是,我发现的每个文档或教程都在单站点项目中显示示例,在我的情况下,我喜欢10或者更多站点(并且列表正在增长,明年将有20或30个站点)共享近90%的UI元素和数据,以及其他站点共享50-80%的UI元素和数据。此外,这些网站的移动版本与桌面版本的UI元素有所不同,比起它们与桌面版本相似80%。
考虑到这种情况,设计一些东西的最佳方法是什么?我是否应该为每个站点和桌面/移动版本设计不同的Page-Object类?或者我应该分别在Desktop和Mobile版本中对它们进行分组,并使用网站的预后名称命名元素?我似乎找不到像这样的情况的任何标准。
答案 0 :(得分:1)
在页面对象模型中,理想情况下,每个屏幕/页面应该有一个类,它封装了该页面中的所有对象和方法。 为每个屏幕创建一个新的页面类。我建议每个页面都有一个抽象类(所有常见的说90%对象定义)并确保你的方法可以从子类中覆盖。每个页面对象abstarct类可以有多个子类(例如,不同的技术Modile / Desktop),您可以覆盖在该特定技术中不使用通用抽象方法的任何方法。 维护单独的对象类(每页),这将维护该页面中所有对象的属性。要阅读有关页面对象模型的更多内容,请访问:
http://testautomationlove.blogspot.in/2016/02/page-object-design-pattern.html