2011-12-05 5 views
1

일련의 스레드 그룹을 (연속적으로) 실행 중이며 각 스레드 그룹의 시작 부분에 여러 매개 변수를 재설정하여 고유 한 값을 갖도록해야합니다.사용자 매개 변수 정의에서 호출 함수

현재 나는 테스트 조각을 사용하여 노드 User Paramaters을 참조하고이 값을 value-${__time()}으로 설정하고 있습니다. 불행히도이 결과는 (시간을 해석하지 않고) 축 어적으로 사용되는 결과를 낳습니다.

함수 호출을 포함하는 스레드 별 그룹 변수를 얻는 더 좋은 방법이 있습니까?

답변

2

다음 예제와 같이 나를 잘 작동합니다 (Jmeter 2.5.1).
각 스레드 (이 경우 3 개의 스레드 그룹, 5 개의 스레드 @ 3 루프)에 대해 ${__time(HMS,)}value-${__time()}으로 설정된 샘플 매개 변수가 성공적으로 확인, 생성 및 업데이트되었습니다 (반복 당 한 번).

user params example

당신은 왜 (게시물 당) Test Fragment를 통해 사용자 매개 변수를 사용하는 답변을 주시겠습니까? 단지 참고하시기 바랍니다

... 그리고 몇 가지 기사 :
Parametrization in JMeter with user parameter
JMeter Variables vs. Properties. vs. Parameters

업데이트 :

테스트 조각과에 넣어 모두 사용자에 Params 및 테스트 로직 예를 들어 결과를 검색 모듈 컨트롤러에서 호출됩니다.
위의 예제와 같은 방식으로 작동합니다. 성공적으로 해결되었습니다. 개별 루프의 샘플러간에 보존되고 각 스레드의 루프간에 업데이트됩니다 (반복마다 한 번씩). 나머지 스레드 그룹의 출력을 위해 화면에서 주석 처리했습니다. 첫 번째 만 해당, 모든 TG가 활성화 된 상태에서 정상적으로 작동 함).

을 : 위의 스키마가 여전히 당신을 위해 작동하지 않을 경우 -

user params example with test fragment

는 당신이 각 스레드 그룹에 테스트 조각에서 사용자에 Params의 설정을 넣어 테스트 조각 만 테스트 로직을 남겨을 시도 할 수 있습니다 생각

user params example with test fragment

매우 좋지 않지만 모듈 컨트롤러와 컨트롤러 포함 모두 여전히 "버그가 있으며"때로는 예측할 수 없습니다.

시나리오에서 문제가있는 컨트롤러를 디버그 할 수도 있습니다. jmeter의 주 메뉴에서 컨트롤러> 도움말을 선택하고 실행 후 세부 정보는 jmeter.log를보십시오.> 디버그 사용을 클릭하십시오.


당신은 또한 사용자 정의 Parameterized Controller에 볼 수 있었다 - 어쩌면 더 나은 작동합니다.

+1

사용자 매개 변수 노드의 중복을 피하기 때문에 테스트 조각의 RE 사용자 매개 변수. –

+0

다음과 같이해볼 수 있습니까? User Paramers + BeanShell Sampler를 복제하는 대신 테스트 조각으로 이동하고 각 스레드에 모듈 컨트롤러를 호출하여 해당 테스트 조각을 실행하십시오. 그렇게하면 변수가 해결되지 않습니다. –

+0

업데이트 내용은 위를 참조하십시오. –

관련 문제