我可以使用空手道dsl将值从一个文件夹的一个功能文件传递到/ src / java / test下的另一个文件夹的另一个功能文件

时间:2018-11-06 07:11:03

标签: dsl karate

我的项目结构是这样的:

/src/java/test

TestRunner -> main.java
Component1 --> Admin.feature
Component2 --> Publisher.feature
Component3 --> Store.feature

我想将一些值从Admin.feature文件传递到Publisher.feature文件。 有可能吗?

我知道我们可以将值从一个功能文件传递到同一文件夹下的另一个功能文件,但是我不确定该值是否可以在我的整个文件夹结构中使用。

1 个答案:

答案 0 :(得分:0)

是的,只要您能够read()要素文件并且两个要素都处于同一场景中即可。

假设您要在Admin功能内将值从Publisher传递到Store

Store.feature

Scenario:
    * def getAdmin = call read('classpath:Component1/Admin.feature') {"SomeInput":"toAdmin"}
    * def getPublisher = call read('classpath:Component2/Publisher.feature') {"Admin": "#(getAdmin.response)"}

现在在您的Publisher.feature内部,您可以在Admin变量中获取管理员响应的详细信息

注意:要在/ src / java / test目录下找到任何文件,可以在上例中提到的前缀classpath:

让我们说我的被调用功能中有多个场景(带有标签= @ scenario),我只想运行scenario1。有可能实现吗?