从我所读到的关于函数式编程的文章来看,它被认为更简洁,更易测试,副作用更少。在UI测试自动化中使用它会更好吗?
上下文:我在量角器方面使用JavaScript,JavaScript在很大程度上支持函数式编程概念。因此,我探索并尝试了一些概念,如高阶函数、不可变函数、纯函数、无副作用以及map、reduce和filter等函子,但在UI自动化的背景下,我无法将其变为有意义的状态。是否有人有使用Protractor/nightwatch或另一个基于javascript的UI测试自动化框架的经验,他们可以分享一些关于使用与面向对象或过程方法相反的功能更强的方法的见解。
期望:如果有人能够与一些典型的自动化用例共享一些代码示例,在自动化上下文中解释它,而不是一般的编程场景,那就太好了。还有一些关于如何改进测试自动化代码的见解;我的主要设计目标是可维护性、可重用性和可读性。
为了给出一个具体的典型场景,在UI自动化中,我们需要与UI Grid交互,并根据特定的条件验证来自特定行和列的内容,并使用一些期望值对其进行验证。
发布于 2017-05-21 16:50:31
函数式编程确实可以是一个强大的工具,但它需要一种与OOP或过程编程截然不同的思维方式。然而,这不是一个魔法锤,所以孤立的例子不太可能对知道什么时候使用它很有帮助。我建议深入了解它,甚至可能学习一种真正实用的语言,如Scheme或Haskell。一旦您发展了这种理解,您就会更好地了解在什么情况下使用它是有意义的,以及什么时候不同的范例会更好地满足您的设计目标。
一个很好的资源是这本书,麻省理工学院讲授计算机程序的结构与解释,它使用的是方案。书中有大量的编码练习,本课程深入探讨了基本的函数式编程概念。
https://sqa.stackexchange.com/questions/27365
复制相似问题