수색…


소개

매개 변수화는 동일한 테스트 스크립트에서 여러 사용자에 대해 서로 다른 데이터 세트를 작성하는 것입니다. 예를 들어, 동일한 스크립트에서 다른 자격 증명을 사용하여 여러 사용자를 실행합니다. 따라서 성능 테스트 작성의 주요 측면 중 하나가됩니다.

외부 파일을 사용한 매개 변수화

실적 스크립트를 매개 변수화하는 일반적인 방법 중 하나는 CSV 파일을 사용하는 것입니다. CSV 입력 파일 사용의 가장 좋은 예는 로그인 프로세스입니다. 서로 다른 사용자간에 응용 프로그램을 테스트하려면 사용자 자격 증명 목록을 제공해야합니다.

특정 사용자에 대해 작동하는 로그인 요청이 있다고 가정 해 보겠습니다. 여기에 이미지 설명을 입력하십시오.

외부 CSV 파일을 사용하고 다른 사용자간에 스크립트를 실행하여 쉽게 요청을 매개 변수화 할 수 있습니다. CSV 매개 변수화 설정을 추가하려면 :

로그인 요청 -> 추가 -> 구성 요소 -> CSV 데이터 세트 구성을 마우스 오른쪽 버튼으로 클릭하십시오.

여기에 이미지 설명을 입력하십시오.

'CSV 데이터 세트 구성'매개 변수에 대한 간단한 설명 :

  • 이름 - JMeter 트리에서 사용될 요소 이름
  • Filename - 입력 파일의 이름. 상대 파일 이름은 활성 테스트 계획의 경로에 따라 결정됩니다. 절대 파일 이름도 지원됩니다.
  • 파일 인코딩 - 입력 파일의 인코딩 (플랫폼 기본값이 아닌 경우)
  • 변수 이름 - 구문 분석 된 값의 컨테이너로 사용될 분리 된 변수 이름 목록입니다. 비어 있으면 파일의 첫 번째 줄이 변수 이름 목록으로 해석됩니다.
  • Delimiter - 구문 분석 된 값을 입력 파일에서 분리하는 데 사용될 구분 기호
  • 인용 된 데이터를 허용 하시겠습니까? - 큰 따옴표를 무시하고 이러한 요소에 구분 기호가 포함되도록하려는 경우에 해당됩니다.
  • EOF에서 재활용 하시겠습니까? - 파일 테스트 계획이 파일을 두 번 이상 반복해야하는 경우에 해당됩니다. JMeter가 파일 시작 부분에서 커서를 이동하도록 지시합니다
  • EOF에서 스레드를 중지 하시겠습니까? - CDC 파일에 대한 루프 반복의 경우 false이고 전체 파일을 읽은 후에 스레드를 중지하려는 경우 true입니다.
  • 공유 모드:
    • 모든 스레드 - 파일이 모든 가상 사용자간에 공유됩니다 (기본값).
    • 현재 스레드 그룹 - 파일은 각 스레드 그룹에 대해 한 번 열립니다.
    • 현재 스레드 - 각 파일은 각 스레드에 대해 개별적으로 열립니다.
    • 식별자 - 동일한 식별자를 공유하는 모든 스레드도 동일한 파일을 공유합니다.

이름과 비밀번호가있는 다른 사용자가 포함 된 CSV 파일을 만듭니다. 여기에 이미지 설명을 입력하십시오.

이제이 파일을 CSV 데이터 세트 구성으로 사용할 수 있습니다. 우리의 경우 "Filename"과 "Variables Names"설정 값을 추가하는 것만으로 충분합니다 : 여기에 이미지 설명을 입력하십시오.

우리가 취해야 할 마지막 단계는 CSV 변수로 로그인 요청을 매개 변수화하는 것입니다. 이는 다음과 같이 CSV 데이터 세트 구성의 "변수 이름"구성 필드에서 초기 값을 적절한 변수로 대체하여 수행 할 수 있습니다. 여기에 이미지 설명을 입력하십시오. 테스트 스크립트를 실행하면 JMeter는 이러한 변수를 'TestUsers.csv'파일의 값으로 대체합니다. 각 JMeter 가상 사용자는 다음 csv 파일 줄에서 자격 증명을받습니다.

첫 번째 사용자의 로그인 요청 :

여기에 이미지 설명을 입력하십시오.

두 번째 사용자의 로그인 요청 : 여기에 이미지 설명을 입력하십시오.

데이터베이스를 사용한 매개 변수화

성능 스크립트를 매개 변수화하는 또 다른 방법은 JDBC를 통해 데이터베이스 데이터를 사용하는 것입니다. JDBC는 클라이언트가 데이터베이스에 액세스하는 f}을 정의하는 응용 프로그램 프로 그래 V 인터페이스입니다.

우선, 데이터베이스에 JDBC 드라이버를 다운로드하십시오 (데이터베이스 벤더 참조). 예를 들어, mysql 드라이버는 여기에서 찾을 수 있습니다. 그런 다음 아래 양식을 사용하여 .jar 파일을 테스트 계획에 추가하여 추가 할 수 있습니다.

여기에 이미지 설명을 입력하십시오.

그러나 lib 폴더에 Jar 파일을 추가하고 JMeter를 다시 시작하는 것이 좋습니다.

그런 다음 'JDBC 연결 구성'요소를 사용하여 데이터베이스 연결을 구성하십시오. 이와 같이 : 스레드 그룹 -> 추가 -> 구성 요소 -> JDBC 연결 구성을 마우스 오른쪽 단추로 클릭하십시오.

여기에 이미지 설명을 입력하십시오.

'JDBC 연결 구성'매개 변수 :

  • 이름 - 스레드 그룹 트리에 표시 될 연결 구성의 이름
  • 변수 이름 - db 연결의 고유 식별자로 사용될 이름입니다 (여러 연결을 사용할 수 있으며 각 연결은 다른 이름으로 연결됩니다)
  • 최대 연결 수 - 연결 풀에서 허용되는 최대 연결 수입니다. 0의 경우 각 스레드는 하나의 연결을 가진 자체 풀을 가져옵니다.
  • Max Wait (ms) - 데이터베이스 연결 중에 지정된 시간 초과가 초과되면 풀에서 오류가 발생합니다.
  • 축출 실행 간격 (밀리 초) - db 풀에서 사용되지 않는 연결을 제거하는 스레드 실행 사이에 일시 중지 할 시간 (밀리 초)입니다.
  • 자동 커밋 - 예 관련 db 연결에 대한 자동 커밋을 설정합니다.
  • 테스트 중 유휴 상태 - 유효한 요청이 감지되기 ​​전에 유휴 연결을 확인하십시오. 세부 정보 : BasicDataSource.html # getTestWhileIdle
  • Soft Min Evictable Idle Time (ms) - 특정 연결이 축출되기 전에 db 풀에서 유휴 상태 일 수있는 시간. 세부 정보 : BasicDataSource.html # getSoftMinEvictableIdleTimeMillis
  • 유효성 검사 쿼리 - 데이터베이스가 여전히 응답하는지 확인하는 데 사용되는 상태 확인 쿼리
  • 데이터베이스 URL - 데이터베이스의 JDBC 연결 문자열입니다. 예제는 여기를 참조하십시오.
  • JDBC 드라이버 클래스 - 드라이버 클래스의 적절한 이름입니다 (각 db에 고유). 예 : 'com.mysql.jdbc.Driver'for MySql db
  • 사용자 이름 - 데이터베이스 사용자 이름
  • 암호 - 데이터베이스 암호 (테스트 계획에 암호화되지 않은 상태로 저장 됨)

우리의 경우에는 필수 입력란 만 설정해야합니다.

  • 변수 이름 풀에 바인딩됩니다.
  • 데이터베이스 URL
  • JDBC 드라이버 클래스
  • 사용자 이름
  • 암호

화면의 나머지 필드는 기본값으로 남겨 둘 수 있습니다. 여기에 이미지 설명을 입력하십시오.

테스트 사용자 자격 증명을 데이터베이스에 저장한다고 가정 해 보겠습니다. 여기에 이미지 설명을 입력하십시오.

이제 데이터베이스 연결이 구성되면 JDBC 요청 자체를 추가하고 해당 쿼리를 사용하여 데이터베이스에서 모든 자격 증명을 가져올 수 있습니다. 스레드 그룹 -> 추가 -> 샘플 -> JDBC 요청을 마우스 오른쪽 단추로 클릭하십시오.

'Select 문'쿼리와 '변수 이름'을 사용하여 사용자 지정 변수에 대한 응답을 구문 분석 할 수 있습니다.

여기에 이미지 설명을 입력하십시오.

후속 요청에서 더 이상 사용할 수있는 JMeter 변수가 생깁니다. 지정된 변수는 증분 접미사 (email_1, email_2, email_3 ... ..)로 생성됩니다.

'로그인 요청'에서 이러한 변수를 사용하려면 JDBC 쿼리 응답에서 올바른 값에 액세스하는 데 사용할 카운터를 추가해야합니다. JMeter에서 'Counter'요소를 추가하려면 : 스레드 그룹 -> 추가 -> 구성 요소 -> 카운터를 마우스 오른쪽 버튼으로 클릭하십시오.

여기에 이미지 설명을 입력하십시오.

그런 다음 __V 함수를 사용하여 '로그인 요청'을 업데이트 할 수 있습니다. 이것은 변수 이름 표현식을 평가 한 결과를 리턴하며 중첩 된 변수 참조를 평가하는 데 사용할 수 있습니다.

여기에 이미지 설명을 입력하십시오.

지정된 구성으로 데이터베이스 값을 사용하여 여러 사용자간에 스크립트를 실행할 수 있습니다. 여기에 이미지 설명을 입력하십시오. 여기에 이미지 설명을 입력하십시오.

'Parameterized Controller'플러그인을 사용한 매개 변수화

다른 매개 변수를 사용하여 동일한 동작의 반복 시퀀스를 실행해야하는 경우 JMeter-Plugins 프로젝트의 'Parameterized Controller'타사 플러그인을 사용하십시오.

설치 절차에 따라 먼저이 플러그인을 설치해야합니다.

로그인 워크 플로를 매개 변수화한다고 가정 해 보겠습니다.

여기에 이미지 설명을 입력하십시오.

먼저 JMeter 코어에 포함되지 않은 'Parameterized Controller'플러그인을 설치해야합니다. 해당 프로세스의 설치 단계는 여기에서 찾을 수 있습니다.

'로그인 요청'을 별도의 컨트롤러로 옮기고 비활성화하십시오 (마우스 오른쪽 버튼으로 클릭하고 '사용 안함'을 선택하십시오). 이것은 모듈 컨테이너를 테스트 계획 안에 넣고 Workbench를 그러한 컨테이너로 사용하지 않는 가장 좋은 방법입니다. 설치가 끝나면 다른 사용자 자격 증명으로 두 개의 '매개 변수가있는 컨트롤러'컨트롤러를 추가 할 수 있습니다 . 스레드 그룹 -> 추가 -> 논리 컨트롤러 -> 매개 변수가있는 컨트롤러를 마우스 오른쪽 단추로 클릭하십시오.

여기에 이미지 설명을 입력하십시오.

매개 변수가있는 컨트롤러에는 매개 변수를 지정할 수있는 '사용자 정의 변수'섹션이 있습니다. 첫 번째 사용자의 자격 증명을 첫 번째 매개 변수가있는 컨트롤러에두고 두 번째 사용자 자격 증명을 두 번째 매개 변수화 된 컨트롤러에 넣습니다. 여기에 이미지 설명을 입력하십시오.

매개 변수화 된 두 컨트롤러 내부에서 '재사용 컨트롤러'에 대한 참조를 추가하여 다른 매개 변수로 '로그인 요청'을 호출하십시오. 다음과 같이 할 수 있습니다.

'Parameterized Controller'-> 'Add'-> 'Logic Controller'-> 'Module Controller'를 마우스 오른쪽 버튼으로 클릭하십시오.

여기에 이미지 설명을 입력하십시오.

스크립트를 실행할 때 '로그인 요청'이 매개 변수화 된 각 컨트롤러를 개별적으로 트리거했음을 알 수 있습니다. 입력 매개 변수의 여러 조합을 통해 스크립트를 실행해야하는 경우에 매우 유용 할 수 있습니다.

여기에 이미지 설명을 입력하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow