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

时间:2017-11-01 10:07:49

标签: karate

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

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

是否有可能直接获得?

2 个答案:

答案 0 :(得分:1)

您可以编写一个karate-config.js文件,其中包含如下所示的网址

function() {

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

}

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

Background: 
    * url baseUrl

答案 1 :(得分:1)

您应该能够在karate-config.js中使用此现有Java类,以便在功能文件中变得更容易一些。例如:

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

然后在你的功能中:

* url stageEndPoint

(编辑):嗯,即使这显然还不够,所以这是另一个想法:

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

然后:

* url Config.getStageEndPoint()