如何直接获取空手道特征文件中javaclass的静态变量值

How to get value of the static variable of the java class in karate feature file directly

我有一个 java class,其中包含应用程序所需的所有网址。我想在功能文件中访问它。我知道它可以通过创建一个 get 方法来访问。

 * def Config = Java.type('App.Config')
 * def stageEndPoint = Config.getStageEndPoint()

是否可以直接获取?

您可以编写一个空手道-config.js 文件,其中包含 URL,如下所示

function() {

  return {
        baseUrl: 'http://192.168.0.199'
  }

}

您可以在测试中使用此 URL,如下所示

Background: 
    * url baseUrl

您应该能够在 karate-config.js 中使用这个现有的 Java class,这样它在您的功能文件中会变得更容易一些。例如:

function() {
  var Config = Java.type('App.Config');
  return {
    stageEndPoint: Config.getStageEndPoint(),
    someOtherEndPoint: Config.getSomeOtherEndPoint()
  };
}

然后在你的功能中:

* url stageEndPoint

(edit):好吧,显然这还不够,所以这是另一个想法:

function() {
  return {
    Config: Java.type('App.Config')
  };
}

然后:

* url Config.getStageEndPoint()