Это мой первый вопрос на этом сайте, пожалуйста, терпеливо терпите меня.
Я пытаюсь создать длинную программу опросов http для проекта, использующего Gatling. Просматривая много вопросов о стековом потоке, хотя я смог объединить отдельные концепции в кусок синтаксически правильного кода, к сожалению, он не выполняет то, что намеревается сделать.
Когда код состояния 200 получается после любого запроса, l oop должен прерваться, и испытание будет считаться одобренным. Если код состояния отличается от 200, он должен поддерживать соединение и опрос, не проваливая тест.
Когда достигается значение .tryMax и все ответы дают статус, отличный от 200, l oop должен прерваться, и тест следует считать неудачным.
Использование оператора разницы (! =) также не работает, поэтому я принял решение альтернативно использовать .equals () и проверить l oop, но безрезультатно.
Будучи новичком и в Гатлинге, и в Scala, я все еще пытаюсь выяснить, что не так с этим кодом, с точки зрения выполнения:
def HttpPollingAsync() = {
asLongAs(session => session("statuss").validate[String].equals("200")) {
exec(
polling
.every(10 seconds)
.exec(
http("polling-async-response")
.post("/" + BaseURL + "/resource-async-response")
.headers(headers)
.body(RawFileBody("requestdata.json"))
.check(
status.is(200),
jsonPath("$.status").is("200"),
jsonPath("$.status").saveAs("statuss")
))
).exec(polling.stop)
}
}
val scn = scenario("asyncpolling")
.tryMax(60){
exec(HttpPollingAsync())
}
setUp(scn.inject(atOnceUsers(10))).protocols(httpProtocol)
Исключение, которое я получаю при запуске этого фрагмента кода (это просто синтаксически правильно):
Exception in thread "main" java.lang.UnsupportedOperationException: There were no requests sent during the simulation, reports won't be generated
at io.gatling.charts.report.ReportsGenerator.generateFor(ReportsGenerator.scala:49)
at io.gatling.app.RunResultProcessor.generateReports(RunResultProcessor.scala:59)
at io.gatling.app.RunResultProcessor.processRunResult(RunResultProcessor.scala:38)
at io.gatling.app.Gatling$.start(Gatling.scala:81)
at io.gatling.app.Gatling$.fromArgs(Gatling.scala:46)
at io.gatling.app.Gatling$.main(Gatling.scala:38)
at io.gatling.app.Gatling.main(Gatling.scala)
Так что есть часть, когда к нему никогда не обращаются и не используют.
Любая помощь или указание Я был бы признателен в правильном направлении.
Спасибо!