0

로드 테스트를위한 데이터 소스가 있습니다. 웹 서비스 호출은 한 번의 호출을 완료해야하며 동일한 데이터 소스 레코드를 다시 재사용 할 수 있습니다. 하지만 내 문제는이 데이터 레코드가 사용되고 있다는 것을 어떻게 알 수 있습니까? 내 VS 부하 테스트에서 이것을 어떻게 제어 할 수 있습니까?VS로드 테스트에서 중복 웹 서비스 호출을 피하는 방법

+0

문맥을 더 제공하기 위해 질문을 [편집 할 수 있습니까? 테스트 세부 사항은 무엇이며 왜/어떻게 재사용되는 레코드입니까? 데이터 소스 항목에 가상 사용자 수보다 많은 데이터 소스 행이있는 경우 중복 된 동시 사용을 피하기 위해 필자의 일반적인 권장 사항. 최소한 두 배 이상, 더 많이 선호합니다. 내 테스트에서 – AdrianHHH

+0

, 나는 훨씬 더 많은 데이터 소스를 생성 할 수 없다. 제한된 사용자 만 사용해야합니다. 내 데이터는 사용자 및 암호 같은 데이터를 보유하고 있으며 각 웹 서비스 호출은 사용자와 암호를 사용하고 있습니다. 두 개의 동일한 웹 서비스 호출이 발생하면 서버는 오류 메시지를 다시 보냅니다. 그러나 나는 이런 상황이 일어나기를 원하지 않는다. 몇 가지 플러그인이 있다면 좋겠다. 이제는 일부 스레드가이 사용자와 암호를 사용하고 있는지 확인할 수있다. 그렇다면 끝내기를 기다릴 것이다. 그렇지 않다면 웹 서비스 호출을 보낸다. 사용할 수있는 스레드를 모니터하는 데 도움이되는 예제가 있습니까? 감사 – Geri

답변

0

가상 사용자간에 데이터 원본 값을 동기화하는 기능이 기본적으로 지원되지 않습니다.

하나의 가능성은 로그인 요청을 성공할 때까지 계속 시도하는 루프에 넣는 것입니다.

loop "Context parameter exists", Check for existence == false 
    Issue the login request 
     Extraction rule: "Extract text" 
      Search for text such as "Login successful" 
      With Required == false 
endloop 

루프가 상황에 맞는 파라미터 (CP)이 존재하지 않는 동안 반복 계속해서 설정되어 다음과 같이 로그인 요청 루프가 구성 될 수있다. 서버가 작동하지 않는 경우를 대비하여 루프의 최대 반복 횟수 (아마도 10)를 설정하는 것이 좋습니다. 그러면 결국 테스트가 중단됩니다.

로그인 요청이 전송되고 추출 규칙은 로그인 성공을 나타내는 텍스트를 찾습니다. 그 텍스트가 발견되면 무언가가 CP에 기록됩니다. Required == false이 (가) 로그인에 성공하지 못하면 CP가 생성되지 않습니다. 따라서 루프는 다시 돌아 간다.

다른 가상 사용자에게 데이터 사용을 완료 할 시간을 부여하려면 로그인 요청에 0이 아닌 시간이 있어야합니다. 로그인에 성공하면 생각 시간을 0으로 설정하는 PostRequest 플러그인을 사용할 수도 있습니다. (PostRequest 플러그인은 생각 시간을 수정할 수 있지만이 기능이 작동하는지 확인해야한다고 생각합니다.)

전체 테스트 시간에는 실패한 것이 포함되므로 테스트 성능을 이해하는 것은 약간 더 복잡합니다. 로그인 시도

관련 문제