Гатлинг: не было отправлено ни одного запроса во время симуляции, отчеты не будут генерироваться - PullRequest
0 голосов
/ 07 января 2020

После успешного выполнения сценария JMS Gatling я сталкиваюсь с ошибкой:

Gatling: There were no requests sent during the simulation, reports won't be generated

Я пытался выполнить HTTP-запросы, и он правильно генерирует отчеты. Тем не менее, для JMS отчеты не генерируются.

Сообщения создаются правильно и используются одинаково.

Фактический скрипт взят из Образец Gatling :

package com.msg.demo

import io.gatling.core.Predef._
import io.gatling.jms.Predef._
import javax.jms._
import scala.concurrent.duration._

import io.gatling.core.feeder.SourceFeederBuilder
import io.gatling.core.structure.ChainBuilder
import java.util.UUID

class TestJmsDsl extends Simulation {

  // create a ConnectionFactory for ActiveMQ
  // search the documentation of your JMS broker
  val connectionFactory =
    new org.apache.activemq.ActiveMQConnectionFactory("tcp://localhost:61616")

 val jndiBasedConnectionFactory = jmsJndiConnectionFactory
    .connectionFactoryName("ConnectionFactory")
    .url("tcp://localhost:61616")
    .credentials("user", "secret")
    .contextFactory("org.apache.activemq.jndi.ActiveMQInitialContextFactory")

  val jmsConfig = jms
    .connectionFactory(connectionFactory)
    .usePersistentDeliveryMode

  val scn = scenario("JMS DSL test").repeat(0){
      exec(jms("req reply testing").requestReply
      .queue("jmstestq")
      .replyQueue("jmstestq")
      .textMessage("HELLO FROM GATLING JMS DSL")
      .property("test_header", "test_value")
      .jmsType("test_jms_type")
      .check(simpleCheck(checkBodyTextCorrect)))
  }

  setUp(scn.inject(constantUsersPerSec(1) during (5 seconds)))
    .protocols(jmsConfig)
    .assertions(global.successfulRequests.percent.gte(10))

  def checkBodyTextCorrect(m: Message) = {
    // this assumes that the service just does an "uppercase" transform on the text
    m match {
      case tm: TextMessage => true //tm.getText == "HELLO FROM GATLING JMS DSL"
      case _               => false
    }
  }
}

1 Ответ

0 голосов
/ 09 января 2020

Мне удалось найти решение. решение найдено в: https://github.com/gatling/gatling/blob/master/gatling-jms/src/test/scala/io/gatling/jms/compile/JmsCompileTest.scala

добавление нижеуказанных методов в jms решило проблему: .messageMatcher (HeaderMatcher) .matchByCorrelationId

...