在 Gatling 测试中使用当前日期

Using the current date in a Gatling test

我正在尝试使用 Gatling 对应用程序进行负载测试,该应用程序需要将当前日期插入到测试中:

.formParam("dateCreation", "07/01/2015 16:48:04")

如果它是硬编码的,它似乎会扰乱正在测试的应用程序。

如何在每次请求时生成上述字符串? (这是欧洲格式 - day/month/year

Scala 不是我的强项。我正在使用 Gatling 2.0.3.

使用现代 Java 日期 API,例如 joda-time, or JDK8's DateTime API。 无论是 API,您都必须:

  • 首先为所需模式构建格式化程序 ("dd/MM/yyyy hh:mm:ss")。只构建一次,因为它们是线程安全的(不像 Java 的 SimpleDateFormat)。
  • 不是传递硬编码值,而是传递 Session function 来获取当前日期并对其进行格式化。它看起来像(伪代码):

    val 格式化程序 = ???

    .formParam("dateCreation", session => formatter.format(now()))

这样,每次执行此请求时都会计算格式化日期。