Gatling在配置文件中配置基本URL

时间:2015-04-01 08:15:52

标签: scala maven gatling

我想在配置文件中配置我的gatling模拟的基本URL。这样我就可以在测试和实时系统之间轻松切换。

我在simulation-scala文件中使用以下命令配置它时工作正常:

val httpConf = http
        .baseURL("http://computer-database.herokuapp.com")

如果我删除上面的行并在config(gatling.conf)文件中使用:

进行配置
gatling {
   http {
     baseUrls = "http://localhost8080/baserate"
     ...

我收到以下错误,我的方案无效,因为基本网址为空。

09:57:26.352 [ERROR] i.g.c.c.GatlingConfiguration$ - Your gatling.conf file is outdated, some properties have been renamed or removed.
Please update (check gatling.conf in Gatling bundle, or gatling-defaults.conf in gatling-core jar).
Enabled obsolete properties:'gatling.http.baseUrls' was removed, use HttpProtocol.

在当前版本的gatling中是否仍然可以在

之外配置基本URL

我的版本是gatling-maven-plugin:2.1.2。

3 个答案:

答案 0 :(得分:14)

我通过在/ test / resources / with

中创建application.properties文件解决了这个问题
baseUrl=http://www.example.com

我改变了我的模拟:

import com.typesafe.config._
class BasicSimulation extends Simulation {
   val conf = ConfigFactory.load()
   val baseUrl = conf.getString("baseUrl")
   val httpConf = http.baseURL(baseUrl)

答案 1 :(得分:3)

您还可以创建单件对象并在任何gatling模拟类中公开它。

想象一下在Configuration.scala中称为Configuration的单例对象,如下所示:

object Configuration {
  val BaseUrl = "http://www.dummyurl.com"
}

这应该减少模拟类中的代码

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._

class MySimulation extends Simulation {

  val HttpConf = http
    .baseURL(Configuration.BaseUrl)

  ...
}

如果需要,只需解析包定义和导入 voila

注意:由于 val 表示不可变属性,我们应该用第一个大写字母命名

答案 2 :(得分:1)

您可以通过各种方式自行配置(系统属性,环境变量,自定义配置文件......),但这不再是内置的Gatling。