尝试使用整洁的扩展方法运行gatling 3.0.2,我在gatling 2.2.x之前已经使用过很多次了
implicit class Extensions(val scenario: ScenarioBuilder) extends AnyVal {
def injectDefaults: PopulationBuilder =
scenario.inject(
rampUsersPerSec(RAMP_USER_PER_SEC) to LOAD_FACTOR during (RAMP_UP_TIME seconds),
constantUsersPerSec(LOAD_FACTOR) during (DURATION seconds)
)
}
但是它不再编译,失败并显示:
could not find implicit value for evidence parameter of type
io.gatling.core.controller.inject.InjectionProfileFactory[Product with Serializable with io.gatling.core.controller.inject.open.OpenInjectionStep]
scenario.inject(
有人知道为什么吗?
答案 0 :(得分:0)
我自己找到了解决方案,但缺少一些隐式导入。这是完整的代码示例:
import io.gatling.core.Predef.{constantUsersPerSec, rampUsersPerSec,_}
import io.gatling.core.structure.{PopulationBuilder, ScenarioBuilder}
import scala.concurrent.duration._
object Config {
val LOAD_FACTOR: Double = 50
var RAMP_UP_TIME: Int = 10
val RAMP_USER_PER_SEC = 0.1
implicit class Extensions(val scenario: ScenarioBuilder) {
def injectDefaults: PopulationBuilder =
scenario.inject(
rampUsersPerSec(RAMP_USER_PER_SEC) to LOAD_FACTOR during (RAMP_UP_TIME seconds),
constantUsersPerSec(LOAD_FACTOR) during (DURATION seconds)
)
}
}