【问题标题】:OpenTest custom test actorsOpenTest 自定义测试参与者
【发布时间】:2019-03-05 16:07:29
【问题描述】:

OpenTest 项目给我留下了深刻的印象。发现这个项目与我创建和从事的一些项目分享了多少想法非常有趣。就像你史诗般的架构,演员们拉着任务……还有很多其他的:)

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

【问题讨论】:

    标签: testing automation automated-tests testcafe opentest


    【解决方案1】:

    谢谢你的好话。我们花了很多时间思考 OpenTest 的架构和实现,看到人们理解和欣赏设计是非常有益的。

    通过创建一个继承自 TestAction 基类并覆盖其 run 方法的新 Java 类,可以在不创建自定义测试参与者的情况下实现新关键字(测试操作)。举个简单的例子,你可以看一下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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多