Apache JMeter에서 임의의 시간대에 대한 현재 시간 문자열 변수 설정하기
8476 단어 JMeter
컨디션
설정
이런 느낌으로.
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
Reference
이 문제에 관하여(Apache JMeter에서 임의의 시간대에 대한 현재 시간 문자열 변수 설정하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ntakeda67/items/a7d20aef363a0a1690a3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// 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
Reference
이 문제에 관하여(Apache JMeter에서 임의의 시간대에 대한 현재 시간 문자열 변수 설정하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ntakeda67/items/a7d20aef363a0a1690a3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)