在方法PageObjects返回其他PageObjects的测试代码中的UI领域,PageObject设计图案演着建模角色。在实践中,我们看到在测试模块使用类的方法返回布尔类相似。这种设计模式取代了使用布尔值实际PageObjects测试代码类。我写了关于这个模式最初的背景下,硒(见这里) -这篇文章是一个简单的端口VBS / QTP。
考虑下面的例子中的Exec方法的LoginPage类返回InboxPage。
上面的例子是在其最简单的性质。在现实中,一个单一的过程可以返回多个PageObjects。例如,一个登录过程可以返回2种类型的页面对象:收件箱PageObject(合格)或登录PageObject(失败)。
从上图中,收件箱PageObject返回时,提供有效的登录凭据。在无效登录凭据的情况下,这个过程失败,用户被要求尝试再次登录到应用程序。由于这种行为,就有必要建立逻辑成功和失败事件。
下面的代码显示了如何可以使用上面的PageObjects建立快速测试。上述3类一样,测试代码类也将被存储在函数库中,因为默认情况下,类是私人和动作不能直接访问类。
上面创建的PageObjects,可以执行方式如下:
总结
综上所述,在这种格局下的公共方法的类代表的页面提供的功能。一个单独的类可能包括多个公共方法可能返回1个或多个PageObjects的。如果它也是一个很好的做法,以保持内部的页面为私有,以避免暴露。此外,的PageObject需要并不代表整个页面。在实践中,它只能代表的部分或功能可能需要执行几次。