在性能测试中,我使用ElFileBody读取xml,其中seqNumber将用于其中一个标记,以便每个文档都是唯一的
<document>
<id>${seqNumber}</id>
</document>
我想要签名的每个唯一文档,然后得到:
<document>
<id>1</id>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo>...</ds:Signature>
</document>
我尝试使用processRequestBody,但是在processRequestBody中打印body.toString会给我“”,因此我不确定如何获取xml的字符串值并将其转换为添加签名标记的方法。
during(100 seconds) {
forever("seqNumber") {
exec(http("Post New Document")
.post("/document")
.body(ElFileBody("bodies/document.xml"))
.processRequestBody
({ body => {
print(body.toString)
val xml = signatureHelper.sign(body.toString);
StringBody(xml)
}})
.processRequestBody(gzipBody)
.header("Content-Type", "application/xml")
.header("Content-Encoding",
"gzip").check(status.not(400),status.not(500))).exitHereIfFailed
}
}