2017-01-12 9 views
0

우리는 하나의 매개 변수에 단일 데이터를 전달해야하는 하나의 비누 요청으로 작업하고 있으며 두 번째 반복에서는 동일한 입력 요청으로 여러 테스트 데이터를 전달해야합니다. 테스트 데이터 당 입력 비누 요청을 변경하는 방법을 알려주십시오. 아래의 단일 및 다중 요청에 대한 비누 요청을 찾으십시오.loadrunner에서 테스트 데이터 당 입력 비누 요청을 변경하는 방법은 무엇입니까?

단일 요청 :

<ReqDtls> 
<vReqs> 
    <amount>1.00</amount> 
    <cardNo>8897654778999</cardNo> 
</Reqs> 
<cardType>caredit</cardType> 
</ReqDtls> 

여러 요청 : 같은 비누 입력 요청에서는 POS 시스템에서 동적으로 변화하지만 난로드 러너에서 수행 할.

<ReqDtls> 
<vReqs> 
    <amount>1.00</amount> 
    <cardNo>8897654778999</cardNo> 
</Reqs> 
<vReqs> 
    <amount>2.00</amount> 
    <cardNo>890897654778999</cardNo> 
</Reqs> 
<cardType>caredit</cardType> 
</ReqDtls> 

vugen의 모든 코드가 loadtesting에 대한 엑셀 파일에서 값의 유형을 통과, 어떻게 도움을 주시기 바랍니다이 하나

+0

SOAP 요청을 생성하고 모든 반복에서 전역 변수에 저장하기 위해 사전 요청 스크립트 (모든 파일이 될 수 있음)를 실행 한 다음 해당 변수를 스크립트에 전달할 수 있습니다. –

+0

안녕하세요, Kaustav, 명확하게 이해할 수 있도록 예제를 제공해주세요. –

답변

0

당신이 web_custom_request뿐만 아니라 프로그래밍에 기초 기술을 사용하는 곳입니다() (잠재적으로) 사용자 지정 문자열을 보냅니다.

공지 사항 당신은 정의 헤더

<ReqDtls> 

그리고 정의 바닥 글을 가지고 여기에 반복 조각

<vReqs> 
    <amount>{amount_variable}</amount> 
    <cardNo>{card_variable}</cardNo> 
</Reqs> 

이 지금은 C에서 문자열 연결의 문제가된다

<cardType>caredit</cardType> 
</ReqDtls> 

및 변수를 리터럴로 변환합니다. 루프를 고려하고 sprintf()를 낮추십시오. 참고, 변수 선언은 바이올린을 켜는 경우가 조금 필요할 수 있지만, 그것은 당신에게 경로에 대한 아이디어를 제공해야하므로 위의 화면에 소량에서 바로 코드 조각

sprintf(mybigstring,"<ReqDtls>\r"); 
for (myloopcounter=1;myloopcounter<=mylooplimit;myloopcounter++) 
{ 
    sprintf(mybigstring, 
      "%s%s", 
      mybigstring, 
      lr_eval_string("<vReqs>\r<amount>{amount_variable}</amount>\r<cardNo>{card_variable}</cardNo>\r</Reqs>\r")); 
    lr_advance_param("amount_variable"); 
    lr_advance_param("card_variable"); 
} 
sprintf(mybigstring,"%s%s",mybigstring,"<cardType>caredit</cardType>\r</ReqDtls>"); 

에 포함되지 않습니다.

문자열이 생기면 필요에 따라 원하는 문자열을 사용할 수 있습니다.