在加特林场景中用户注入时更改标头值

问题描述 投票:0回答:1

我想在用户每次注入Gatling时更改标头值。因为运行代码时我的代码有错误。错误是“签名已过期:20200124T170359Z现在早于20200124T170552Z(20200124T172052Z-15分钟。”。我的代码是


val signer: AwsSigner = AwsSigner(AwsCredentialsProviderWithSession, region, Service, clock)

val signedHeaders = signer.getSignedHeaders(Uri, PostMethod, queryParams, headers, emptyPayload)

 val scen =scenario("Home page").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))
)
amazon-web-services header gatling
1个回答
0
投票

您需要使用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}")
© www.soinside.com 2019 - 2024. All rights reserved.