与页面对象相比,使用屏幕模式的优点/缺点是什么?



我在YouTube上看过一个视频,建议使用屏幕模式作为使用通常页面对象的替代方案。我看到的唯一优点是页面对象类没有那么大。我还缺少什么吗?我一直在搜索,所有网站总是使用 serenity bdd 引用 youtube 讲座上的示例。有人可以解释为什么它比使用页面对象更好(或更糟)吗?

一个不使用宁静 bdd 的例子将非常有帮助。

简而言之,ScreenPlay 鼓励更好的软件工程实践,从而使测试编写速度更快,从长远来看更容易维护,但需要更好地了解 OOP 才能产生其全部优势(尽管只要周围有几个高级工程师了解该模式,它确实可以很好地扩展初级工程师)。

页面对象,它只是作为垫脚石,帮助自动化测试人员引入更好的测试自动化实践,但它仍然可能导致难以维护的代码。看看这篇文章的起源故事:https://ideas.riverglide.com/page-objects-refactored-12ec3541990。

剧本还有其他一些实现,包括: - JNarrate: https://bitbucket.org/testingreflections/jnarrate/wiki/Examples - 叙事:https://github.com/tim-group/narrative

ScreenPlay 是一种以参与者或用户为中心的模型,在许多情况下,它比步骤库更易于缩放且更可重用。一旦编写了一个任务,你几乎不需要改变它(尊重开闭原则)。以参与者为中心的模型还可以更轻松地对多个用户在一个方案中交互(例如,使用不同的浏览器)的情况进行建模。扬·莫拉克(Jan Molak)在这篇文章中谈到了剧本中以演员为中心的一面: https://janmolak.com/user-centred-design-how-a-50-year-old-technique-became-the-key-to-scalable-test-automation-66a658a36555

最新更新