我正在使用Runner类通过java执行功能文件。就我在类实现中所看到的,我既可以并行运行多个功能文件(Runner.parallel()
),也可以运行单个功能文件(Runner.runFeature()
)。
正如我所探索的,Runner.runFeature()
能够将java中定义的对象传递给特征文件,但不能同时运行多个特征文件,也不能运行一组特定的@标记(或者我不知道如何做到这一点)。然而,Runner.parallel()
可以一次执行多个特征文件,并且还提供了要执行的@tags的能力,但java对象不能作为特征文件参数传递。
有没有一种方法可以让我从java传递特征文件参数(以json对象的形式),同时通过java调用只执行一组@tag?
到目前为止,我使用的是v1.0.1。
发布于 2021-08-19 05:47:26
不,你不能。空手道的设计使得你想要“初始化”的任何东西都可以加载到特征文件或karate-config.js
中,以获得更多的“全局”东西。
如果您需要示例,请参阅日志掩蔽文档:https://github.com/intuit/karate#log-masking,它展示了如何加载Java类。您可以传递参数并将其设置为“全局”,这取决于您。
一个提示-你在空手道之外初始化的任何,例如在JUnit运行器中,都可以在任何时间通过Java interop从任何功能文件访问。
如果需要,请随时为空手道贡献代码以改进它。
https://stackoverflow.com/questions/68842170
复制相似问题