我想在用户每次注入Gatling时更改标头值。因为运行代码时我的代码有错误。错误是“签名已过期:20200124T170359Z现在早于20200124T170552Z(20200124T172052Z-15分钟。”。我的代码是
val签署者:AwsSigner = AwsSigner(AwsCredentialsProviderWithSession,区域,服务,时钟)
valsignedHeaders = signer.getSignedHeaders(Uri,PostMethod,queryParams,标头,emptyPayload)
val scen = scenario(“首页”).repeat(100){
.exec(
http("Custom headers")
.get("https://sqs." + region + ".amazonaws.com"+/809166105827/ACP-CS-DEV-VA6-WorkerQueueService-QueueServiceTestClient+"?Action=SendMessage&MessageBody=" + queryEnc)
.headers(signedHeaders)
setUp(
sendLoadToAws.scen.inject(rampUsersPerSec(10) to 15 during (60))
)
您需要使用feed,有文档https://gatling.io/docs/current/session/feeder/。
因此,第一个创建此提要
val signedHeaders = {
val signedHeaders = signer.getSignedHeaders(Uri, PostMethod, queryParams, headers, emptyPayload)
Iterator.continually(Map(
"header_1" -> signedHeaders.header_1,
"header_2" -> signedHeaders.header_2
}
现在需要为您的方案添加提要
.feed(signedHeaders)
.exec(
http("Custom headers")
.get("https://sqs." + region + ".amazonaws.com"+/809166105827/ACP-CS-DEV-VA6-WorkerQueueService-QueueServiceTestClient+"?Action=SendMessage&MessageBody=" + queryEnc)
最后添加标题以请求
.feed(signedHeaders)
.exec(
http("Custom headers")
.get("https://sqs." + region + ".amazonaws.com"+/809166105827/ACP-CS-DEV-VA6-WorkerQueueService-QueueServiceTestClient+"?Action=SendMessage&MessageBody=" + queryEnc)
.header("header_name_1", "${header_1}")
.header("header_name_2", "${header_2}")