문제

siteID 및 siteURL 목록을 확인하기 위해 MYSQL 데이터베이스를 쿼리해야 합니다.JDBC 요청의 변수 이름 필드에 이러한 이름을 지정했습니다.

그런 다음 다음과 같이 결과의 마지막 레코드까지 siteURL ${siteURL_1}을 순환하는 ForEach 논리 컨트롤러를 만들었습니다.

Input Variable Prefix: siteURL
Start Index: 0
End Index: 40
Output Variable Name: newSiteURL

그런 다음 HTTP 요청의 경로 필드에서 이를 다음과 같이 사용합니다.

${newSiteURL}

이것은 잘 작동하며 HTTP 요청이 진행됩니다.

이제 더 나은 인덱싱을 위해 HTTP 요청의 이름을 적절하게 지정하고 싶습니다.이를 위해 결과 집합의 siteID 필드를 사용하기로 결정했습니다.

이를 위해 다음과 같은 카운터 변수를 만들었습니다.

Start: 1
Increment: 1
Maximum: 40
Reference Name: siteIndex

이제 해당 HTTP 요청의 결과 표시에서 siteID를 가져오기 위해 HTTP 요청의 이름 필드를 다음과 같이 편집했습니다.

${siteID_"({siteIndex})"}

하지만 결과 보기 트리의 HTTP 요청은 여전히 ​​다음과 같이 표시됩니다.

${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
...

다음과 같이 HTTP 요청의 해당 siteURL에 대한 실제 siteID가 아닙니다.

21231
12315
21654
64574
76876
...
도움이 되었습니까?

해결책

이 비트를 변경해야 합니다.

${siteID_"({siteIndex})"}

에게

${__V(siteID_${siteIndex})}

설명:

에 따라 __V 함수 문서

예를 들어 변수 A1,A2 및 N=1이 있는 경우:

${A1} - 잘 작동합니다

${A${N}} - 작동하지 않습니다(중첩 변수 참조).

${__V(A${N})} - 정상적으로 작동합니다.A${N}은 A1이 되고 __V 함수는 A1의 값을 반환합니다.

보다 JMeter 함수 사용 유용한 JMeter 함수를 사용하여 작업을 수행하는 방법에 대한 더 많은 예제를 보려면 시리즈를 게시하세요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top