制作请求体不能同时工作

问题描述

我想通过屏蔽同时发送一些请求 以下是我编写请求的代码段。 用于制作json的JSON文件内容功能。它已在主要要求中使用 TestDevice_dev.csv具有设备列表,直到30后30为止,我将重用它。 测试设备1 测试设备2 测试设备3 。 。 。 val dFeeder = csv(“ TestDevice_dev.csv”)。circular

val trip_dte_tunnel_1 = scenario("TripSimulation")
        .feed(dFeeder)
        .exec(session => {
         val key = conf.getString("config.env.sign_key")
         var bodyTrip = CannedRequests.jsonFileContents("${deviceID}")
         //deviceId comes from the feeder
         session.set("trip_sign",SignatureGeneration.getSignature(key,bodyTrip))
         session.set("tripBody",bodyTrip)
         })
        .exec(http("trip")
           .post(trip_url)
           .headers(trip_Headers_withsign)
           .body(StringBody("${tripBody}")).asJSON.check(status.is(201)))    
        .exec(flushSessionCookies)
the scenario is started as below 
val scn_trip = scenario("trip simulation")
    .repeat{1} {
      
      exec(DataExchange.trip_dte_tunnel_1)
   
    }
  setUp(scn_trip.inject(constantUsersPerSec(5)  during (5 seconds))) ```

如果有1个用户持续5秒,但没有模拟用户,则运行正常。

精心制作的json请求如下所示

   "events":[
      {
         "deviceDetailsDataModel":{
            "deviceId":"<deviceID>"
         },"eventDateTime":"<timeStamp>","tripInfoDataModel":{
            "ignitionStatus":"ON","ignitionONTime":"<onTimeStamp>"
         }
      },{
         "deviceDetailsDataModel":{
            "deviceId":"<deviceID>"
         },"tripInfoDataModel":{
            "ignitionOFFTime":"<onTimeStamp>","ignitionStatus":"OFF"
         }
      }
   ]
}`


    `def jsonFileContents(deviceId: String): String= {
    val fileName = "trip-data.json"
    var stringBuilder=""
    var timeStamp1:Long = ZonedDateTime.now(ZoneId.of("America/Chicago")).toInstant().toEpochMilli().toLong - 10000.toLong
    for (line <- (Source fromFile fileName).getLines) {
      if (line.contains("eventDateTime")) {
        var lineReplace=line.replaceAll("<timeStamp>",timeStamp1.toString())
        stringBuilder=stringBuilder+lineReplace
        timeStamp1 = timeStamp1+1000.toLong
      }
      else if (line.contains("onTimeStamp")) {
        var lineReplace1=line.replaceAll("<onTimeStamp>",timeStamp1.toString)
        stringBuilder=stringBuilder+lineReplace1
      }
      else if (line.contains("deviceID")){
        var lineReplace2=line.replace("<deviceID>",deviceId)
        stringBuilder=stringBuilder+lineReplace2
      }
      else {
        stringBuilder =stringBuilder+line
      }
    }
    stringBuilder
  }
`

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)