我想在配置文件中配置我的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。
答案 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。