使用 gatling/scala 从 POST 请求的模板创建批量 XML

Create Bulk XML from template for POST request using gatling/scala

我想批量 xml 发送到我的 soap 请求正文。我想知道有什么方法可以通过 Gatling/Scala 动态生成它们 我就是这样

private val request=exec( http("Post request to create") .post("/endPoint") .headers(Utils.soapHeaders) .body(ElFileBody("requestbody/ids.xml")) .check(status.is(Utils.successStatus)) )

private val feedId = Iterator.continually( Map( "id" -> Random.alphanumeric.take(13).mkString, "transactionId" -> Random.alphanumeric.take(14).mkString ) )

val scnPostVehicleAsn=Utils.createScenario("soapService", feedId, request)

和 requestbody/ids.xml 具有动态值 ${transactionId} 和 ${id} 的模板。

所以有什么方法可以根据模板动态生成 xml,我不是在寻找重复功能。 只需在执行前生成一次 xml 并传递它,稍后我将进行休息调用以验证它们

我自己想出来了。我创建了一个随机数列表并将其直接传递给 xml

val randomNumbers = List.fill(number)(prefix.concat(Random.alphanumeric.take(13).mkString)) { randomNumbers.map( i => i }

然后,

val file = new File(System.getProperty("user.dir") +"/performance-tests/src/test/resources/requestBody/ids.xml") val bw = new BufferedWriter(new FileWriter(file)) bw.write(VehicleAsns.toString()) bw.close()