2017-12-11 4 views
0

업데이트 : 테스트 스크립트를 첨부했습니다. 두 개의 대체는 CSV-DATASOURCE (파일 이름)와 주 스레드 그룹 (스레드 수)에 있습니다. test plan file

이것은 우리를 미치게합니다. Jmeter 3.3 r1808647 사용. 속성 대체는 완전히 실패한 것처럼 보이지만 원격으로 테스트가 실행될 때만 실패합니다.

나는 여러 가지 방법으로, 최근이 같은 외모 시도했다 : 설정 스레드 그룹에

  1. 을, 나는 구성 요소/사용자 정의 변수를 사용하는 일부 사용자 변수를 정의하고있다. 리터럴 값은 작동하지만 $ {__ P (globalPropName)}은 로컬 테스트에서 올바르게 대체되며 원격 테스트에서는 $ {__ P (globalPropName)} 문자열로 유지됩니다. 이것은 디버그 샘플러를 사용하면 분명합니다.
  2. 그러나 매우 동일한 디버그 샘플러의 결과로 속성이 존재하고 유효한 값을 가지므로 -J/-G 문제가 아닙니다.
  3. 변수 대체가 작동하지 않기 때문에 기본값을 사용할 수 없습니다.

나는 Number of Threads와 같은 일부 항목에서 직접 대체를 시도했지만 대체가 없기 때문에 모든 것이 작동하지 않습니다.

$ {varname} 같은 간단한 변수 대체는 재미있게도 충분히 재미 있습니다. 애호가는 그렇지 않습니다. 마치 원격 실행에서 문자열 파서가 의도적으로 작동하지 않는 것처럼 보입니다.

어떻게 해결할 수 있습니까?

+0

속성이있는 디버그 샘플러의 결과를 표시 할 수 있습니까? jmx가 이전 버전과 호환됩니까? – user7294900

+0

Jmeter 3.2에서 작업 할 수있는 옵션이 없으므로 3.3이 붙어 있습니다. 디버그 샘플러는 JMeterProperties 아래에 올바른 항목을 보여줍니다 : –

답변

0

그래서 원격 서버가 시작되는 방식이 잘못 설정된 것 같습니다.모든 잡록 파일 C에 있어야합니다 (소스 CSV를가, 파일, 로그 결과)부터

배치 파일 (우리가 여기에 윈도우를 얘기) ...

"C:\apache-jmeter-3.3\bin\jmeter.bat" -s -Dserver_port=1098 -j "C:\ows\jmeter-service-ows.log" -d "C:\ows" 

같이 간다 : \ OWS. 그러나 Jmeter가 라이브러리에 대해 혼란스러워한다는 것이 밝혀졌습니다.

배치 파일은 다음과 같습니다 경우 :

"C:\apache-jmeter-3.3\bin\jmeter.bat" -s -Dserver_port=1098 -j "C:\ows\jmeter-service-ows.log" -d "C:\apache-jmeter-3.3" 

... 테스트는 작업을 모두 대체와 함께, 잘 실행됩니다.

Jmeter가 CompoundVariable 클래스에서 어떤 함수도 찾을 수 없다는 경고와 경고를 확인했는데 첫 번째 경우에는 아무 것도 찾지 못했고 둘째는 발견했습니다. 이 테스트는 별도의 외부 누락 된 범인 (같은 jmeter.functions 또는 STG)과 같은 폴더에 위치해 라이브러리 (GSON), 및 을 사용하기 때문에

실제로 버그를 의심하고있어 그 특정 라이브러리로드 두 경우 모두 괜찮습니다. 이 버그를보고해야한다고 생각하니?

0
  1. 당신이 좋아하는 -G command-line argument를 통해 마스터로부터 globalPropName 속성을 통과해야합니다 : 원격 슬레이브 (들)을 구성해야합니다

    jmeter -GglobalPropName=foo 
    
  2. 같은 로그 파일을 작성 :

    jmeter -s -j slave.log 
    
  3. 슬레이브 머신에 JMeter 설치의 "lib/ext"폴더 아래에 ApacheJMeter_functions.jar이 있는지 확인하십시오. 테스트가 로컬에서 잘 작동한다면 네트워크를 통해 "작동중인"JMeter 인스턴스를 종속 호스트에 복사하는 것이 좋습니다.
아래에 요약하고 작동 것처럼 내가 같은 JMeter를 버전을 사용하여 문제를 재현 동일한 테스트 계획과 명령을 시도 할 수없는 상태 할 수

- 이에 따라

JMeter Remote Properties

참조하여 설정을 수정 :

+0

1-2-3은 이미 그와 비슷합니다 (몇 가지 cmdline 스위치가 있지만 기본적으로 저는 여러분이 제안한 것을 수행하고 있습니다.) 아직 행운이 없습니다 것은 이것들입니다 모든 슬레이브는 nssm 기반 jmeter 서비스를 사용하여 포트 1098에서 종속 서버를 실행합니다 (포트 1099는 아직 사용중인 3.2 인스턴스 용으로 예약되어 있습니다). 다른 프로젝트). 서비스의 홈 디렉토리는 c : \ ows로, 로그와 소스 파일 (.csv는 참조하는 곳)이 있습니다. 그래서 이해할 수없는 것은 ... (계속) –

+0

... 독립 실행 형 테스트를 수행 할 때 - 작동되는 방식 - 원격으로는 아니지만 GUI 모드에서 종속 시스템 중 하나에서 jmeter 3.3의 동일한 인스턴스를 실행합니다. 완벽하게 실행됩니다. 유일한 차이점은 슬레이브 서버의 경우 모든 것이 서비스로서 nssm에 래핑된다는 것입니다. 그러나 그것은 같은 설치입니다. 같은 인스턴스. 간단한 대체 (post 매개 변수와 같은 CSV 파일의 값과 같은)가 작동합니다. 소품 만 사용할 수 없습니다. –

관련 문제