Karate 空手道框架的一个JS文件中是否可能有多个JS函数?

Karate 空手道框架的一个JS文件中是否可能有多个JS函数?,karate,Karate,我需要对JSON响应的结果执行两个操作。那么我们可以在单个JS文件中执行这些不同的操作吗?或者我们需要像一个JS文件对应一个操作这样的映射吗。 请在这方面提供帮助我不建议尝试用空手道创建复杂的JavaScript,它只会导致可维护性问题。如果您真的想要一个对象上有多个实用程序方法,那么就编写一个带有静态方法的Java类,这样维护/调试就会容易得多 也就是说,如果你真的坚持,看看这个答案: 但这是我对大多数项目的建议。在一个“通用”要素文件中,定义如下所示的多种方法: Scenario: * de

我需要对JSON响应的结果执行两个操作。那么我们可以在单个JS文件中执行这些不同的操作吗?或者我们需要像一个JS文件对应一个操作这样的映射吗。
请在这方面提供帮助

我不建议尝试用空手道创建复杂的JavaScript,它只会导致可维护性问题。如果您真的想要一个对象上有多个实用程序方法,那么就编写一个带有静态方法的Java类,这样维护/调试就会容易得多

也就是说,如果你真的坚持,看看这个答案:

但这是我对大多数项目的建议。在一个“通用”要素文件中,定义如下所示的多种方法:

Scenario:
* def now = function(){ return java.lang.System.currentTimeMillis() }
* def uuid = function(){ return java.util.UUID.randomUUID() + '' }
* call read('common.feature')
您现在可以这样调用此功能:

Scenario:
* def now = function(){ return java.lang.System.currentTimeMillis() }
* def uuid = function(){ return java.util.UUID.randomUUID() + '' }
* call read('common.feature')
现在,该功能中的所有功能都可以使用:

* def time = now()
* def id = uuid()

@kmancusi这是我如何使用我的常用函数创建一个
common.feature
文件,然后下面的
my.test.feature
显示了我如何导入该文件以在另一个功能中使用它

通用功能

@ignore
Feature:

Scenario:
  * def now = 
      """
        function() { 
          return java.lang.System.currentTimeMillis() 
        }
      """ 

  * def uuid = 
     """
       function() { 
         return java.util.UUID.randomUUID() + '' 
       }
     """
Feature: my tests

Background:
  * configure logPrettyRequest = true
  * configure logPrettyResponse = true
  * configure ssl = true

Scenario: basic test

  * def util = call read('common.feature')
  * def sessionId = util.uuid()

  * print sessionId
my.test.feature

@ignore
Feature:

Scenario:
  * def now = 
      """
        function() { 
          return java.lang.System.currentTimeMillis() 
        }
      """ 

  * def uuid = 
     """
       function() { 
         return java.util.UUID.randomUUID() + '' 
       }
     """
Feature: my tests

Background:
  * configure logPrettyRequest = true
  * configure logPrettyResponse = true
  * configure ssl = true

Scenario: basic test

  * def util = call read('common.feature')
  * def sessionId = util.uuid()

  * print sessionId

我发现自己很难一次调用
*。feature
文件和js。在您的
common.feature
示例中,整个文件的轮廓是这样的吗<代码>背景:
*def now=function(){return java.lang.System.currentTimeMillis()}
*def uuid=function(){return java.util.uuid.randomUUID()+''}