OpenTest项目给我留下了深刻的印象。发现它非常吸引人,这个项目与我创建和处理的一些项目共享了多少个想法。就像您的史诗般的架构,其中演员要执行任务..还有很多其他方法:)
您是否考虑过包括其他自动化技术作为Actor的基础? 我可以看到两个主要组: 1建立像TestCafe这样的测试自动化工具(对非硒gui测试的支持可以充分利用整个解决方案) 2特定任务需要自定义工具。拥有一个具有特定领域功能的演员会很棒。现在,正如我所看到的,可以通过引入由执行者使用rest api调用的执行工作者的另一层来实现。我的意思是可以将它们用作新的“演员类型”(包括删除的自定义关键字)。
答案 0 :(得分:1)
感谢您的好话。我们花了很多时间思考OpenTest的体系结构和实现,非常高兴看到人们理解并欣赏了该设计。
可以通过创建一个新的Java类来实现新关键字(测试操作),而无需创建自定义测试参与者,方法是从TestAction基类继承并覆盖其run方法。作为一个简单的示例,您可以看一下Delay测试操作的实现。然后,您可以将新的测试操作打包到JAR中,并将其(以及所有依赖项)放入测试参与者工作目录的user-jars
子目录中。测试参与者将动态加载在其中找到的所有JAR,并会找到新的测试操作类(使用反射),以便您可以在测试中使用它。一些有用的信息和注意事项:
这里的示例项目演示了如何构建可创建几个自定义关键字的OpenTest扩展:https://github.com/adrianth/opentest-extension-sample
这是有关创建自定义OpenTest关键字的广泛视频教程:https://getopentest.org/tutorials/custom-keywords.html