Apache JMeter에서 임의의 시간대에 대한 현재 시간 문자열 변수 설정하기

8476 단어 JMeter
JMeter의 BSF Processor에서 javascript를 사용하여 오랑우탄을 진행합니다.

컨디션

  • Mac OS/X 10.7.5
  • JMeter 2.9
  • 설정


    이런 느낌으로.

    BSF Processor Script의 내용은 이런 느낌입니다.
    // Parameters 第一引数 (変換後 のタイムゾーンオフセット [時])
    var tzHoursOffset = args[0];
    // Parameters 第二引数 (変換後 のタイムゾーンオフセット [分])
    var tzMinutesOffset = args[1];
    
    // 引数のタイムゾーンオフセットをミリ秒単位に変換
    var tzOffset = tzHoursOffset*60*60*1000 + tzMinutesOffset*60*1000;
    
    var localDate = new Date();
    var localOffset = localDate.getTimezoneOffset() * 60000;
    var utc = localDate.getTime() + localOffset;
    
    var targetTime = utc + tzOffset;
    
    var now = new Date(targetTime);
    var year = now.getFullYear();
    var month = zeroPadding(now.getMonth() + 1);
    var date = zeroPadding(now.getDate());
    var hour = zeroPadding(now.getHours());
    var minutes = zeroPadding(now.getMinutes());
    var seconds = zeroPadding(now.getSeconds());
    
    // 変数'utcDate'に "YYYY-MM-DD'T'HH:mm;ss +HH:mm"な文字列を設定する
    vars.put('utcDate', year + "-" + month + "-" + date + 'T' + hour + ":" + minutes + ":" + seconds + getTimeZoneString(tzHoursOffset, tzMinutesOffset));
    
    /**
       * 時、分を"+HH:MM" フォーマットに変換
       * @param hourOffset {Number} 時
       * @param minutesOffset {Number} 分
       * @return {String} "+HH:MM"
       */
    function getTimeZoneString(hourOffset, minutesOffset){
      var sign = hourOffset >= 0 ? "+" : "-";
      var hours = zeroPadding(""+hourOffset);
      var minutes = zeroPadding(""+minutesOffset);
      return sign + hours + ":" + minutes;
    }
    
    /**
       * 1桁の数値を 0埋め
       */
    function zeroPadding(target){
        return ('00'+target).slice(-2);
    }
    

    출력 이미지


    HTTP Request 설정

    결과 내보내기
    Connection: close
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 124
    User-Agent: Java/1.7.0_09
    Host: localhost:8000
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    
    <RequestBody>
      <element sequence="3">
         <timestamp>2013-10-12T05:06:41+00:00</timestamp>
      </element>
    </RequestBody>POST / HTTP/1.1
    Connection: close
    

    좋은 웹페이지 즐겨찾기