Scala 如何将列表添加到feeder
我想做的是用随机的值列表点击端点 我是这样编码的Scala 如何将列表添加到feeder,scala,gatling,Scala,Gatling,我想做的是用随机的值列表点击端点 我是这样编码的 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.
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))
}
点列表
String points
Long totalPointsEarned
端点接受列表,即点列表
这向我显示了一个错误,因为feeder接受FeedBuilder格式的提要。现在我的问题是如何将列表转换为地图
我看了很多例子,但不知道怎么做。感谢您的帮助加特林进料器是一个迭代器,可以将字符串映射到任意字符串 因此,您可以获取数据列表并使用.map和.toIterator来提供您可以调用的内容
val dataList = data.asScala.toList.map(point => Map("points" -> point).toIterator
因此,每次调用.feed时,列表中的下一个点值将放在会话中的“点”下。请注意,要在某个地方使用此值,必须更改列出的持久点定义
根据您的需要,您还可以通过定义一个在.feed上提供随机值的函数来简化代码
如果你只是想要一个介于0和100之间的随机点值,你可以将dataList重新定义为
val dataList = Iterator.continually(Map("points" -> Random.nextInt(101)))