important loadrunner functions used vugen scripts with examples
주로 VuGen 스크립트에서 구문 및 예제로 사용되는 중요한 LoadRunner 함수 :
VuGen 스크립팅 과제 이전 튜토리얼에서 자세히 설명했습니다. 온라인 무료 LoadRunner 교육 시리즈 .
LoadRunner VuGen을 사용한 여정에서 지금까지 많은 사전 정의 된 함수를 발견했습니다 (물론 자체 함수를 작성하는 방법도 보았습니다).
이 튜토리얼에서는 VuGen 스크립트 / 시나리오에서 주로 사용하는 중요한 '미리 정의 된'LoadRunner, 프로토콜 별 및 C 언어 함수를 나열하고 간략하게 설명합니다.
=> LoadRunner 자습서의 전체 시리즈를 보려면 여기를 클릭하십시오.
이러한 기능을 세 가지 범주로 분류 해 보겠습니다.
- LoadRunner (LR) 함수
- 프로토콜 별 (웹 – HTTP / HTML) 기능
- C 언어 기능
하나씩 살펴 보자!
학습 내용 :
LoadRunner (LR) 함수
다음 함수는 모든 프로토콜에 공통적 인 일반 LoadRunner 함수입니다.
1) lr_eval_string () : 이미 살펴본 것처럼이 함수는 포함 된 매개 변수를 평가 한 후 입력 문자열을 반환합니다.
2) lr_eval_string_ext () : 이 함수는 버퍼를 생성하고 포함 된 매개 변수를 평가 한 후 입력 문자열에 할당합니다.
삼) lr_save_string () : 이미 살펴본 것처럼이 함수는 LR 매개 변수 / 변수에 값을 할당합니다.
4) lr_save_int () : 이 함수는 아래와 같이 정수를 LR 매개 변수에 할당합니다.
예:
int number; number=8; lr_save_int(number,”numparam”);
이제 'numparam'매개 변수를 다른 LR 매개 변수로 사용할 수 있습니다.
5) lr_paramarr_random () : 이미 본 것처럼이 함수는 매개 변수 배열에서 값 중 하나를 무작위로 선택합니다.
6) lr_paramarr_len () : 이 함수는 매개 변수 배열의 요소 수를 반환합니다.
'cFlight'가 비행 값을 갖는 매개 변수 배열이라고 가정하면 아래 예는이 배열의 요소 수를 변수로 복사하는 방법을 보여줍니다.
예:
int arrLen; arrLen = lr_paramarr_len('cFlight');
7) lr_paramarr_idx () : 이 함수는 매개 변수 배열의 지정된 위치에있는 매개 변수의 값을 제공합니다. 아래에 표시된 예는 매개 변수 배열의 세 번째 값을 변수에 저장합니다.
예:
char * flightVal; flightVal = lr_paramarr_idx('cFlight', 3);
8) lr_db_connect () : 데이터베이스에 연결하는 데 사용되는 데이터베이스 기능입니다.
9) lr_db_disconnect () : 데이터베이스와의 연결을 끊는 데 사용되는 데이터베이스 기능입니다.
10) lr_start_transaction () 및 lr_end_transaction () : 이미 살펴본 것처럼 이러한 기능은 트랜잭션을 시작하고 종료하는 데 사용됩니다 (각각).
열한) lr_message () : 로그 및 출력 창에 메시지를 보내는 데 사용되는 메시지 기능입니다.
안드로이드 폰을 감시하는 앱
12) lr_output_message () : 이것은 출력 창, 로그 파일 및 기타 테스트 보고서 요약에 스크립트 섹션 및 행 번호와 같은 세부 사항이있는 메시지를 보내는 데 사용되는 메시지 기능입니다.
13) lr_log_message () : 출력 창이 아닌 Vuser 또는 에이전트 로그 파일에 메시지를 보내는 데 사용되는 메시지 기능입니다.
14) lr_error_message () : 출력 창, 로그 파일 및 기타 테스트 보고서 요약에 메시지를 보내는 데 사용되는 메시지 기능입니다.
열 다섯) lr_save_datetime () : 이 함수는 현재 날짜와 시간 (또는 지정된 오프셋이있는 날짜와 시간)을 필요할 때 스크립트에서 사용할 수있는 매개 변수에 저장합니다.
예:
lr_save_datetime('Today’s date is %B %d %Y', DATE_NOW , 'today'); lr_output_message(lr_eval_string('{today}'));
Action.c (4) : 오늘 날짜는 2018 년 6 월 9 일입니다.
다음은 1 일 오프셋이 사용되는 또 다른 예입니다.
lr_save_datetime('Tomorrow's date is %B %d %Y', DATE_NOW + ONE_DAY , 'tomorrow'); lr_output_message(lr_eval_string('{tomorrow}'));
Action.c (4) : 내일 날짜는 2018 년 6 월 10 일입니다.
16) lr_set_debug_message () : 이 함수는 런타임 설정에 설정된 것에서 메시지 로깅 수준 (스크립트의 일부)을 변경합니다. 아래와 같이 전체 추적은‘index.htm’요청에 대해서만 활성화됩니다 (로그 수준이 런타임 설정에서‘표준 로그’로 설정된 경우에도).
예:
lr_set_debug_message( LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_FULL_TRACE , LR_SWITCH_ON ); web_url('index.htm', 'URL= http://127.0.0.1:1080/WebTours/index.htm ', 'TargetFrame=', 'Resource= 0 ', 'RecContentType= text/html ', 'Referer=', 'Snapshot= t8.inf ', 'Mode= HTML ', LAST ); lr_set_debug_message( LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_FULL_TRACE , LR_SWITCH_OFF );
17) lr_abort () : 이 함수는‘vuser_end’섹션을 실행 한 후 스크립트 실행을 중단합니다. 이 함수는 특정 오류 조건으로 인해 스크립트를 수동으로 중단해야 할 때 유용합니다.
18) lr_exit () : 이 함수는 Vuser에게 실행 중에 스크립트 실행을 종료하고 지정된 '스크립트 연속 옵션'에 따라 계속하도록 지시합니다.
다음 예에서, 이 함수는 Vuser에게 현재 전역 스크립트 실행 반복을 중지하고 다음 반복을 시작하도록 지시합니다.
lr_exit(LR_EXIT_MAIN_ITERATION_AND_CONTINUE, LR_AUTO);
다른 스크립트 연속 옵션 목록은 다음과 같습니다.
- LR_EXIT_VUSER – 아무 조건없이 종료하고 vuser_end 작업으로 직접 이동합니다.
- LR_EXIT_ACTION_AND_CONTINUE – 현재 작업을 중지하고 다음 작업으로 이동합니다.
- LR_EXIT_ITERATION_AND_CONTINUE – 현재 반복을 중지하고 다음 반복으로 이동합니다.
- LR_EXIT_VUSER_AFTER_ITERATION – 현재 반복 실행이 완료된 후 종료합니다.
- LR_EXIT_VUSER_AFTER_ACTION – 현재 작업 실행이 완료된 후 종료합니다.
19) lr_think_time () : 이 기능을 통해 Vuser는 VuGen 스크립트에서 단계 / 작업 사이에 정의 된 시간 동안 일시 중지 할 수 있습니다. 이것은 응용 프로그램의 작업 / 단계 사이에 일정 시간 동안 생각하는 실제 사용자 동작을 시뮬레이션하기위한 것입니다.
예를 들어, 다음은 Vuser가 10 초 동안 대기하게합니다.
lr_think_time(10);
이십) lr_rendezvous () : 이미 본 것처럼이 함수는 LoadRunner가 모든 Vuser가 해당 단계에 도달 할 때까지 스크립트의 지정된 단계에서 대기하도록 지시하여 후속 요청이 동시에 실행될 수 있도록합니다.
이십 일) lr_load_dll () : 이 함수는 Vuser가 스크립트를 재생할 때 외부 함수를 호출 할 수 있도록 외부 dll을로드하는 데 사용됩니다.
22) lr_save_searched_string () : 이 함수는 버퍼에서 문자열의 발생을 검색하고 해당 문자열 뒤의 버퍼 일부를 매개 변수에 저장합니다.
다음 예에서 , 문자열 'all'의 세 번째 항목 (세 번째 속성에 정의 된 숫자 + 1)이 버퍼에서 검색되고 다음 14 자 (6 번째 속성)가 매개 변수에 저장됩니다 (5 번째 속성 '1'은 검색 후 공백을 건너 뜁니다. ).
char cBuffer() = 'all the King's horses and all the King's elephants and all the King's men'; lr_save_searched_string(cBuffer, strlen (cBuffer),2,'all',1,14,'parameter'); lr_output_message('The searched sub-string is %s',lr_eval_string('{parameter}'));
Action.c (7) : 검색된 하위 문자열은 왕의 부하입니다.
2. 3) lr_vuser_status_message () : 이 기능은 컨트롤러의 Vuser 상태 영역과 Vuser 로그에 메시지를 보냅니다.
24) lr_next_row () : 이 기능은 지정된 매개 변수 데이터 파일에서 작동하며 활성 행을 다음 행으로 진행하는 데 사용됩니다.
25) lr_advance_param () : 이 함수는 스크립트가 열 이름에 대해 작업하여 매개 변수의 다음 사용 가능한 값을 사용하도록합니다.
26) lr_start_timer () 및 lr_end_timer () : 이러한 함수는 시간 경과를 초 단위로 계산하는 VuGen 스크립트에서 타이머를 시작하고 중지하는 데 사용됩니다.
27) lr_whoami () : 이 함수는 Vuser에 대한 정보를 반환합니다 (예 : Vuser id, Vuser 그룹).
28) lr_get_vuser_ip () : 이 함수는 Vuser의 IPv4 주소를 반환합니다.
29) lr_get_host_name () : 이 함수는 스크립트를 실행하는 컴퓨터의 이름을 반환합니다.
30) lr_get_master_host_name () : 이 함수는 컨트롤러를 실행하는 머신의 이름을 반환합니다.
31) lr_decrypt () : 이 함수는 인코딩 된 문자열을 해독합니다. 일반적으로 암호를 해독하는 데 사용됩니다.
32) lr_continue_on_error () : 이 함수는 오류가 발생한 경우 계속 실행하거나 스크립트 실행을 중단하기 위해 오류를 처리하는 방법을 지정합니다.
***********************************
이 섹션에서는 '사전 정의 된'함수와 'LoadRunner'함수에 대해 자세히 설명했습니다.
다음 섹션에서는 LoadRunner '프로토콜 별'및 'C-Language'기능에 대해 설명합니다.
프로토콜 별 기능
이러한 기능은 프로토콜에 따라 다르며, 논의에서 '웹 -HTTP / HTML'프로토콜 또는 단순히 '웹'프로토콜 특정 기능에 대해 논의하도록 제한 할 것입니다.
1) web_url () : 이 함수는 URL 인수로 지정된 웹 페이지를로드합니다.
2) web_submit_form () : 이 함수는 양식을 제출합니다. 그리고이 함수는 HTML 모드로만 기록되고 상황에 맞는 요청을 제출합니다 (이미 상황에 맞는 요청과 상황이없는 요청에 대해 이야기했습니다).
아래 예 참조:
web_submit_form('login.pl', 'Snapshot= t2.inf ', ITEMDATA , 'Name= username ', 'Value= jojo ', ENDITEM , 'Name= password ', 'Value= bean ', ENDITEM , 'Name= login.x ', 'Value= 51 ', ENDITEM , 'Name= login.y ', 'Value= 13 ', ENDITEM , LAST );
삼) web_submit_data () : 이 함수는 '문맥없는'양식을 제출합니다. 이 기능은 URL 기반 기록 모드 또는 '명시 적 URL 만 포함하는 스크립트'옵션이 선택된 HTML 기반 기록 모드에서만 기록됩니다.
아래 예를 참조하십시오.
web_submit_data('login.pl', 'Action= http://127.0.0.1:1080/cgi-bin/login.pl ', 'Method= POST ', 'RecContentType= text/html ', 'Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in= home ', 'Snapshot= t12.inf ', 'Mode= HTTP ', ITEMDATA , 'Name= userSession ', 'Value= 123342.854353989zDttttipAHAiDDDDDiAzzpziitcf ', ENDITEM , 'Name= username ', 'Value= jojo ', ENDITEM , 'Name= password ', 'Value= bean ', ENDITEM , 'Name= JSFormSubmit ', 'Value= off ', ENDITEM , 'Name= login.x ', 'Value= 51 ', ENDITEM , 'Name= login.y ', 'Value= 13 ', ENDITEM)
4) web_custom_request () : 이 함수는 메서드 또는 본문을 사용하여 사용자 지정 HTTP 요청을 만드는 데 사용됩니다.
5) web_concurrent_start () 및 web_concurrent_end () : 이 함수는 동시 그룹의 시작과 끝을 (각각) 표시하는 데 사용됩니다. 그룹 내의 모든 기능 (이러한 기능 사이에 포함)은 동시에 실행됩니다.
6) web_reg_save_param () : 이미 살펴본 것처럼 이것은 경계 기반 상관 함수입니다.
7) web_reg_save_param_ex () : 이것은 또한 web_reg_save_param 함수의 개선 된 버전 인 경계 기반 상관 함수입니다.
8) web_reg_find () : 이미 살펴본 바와 같이이 기능은 텍스트 확인에 사용됩니다.
9) web_image_check () : 이미 살펴본 바와 같이이 기능은 이미지 확인에 사용됩니다.
10) web_convert_param () : 이 함수는 HTML 텍스트를 일반 텍스트 또는 URL로 변환하거나 일반 텍스트를 URL로 변환하는 데 사용됩니다. 아래 예제에서 이러한 함수는 매개 변수‘ParamName’의 내용을 HTML 형식에서 URL 형식으로 변환합니다.
예:
web_convert_param ( 'ParamName', 'SourceEncoding = HTML', 'TargetEncoding = URL', LAST);
열한) web_get_int_property () : 이 함수는 이전 HTTP 요청에 대한 특정 정보 (예 : 상태 코드, 다운로드 크기 등)를 반환합니다. 아래 표시된 예에서이 함수는 HTTP 상태 코드 및 다운로드 크기를 반환하는 데 사용됩니다.
예:
int statusCode, downloadSize; web_url('index.htm', 'URL= http://127.0.0.1:1080/WebTours/index.htm ', 'Resource= 0 ', 'RecContentType= text/html ', 'Referer=', 'Snapshot= t1.inf ', 'Mode= HTML ', EXTRARES , 'Url= ../favicon.ico ', 'Referer=', ENDITEM , 'Url= https://www.bing.com/favicon.ico ', 'Referer=', ENDITEM , LAST ); statusCode = web_get_int_property( HTTP_INFO_RETURN_CODE ); lr_output_message('The HTTP status code is %d',statusCode); downloadSize = web_get_int_property( HTTP_INFO_DOWNLOAD_SIZE ); lr_output_message('The download size is %d bytes',downloadSize);
Action.c (17) : web_get_int_property 시작됨 (MsgId : MMSG-26355)
Action.c (17) : web_get_int_property가 성공했습니다. (MsgId : MMSG-26392)
Action.c (18) : HTTP 상태 코드는 200입니다.
Action.c (20) : web_get_int_property 시작됨 (MsgId : MMSG-26355)
Action.c (20) : web_get_int_property가 성공했습니다. (MsgId : MMSG-26392)
Action.c (21) : 다운로드 크기는 12891 바이트입니다.
12) web_set_max_html_param_len () : 이 함수는 검색 및 매개 변수에 저장할 수있는 HTML 문자열의 최대 길이를 설정하는 데 사용됩니다. 상관 중에 캡처 할 수있는 매개 변수의 최대 길이에 대한 기본값은 256 자입니다. 이 함수는 256 자보다 긴 문자열을 검색하는 데 사용됩니다.
13) web_cache_cleanup () : 이 기능은 캐시를 지우는 데 사용됩니다. 런타임 설정-브라우저 에뮬레이션 탭에서 '매번 반복 할 때마다 새 사용자 시뮬레이션'이 활성화 된 경우이 함수는 각 반복이 시작될 때 자동으로 호출됩니다.
14) web_cleanup_cookies () : 이 기능은 Vuser가 현재 저장 한 모든 쿠키를 삭제합니다.
열 다섯) web_add_cookie () : 이 기능은 새로운 쿠키를 추가합니다.
16) web_add_header () : 이 함수는 다음 HTTP 요청에 사용자 정의 헤더를 추가합니다.
17) web_save_timestamp_param () : 이 함수는 스크립트를 실행하는 컴퓨터의 현재 로컬 타임 스탬프를 저장합니다. 이것은 13 자리 숫자이고 값은 1970 년 1 월 1 일 자정 이후의 밀리 초 수입니다.
예:
web_save_timestamp_param('currentTimeStamp', LAST ); lr_output_message(lr_eval_string('Timestamp: {currentTimeStamp}'));
Action.c (5) : 타임 스탬프 : 1529249235582
18) web_set_user () : 이 기능은 웹 서버 또는 프록시 서버에 대한 로그인 값과 암호를 지정합니다. 사용자 이름과 비밀번호가 필요한 서버에 로그인하면이 기능이 생성됩니다.
19) web_set_proxy () : 이 함수는 Vuser에게 모든 HTTP 요청을 지정된 프록시 서버 .
이십) web_set_certificate () : 이 기능은 Vuser에게 Internet Explorer 레지스트리의 특정 인증서를 사용하도록 지시하는 데 사용됩니다 (보안 웹 서버에서 클라이언트가 인증서를 제시해야 할 때마다).
예를 들어, 다음 함수는 Vuser에게 Internet Explorer 레지스트리의 두 번째 인증서를 사용하도록 지시합니다.
web_set_certificate('2');
이십 일) web_set_sockets_option () : 이 기능은 클라이언트 컴퓨터의 소켓에 대한 다양한 옵션을 구성하는 데 사용됩니다.
SSL_VERSION – SSL 버전 : ‘2’,‘3’,‘2 & 3’,‘TLS’,‘TLS1.1’또는‘TLS1.2’.
MAX_CONNECTIONS_PER_HOST – 호스트 당 최대 동시 연결 수.
CLOSE_KEEPALIVE_CONNECTIONS – 열려있는 모든 연결을 닫습니다.
C 언어 기능
특정 시나리오에 대한 VuGen 스크립트를 향상시키는 데 사용되는 'C'함수입니다.
1) strcpy () : 이 함수는 한 문자열을 다른 문자열로 복사합니다.
예:
char String(100); strcpy (String,'This is a string'); lr_output_message('The content in String is : %s', String);
Action.c (8) : 문자열의 내용은 다음과 같습니다. 이것은 문자열입니다.
2) strcmp () : 이 함수는 두 문자열을 비교하여 그 사이의 사전 식 관계를 나타내는 값을 반환합니다 (문자열이 같으면 '= 0', 첫 번째 문자열이 두 번째 문자열보다 크면 '0').
예:
char String1(100)= 'The first string'; char String2(100)= 'The second string'; if( strcmp (String1,String2)==0) { lr_output_message('Strings are same'); } else { lr_output_message('Strings are not same'); }
Action.c (14) : 문자열은 동일하지 않습니다.
삼) strlen () : 이 함수는 문자열의 길이를 바이트 단위로 반환합니다.
4) strcat () : 이 함수는 두 문자열을 연결합니다.
예:
char String(100)= 'Star'; strcat (String,'Wars'); lr_output_message('The final string is: %s',String);
Action.c (10) : 마지막 문자열은 StarWars입니다.
5) strtok () : 이미 본 것처럼이 함수는 지정된 문자로 구분 된 문자열에서 토큰을 반환합니다.
6) atoi () : 이미 본 것처럼이 함수는 C 문자열을 C 정수로 변환합니다.
7) atof () : 이 함수는 C 문자열을 C 부동 소수점으로 변환합니다.
8) itoa () : 이 함수는 C 정수를 C 문자열로 변환합니다.
예:
int x=1; char y(100); itoa (x,y,10); lr_output_message('The string is: %s',y);
Action.c (8) : 문자열은 다음과 같습니다. 1
9) fopen () : 이 함수는 파일 포인터를 여는 데 사용됩니다.
10) fclose () : 이 함수는 파일 포인터를 닫는 데 사용됩니다.
열한) fread () : 이 함수는 형식화되지 않은 데이터를 스트림에서 버퍼로 읽습니다.
12) fwrite () : 이 함수는 버퍼의 형식화되지 않은 데이터를 스트림에 씁니다.
13) fprintf () : 이미 본 것처럼이 함수는 형식화 된 출력을 파일에 씁니다.
14) 스프린트(): 이 함수는 형식화 된 출력을 문자열에 씁니다.
예:
int arg = 84; char filename(64), * filetype = 'txt'; sprintf (filename, 'log_%d.%s', arg, filetype); lr_output_message ('The new file name is %s', filename);
Action.c (7) : 새 파일 이름은 log_84.txt입니다.
자바에서 이진 검색 트리 구현
결론
이 튜토리얼에서 우리는 사전 정의 된 중요한 LoadRunner 함수에 대해 더 많이 배웠습니다.
이러한 기능은 실시간 애플리케이션에서 일반적으로 접하는 거의 모든 중요한 시나리오를 처리합니다. 이러한 기능에 대한 자세한 내용은 VuGen 도움말의 '기능 참조'를 참조하는 것이 좋습니다.
다음 자습서에서는 LoadRunner를 사용한 웹 서비스 스크립팅에 대해 자세히 알아 봅니다.
=> LoadRunner 튜토리얼의 전체 시리즈를 보려면 여기를 방문하십시오
이전 튜토리얼 | NEXT 튜토리얼