반응형
(1) 작업 내용 설명
- jmeter version : 5.5
- 실행 환경 : mac OS
- 예제 상황 :
- beanshell sampler에서 mac에 설치된 dcmdump command를 실행하여 로 test.dcm 파일에서 0020,0011 tag를 stdout 으로 출력
- stdout으로 출력되는 정보 : (0020,0011) IS [77777] # 6, 1 SeriesNumber
- 해당 정보를 outputVariable 변수로 저장하고, beanshell sampler 하위에 response assertion을 추가하여 \[77777\] 을 포함하고 있는지를 검사
(2) jmeter 구성
아래와 같이 간단히 Thread Group에 Beanshell Sampler를 추가하였고, 하위에 Response Assertion 을 추가하였다.
Debug Sampler는 변수 저장된 내용을 확인하기 위해 임시 추가한거라 생략 가능하다.
(2-1) BeanShell Sampler 내용
import java.io.*;
// 파일 경로 입력
String dicomFilePath = "./test.dcm";
// DCMTK의 dcmdump 실행 명령어 생성
String dcmtkRootPath = "/opt/homebrew/bin"; // DCMTK의 설치 경로
String dcmdumpCommand = dcmtkRootPath + "/dcmdump --search 0020,0011 " + dicomFilePath;
try {
// dcmdump 명령어 실행
Process process = Runtime.getRuntime().exec(dcmdumpCommand);
// 명령어 실행 결과를 읽기 위한 BufferedReader 생성
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
// 결과를 저장할 변수
StringBuilder output = new StringBuilder();
String line;
// 명령어 실행 결과를 한 줄씩 읽어서 변수에 추가
while ((line = reader.readLine()) != null) {
output.append(line);
}
// 결과를 변수에 저장
vars.put("outputVariable", output.toString());
// BufferedReader와 프로세스 종료
reader.close();
process.destroy();
} catch (IOException e) {
log.error("Error executing command: " + e);
}
(2-2) Response Assertion 내용
(3) 실행 결과
(3-1) Assertion에 \[77777\] 로 매칭 성공하도록 실행한 결과
캡쳐와 같이 에러가 발생하지 않고, 특이점이 없음
(3-2) Asserion에 \[777779\] 로 매칭 실패하도록 실행한 결과
캡쳐와 같이 에러가 발생하며, Response Assertion에 실패된 이유(Test failed: variable(outputVariable) expected to contain /\[777779\]/) 가 출력되어 실패 원인을 추적할 수 있음
반응형
'Engineering > Jmeter, Postman' 카테고리의 다른 글
Jmeter : CSV Data Set Config (Config Element) Example (1) | 2023.11.18 |
---|---|
[jmeter] postgresql driver 사용하여 쿼리하기 (0) | 2023.10.27 |
jmeter : Windows CMD 또는 Linux Command 로 실행하기 (0) | 2022.07.03 |
Postman : GraphQL query 요청하기 (0) | 2022.02.27 |
Jmeter : Counter (Config Element) Example (0) | 2021.10.24 |
댓글