jMeter-기능
JMeter 함수 및 사용자 변수
JMeter 함수는 테스트 트리의 샘플러 또는 기타 요소의 필드를 채울 수있는 특수 값입니다.
함수 호출은 다음과 같습니다.
${__functionName(var1,var2,var3)}
_functionName 은 함수의 이름과 일치합니다. 예를 들면${__threadNum}.
함수 매개 변수에 쉼표가 포함 된 경우 아래에 표시된대로 "\"로 이스케이프해야합니다.
${__time(EEE\, d MMM yyyy)}
변수는 다음과 같이 참조됩니다.
${VARIABLE}
기능 목록
다음 표는 느슨하게 유형으로 그룹화 된 함수 그룹을 나열합니다.
기능 유형 | 이름 | 논평 |
---|---|---|
정보 | threadNum | 스레드 번호를 가져옵니다. |
정보 | samplerName | 샘플러 이름 (라벨)을 가져옵니다. |
정보 | machineIP | 로컬 컴퓨터 IP 주소를 가져옵니다. |
정보 | machineName | 로컬 컴퓨터 이름을 가져옵니다. |
정보 | 시각 | 다양한 형식으로 현재 시간을 반환합니다. |
정보 | 로그 | 메시지를 기록 (또는 표시)하고 값을 반환합니다. |
정보 | logn | 메시지를 기록 (또는 표시)합니다 (빈 반환 값). |
입력 | StringFromFile | 파일에서 한 줄을 읽습니다. |
입력 | FileToString | 전체 파일을 읽습니다. |
입력 | CSVRead | CSV로 구분 된 파일에서 읽습니다. |
입력 | XPath | XPath 표현식을 사용하여 파일에서 읽습니다. |
계산 | 카운터 | 증가하는 숫자를 생성합니다. |
계산 | intSum | 정수를 추가하십시오. |
계산 | longSum | 긴 숫자를 추가하십시오. |
계산 | 랜덤 | 난수를 생성합니다. |
계산 | RandomString | 임의의 문자열을 생성합니다. |
계산 | UUID | 임의 유형 4 UUID를 생성합니다. |
스크립팅 | BeanShell | BeanShell 스크립트를 실행하십시오. |
스크립팅 | 자바 스크립트 | JavaScript (Mozilla Rhino)를 처리합니다. |
스크립팅 | jexl, jexl2 | Commons Jexl 표현식을 평가합니다. |
속성 | 특성 | 속성을 읽으십시오. |
속성 | 피 | 속성을 읽습니다 (속기 방법). |
속성 | setProperty | JMeter 속성을 설정합니다. |
변수 | 스플릿 | 문자열을 변수로 분할합니다. |
변수 | V | 변수 이름을 평가하십시오. |
변수 | 평가 | 변수 식을 평가합니다. |
변수 | evalVar | 변수에 저장된 식을 평가합니다. |
끈 | regexFunction | 정규식을 사용하여 이전 응답을 구문 분석합니다. |
끈 | escapeOroRegexpChars | ORO 정규식에서 사용하는 따옴표 메타 문자입니다. |
끈 | 숯 | 숫자 목록에서 유니 코드 문자 값을 생성합니다. |
끈 | Unscape | Java 이스케이프가 포함 된 프로세스 문자열 (예 : \ n & \ t). |
끈 | unescapeHtml | HTML로 인코딩 된 문자열을 디코딩합니다. |
끈 | escapeHtml | HTML 인코딩을 사용하여 문자열을 인코딩합니다. |
끈 | TestPlanName | 현재 테스트 계획의 이름을 반환합니다. |
두 종류의 기능이 있습니다-
사용자 정의 정적 값 (또는 변수)
내장 기능
사용자 정의 정적 값을 통해 사용자는 테스트 트리가 컴파일되고 실행되도록 제출 될 때 정적 값으로 대체 될 변수를 정의 할 수 있습니다.
변수는 중첩 될 수 없습니다. 즉${Var${N}} 작동하지 않습니다.
__V (변수) 함수 (2.2 이후 버전)를 사용하여 $ {__ V (Var $ {N})}를 수행 할 수 있습니다.
이러한 유형의 교체는 기능 없이도 가능하지만 덜 편리하고 덜 직관적입니다.
함수와 변수를 사용하는 곳
함수와 변수는 모든 테스트 구성 요소의 모든 필드에 쓸 수 있습니다.
다음 기능은 테스트 계획에서 잘 작동합니다.
- intSum
- longSum
- machineName
- BeanShell
- javaScript
- jexl
- random
- time
- 속성 함수
- 로그 기능
테스트 계획에서 사용되는 기능에는 몇 가지 제한이 있습니다. JMeter 스레드 변수는 함수가 처리 될 때 완전히 설정되지 않았으므로 매개 변수로 전달 된 변수 이름이 설정되지 않고 변수 참조가 작동하지 않습니다. 따라서 split () 및 regex () 및 변수 평가 함수가 작동하지 않습니다. threadNum () 기능이 작동하지 않습니다 그것은 테스트 계획 수준에서 이해가되지 않습니다.
변수 및 함수 참조
테스트 요소에서 변수 참조는 변수 이름을 '$ {'및 '}'로 괄호로 묶어 수행됩니다.
함수는 동일한 방식으로 참조되지만 규칙에 따라 함수 이름은 사용자 값 이름과의 충돌을 피하기 위해 "__"로 시작합니다.
일부 함수는이를 구성하기 위해 인수를 취하며, 괄호로 묶여 쉼표로 구분됩니다. 함수에 인수가 없으면 괄호를 생략 할 수 있습니다. 예를 들면-
${__BeanShell(vars.put("name"\,"value"))}
또는 테스트 계획에서 스크립트를 변수로 정의 할 수 있습니다.
SCRIPT vars.put("name","value")
스크립트는 다음과 같이 참조 할 수 있습니다.
${__BeanShell(${SCRIPT})}
함수 도우미 대화 상자
함수 도우미 대화 상자는 JMeter에서 사용할 수 있습니다. Options 탭.
함수 도우미를 사용하여 풀다운에서 함수를 선택하고 인수 값을 할당 할 수 있습니다. 테이블의 왼쪽 열은 인수에 대한 간략한 설명을 제공하고 오른쪽 열은 해당 인수에 대한 값을 쓰는 곳입니다. 다른 함수는 다른 인수를 사용합니다.
이 작업을 완료 한 후 "Generate"버튼을 클릭하면 적절한 문자열이 생성되어 필요할 때마다 테스트 계획에 복사하여 붙여 넣을 수 있습니다.
미리 정의 된 변수
일부 변수는 JMeter에 의해 내부적으로 정의됩니다. 그들은-
COOKIE_cookiename-쿠키 값을 포함합니다.
JMeterThread.last_sample_ok-마지막 샘플이 정상인지 여부-참 / 거짓. 참조 : 이것은 포스트 프로세서와 어설 션이 실행 된 후에 업데이트됩니다.
START 변수.
미리 정의 된 속성
일부 내장 속성은 JMeter에 의해 정의됩니다. 아래에 나열되어 있습니다. 편의를 위해 START 속성은 같은 이름의 변수에도 복사됩니다.
START.MS-JMeter 시작 시간 (밀리 초).
START.YMD-JMeter 시작 시간 (yyyyMMdd).
START.HMS-HHmmss로 JMeter 시작 시간.
TESTSTART.MS-테스트 시작 시간 (밀리 초).
START 변수 / 속성은 테스트 시작 시간이 아니라 JMeter 시작 시간을 나타냅니다. 주로 파일 이름 등에 사용하기위한 것입니다.