OpenTest自定义测试参与者

时间:2018-09-30 08:11:40

标签: automation automated-tests testcafe opentest

OpenTest项目给我留下了深刻的印象。发现它非常吸引人,这个项目与我创建和处理的一些项目共享了多少个想法。就像您的史诗般的架构,其中演员要执行任务..还有很多其他方法:)

您是否考虑过包括其他自动​​化技术作为Actor的基础? 我可以看到两个主要组: 1建立像TestCafe这样的测试自动化工具(对非硒gui测试的支持可以充分利用整个解决方案) 2特定任务需要自定义工具。拥有一个具有特定领域功能的演员会很棒。现在,正如我所看到的,可以通过引入由执行者使用rest api调用的执行工作者的另一层来实现。我的意思是可以将它们用作新的“演员类型”(包括删除的自定义关键字)。

1 个答案:

答案 0 :(得分:1)

感谢您的好话。我们花了很多时间思考OpenTest的体系结构和实现,非常高兴看到人们理解并欣赏了该设计。

可以通过创建一个新的Java类来实现新关键字(测试操作),而无需创建自定义测试参与者,方法是从TestAction基类继承并覆盖其run方法。作为一个简单的示例,您可以看一下Delay测试操作的实现。然后,您可以将新的测试操作打包到JAR中,并将其(以及所有依赖项)放入测试参与者工作目录的user-jars子目录中。测试参与者将动态加载在其中找到的所有JAR,并会找到新的测试操作类(使用反射),以便您可以在测试中使用它。一些有用的信息和注意事项:

  • 您的Java项目将必须定义对opentest-base项目的依赖(这是实现TestAction基类的位置)。
  • 将JAR复制到测试参与者的位置时,请确保同时复制所有依赖项JAR。请注意,核心测试参与者二进制文件中已经包含了您可能需要的许多依赖项(您可以查看POM.xml来了解它们是什么)。
  • 如果您碰巧具有与核心测试参与者二进制文件中包含的其他JAR冲突的依赖项,则可以应用称为shading的技术以不同的程序包名称“隐藏”冲突的类。在大多数情况下,您将不需要此功能,但是如果您这样做却陷入困境,请告诉我,我会给您一些提示。

这里的示例项目演示了如何构建可创建几个自定义关键字的OpenTest扩展:https://github.com/adrianth/opentest-extension-sample

这是有关创建自定义OpenTest关键字的广泛视频教程:https://getopentest.org/tutorials/custom-keywords.html