最近,我深入研究了使用selenium和page对象模型测试I C# (与SpecFlow一起使用)。
但是,在我的一个例子中,我对页面对象模型的结构有点不确定。
作为一个例子,我有一个登记表,跨越多页(填写详细信息,按下一步,填写更多细节,按下一步,等等)。
最好的做法是为流程中的每个页面创建一个页面对象模型,还是将所有页面收集成一个页面对象模型?
为了增加趣味性,在某些场景中,表单元素可能会移动到流中的其他页面(取决于终端客户设置)。
发布于 2016-09-20 03:25:16
页面对象是一种众所周知的设计模式,被自动化工程师广泛接受,它为应用程序的每个页面创建单独的类文件,将所有元素分组为属性,并将它们的行为/业务功能作为类的方法分组。但这并不是一个好主意,尤其是当页面有更多/不同的元素/复杂元素时,比如网格/日历小部件/ HTML表等等。
当您尝试将一个页面的所有元素合并到一个页面类中时,它会变得太大,无法阅读、维护等等。它可以被重组并分解成更小的类。
我希望我的页面对象能够满足单一责任负责的。
通过这样做,您将得到更多的页面类,但是您的测试将是如此可读的、可靠的和健壮的。
您可以在Java中看到这里的示例。但我相信你会明白的。
http://www.testautomationguru.com/arquillian-graphene-page-fragments/
https://stackoverflow.com/questions/39489797
复制相似问题