** Рандомизированное нагрузочное тестирование с Гатлингом **
Я хочу проверить мой встроенный API на более высокую нагрузку, и, следовательно, мне нужно генерировать огромное количество случайных электронных писем (я знаю, что в настоящее время на сервере нет проверки электронной почты, поэтому я просто создаю случайные строки).
Я использую инструмент gatling-charts-highcharts-bundle-3.0.0, и я проверил другие вопросы и веб-страницы о том, как решить эту проблему, и получил информацию об использовании фидеров. Я попробовал следующий код, но я не понимаю, почему всегда появляется значение, а не ошибка.
В принципе:
Я пытаюсь создать рандомизированный механизм подачи строк и использовать его в gatling 3.0.0, но когда я делаю это следующим образом, я всегда получаю сообщение об ошибке «not found: value email»:
package computerdatabase
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
import scala.util.Random
class testsimu extends Simulation {
val httpProtocol = http
.baseUrl("http://testurl.com/api") // Here is the root for all relative URLs
.acceptHeader("application/json") // Here are the common headers
.acceptLanguageHeader("en;q=1.0,de-AT;q=0.9")
.acceptEncodingHeader("gzip;q=1.0,compress;q=0.5")
.userAgentHeader("TestApp/1.3.0(com.test.test;build:1;iOS12.1.0)Alamofire/4.7.0")
val headers_10 = Map("Content-Type" -> "application/json") // Note the headers specific to a given request
val feeder = Iterator.continually(Map("email" -> (Random.alphanumeric.take(20).mkString)))
val scn = scenario("Login") // A scenario is a chain of requests and pauses
// Note that Gatling has recorded real time pauses
.feed(feeder)
.exec(http("LoginRequest") // Here's an example of a POST request
.post("/login")
.headers(headers_10)
.body(StringBody(s"""{ "testmail": ${email}, "testmailagain": ${email}, }""")).asJson)
setUp(scn.inject(constantUsersPerSec(10) during(5 seconds) randomized).protocols(httpConf))
}
Вот сообщение об ошибке:
GATLING_HOME is set to /Users/privat/Documents/test/Development/gatling-charts-highcharts-bundle-3.0.0
15:06:12.819 [ERROR] i.g.c.ZincCompiler$ - /Users/privat/Documents/test/Development/gatling-charts-highcharts-bundle- 3.0.0/user-files/simulations/test/test.scala:45:46: not found: value email
.body(StringBody(s"""{ "testmail": ${email}, "testmailagain": ${email}, }""")).asJson)
^
15:06:12.821 [ERROR] i.g.c.ZincCompiler$ - /Users/privat/Documents/test/Development/gatling-charts-highcharts-bundle-3.0.0/user-files/simulations/higgs/higgs-sim.scala:45:103: not found: value email
.body(StringBody(s"""{ "testmail": ${email}, "testmailagain": ${email}, }""")).asJson)
^
15:06:12.856 [ERROR] i.g.c.ZincCompiler$ - two errors found
15:06:12.858 [ERROR] i.g.c.ZincCompiler$ - Compilation crashed
sbt.internal.inc.CompileFailed: null
...
Почему появляется ошибка "значение не найдено"?