Как добавить список в фидер - PullRequest
0 голосов
/ 28 января 2020

raЧто я хочу сделать, это поразить конечную точку случайным списком значений

, для которого я закодировал, как это

import com.gap.loyalty.creditcards.points.domain.PointsRequest
import com.gap.performance.Header._
import io.gatling.core.Predef._
import io.gatling.core.structure.ScenarioBuilder
import io.gatling.http.Predef._
import scala.collection.JavaConverters._
import scala.util.Properties.envOrElse

object PersistList {
    val data: java.util.List[PointList] = Helper.fetchPointsList() //which returns a random list
    val dataList = data.asScala.toList;

    private val postPersist = http("Persist Points")
        .post("/persist")
        .headers(applicationJson)
        .check(status is 200)

    val scenarios: ScenarioBuilder = scenario("Persist Points")
        .feed(dataList).forever(exec(postPersist))
}

PointsList

String points
Long totalPointsEarned

Конечная точка принимает список, то есть PointList

, который показывает мне ошибку, так как устройство подачи принимает формат FeedBuilder подачи. Теперь мой вопрос, как преобразовать список в карту.

Я прошел много примеров, но не мог понять, как это сделать. Ценю вашу помощь

1 Ответ

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

Фидер Гатлинга - это итератор, который отображает строку в Any.

Так что вы можете взять свой dataList и использовать .map и .toIterator, чтобы дать вам то, что вы можете вызвать .feed на

val dataList = data.asScala.toList.map(point => Map("points" -> point).toIterator 

Таким образом, каждый раз, когда вызывается .feed, следующее значение точки из вашего списка будет помещено в сессию под ключом «точки». Обратите внимание, что вам придется изменить указанное в списке определение точек сохранения, чтобы где-то использовать это значение.

В зависимости от ваших потребностей, вы также можете упростить свой код, просто определив функцию, которая предоставляет случайное значение on .feed

Например: если вы просто хотите, чтобы случайное значение точки находилось в диапазоне от 0 до 100, вы можете переопределить dataList, чтобы он был ...

val dataList = Iterator.continually(Map("points" -> Random.nextInt(101)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...