如何在 Ga特林 中从 application.property 获取属性

问题描述 投票:0回答:2

我正在尝试从 Gadling-Scala 中的 application.properties 文件中获取一些属性。我试过了。

val properties: Config = ConfigFactory.load("application.properties")
val clientId: String = properties.getString("api.clientId")

我不断收到“com.typesafe.config.ConfigException$Missing 未找到密钥“api”的配置设置”。我将 application.properties 文件放在 src/test/resources/application.properties 中以及项目的根文件夹中。 我还尝试将相同的信息放入 src/test/resources/gadling.conf 中,如下所示:

gatling {
  api {
    clientId = "..."
  }
}

但是我收到错误:

com.typesafe.config.ConfigException$Missing No configuration setting found for key 'gatling' 

我有什么遗漏的吗?

scala gatling scala-gatling
2个回答
1
投票

我通过安装适用于 .conf 文件的插件 HOCON 并正确格式化它,成功地获取了 gadling.conf 文件中的信息。


0
投票

我解决了这个问题,感谢下面的这个答案

从测试资源根加载:

f.ex:

someModule/src/test/resources/some.conf

这对我有用:

ConfigParseOptions options = ConfigParseOptions.defaults().setAllowMissing(false);
        
final Config config =  ConfigFactory.parseResources("some.conf", options);

我将这种方法应用到我的代码中,以便从我的

gatling.conf
文件中调用环境变量。我在模拟课程中使用了 Kotlin 语言。

这是我的代码:

class TestSimulation : Simulation() {

    private val environment : String = System.getProperty("env")
    private val config: Config = ConfigFactory.parseResources("gatling.conf").getConfig("gatling")

    private val url = config.getConfig(environment).getString("url")

我的

gatling.conf
文件如下所示:

gatling {
  local {
    url: <your-localhost-url>
  }
  dev {
    url: <your-dev-env-url>
  }

现在,我可以在此命令中使用

gatling:test -Denv=local
指定具有系统属性的环境。

© www.soinside.com 2019 - 2024. All rights reserved.