Karate 在空手道中-从另一个功能文件调用功能文件以及变量值

Karate 在空手道中-从另一个功能文件调用功能文件以及变量值,karate,Karate,很抱歉,这个问题似乎是重复的,但确实让我很困扰 我正在尝试从另一个要素文件调用一个要素文件以及变量值。而且根本不起作用 下面是我正在使用的结构 我的请求json具有变量名文件名:InputRequest.json { "transaction" : "123", "transactionDateTime" : "#(sTransDateTime)" } 我的功能文件1:ABC.Feature @tag1 *

很抱歉,这个问题似乎是重复的,但确实让我很困扰

我正在尝试从另一个要素文件调用一个要素文件以及变量值。而且根本不起作用

下面是我正在使用的结构

我的请求json具有变量名文件名:InputRequest.json

{
  "transaction" : "123",
  "transactionDateTime" : "#(sTransDateTime)"
}
我的功能文件1:ABC.Feature

@tag1
**my featurefile1: XYZ.Feature**

    `Background`: 
    
          * def envValue = env
    
    Scenario: XYZ call
       
    * def sTransDateTime = function() { var SimpleDateFormat = Java.type('java.text.SimpleDateFormat'); var sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'+00:00'"); return sdf.format(new java.util.Date()); }
    
    * def result = call read(karate.properties['user.dir'] + 'ABC.feature') { sTransDateTime: sTransDateTime }
   
背景

  * def envValue = env
  * def config = { username: '#(dbUserName)', password: '#(dbPassword)', url: '#(dbJDBCUrl)', driverClassName: "oracle.jdbc.driver.OracleDriver"};
  * def dbUtils = Java.type('Common.DbUtils')            
* def request1= read(karate.properties['user.dir'] + 'InputRequest.json')
* def endpoint= '/v1/ABC'
* def appDb = new dbUtils(config);   
情景:ABC电话

* configure cookies = null
Given url endpoint

And request request1
When method Post
Then status 200
我从中调用ABC.Feature的功能文件

@tag1
**my featurefile1: XYZ.Feature**

    `Background`: 
    
          * def envValue = env
    
    Scenario: XYZ call
       
    * def sTransDateTime = function() { var SimpleDateFormat = Java.type('java.text.SimpleDateFormat'); var sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'+00:00'"); return sdf.format(new java.util.Date()); }
    
    * def result = call read(karate.properties['user.dir'] + 'ABC.feature') { sTransDateTime: sTransDateTime }
   
问题是,

  • 在执行时,runnerTest将tag1配置为执行。 目前,它忽略了要执行的整个ABC.feature,也没有生成报告

  • 如果我提到ABC.feature的同一标记(我不希望这样,因为这只是我的可重用组件),那么它将被执行,但是sTransDateTime值不会从XYZ.feature传递到ABC.feature。最后,InputRequest.json在作为请求的一部分与服务器通信时应该具有该值

  • 我使用的是0.9.4空手道版本。请提供任何帮助。

    更改为:

    { sTransDateTime: '#(sTransDateTime)' }
    
    请阅读以下说明:


    很抱歉,另一部分没有意义,也不应该发生,请遵循以下流程:

    感谢您通过此链接@Peter Thomas*def login=read('login.feature')*重定向我,呼叫登录是我的救命稻草。