important loadrunner functions used vugen scripts with examples
Funções importantes do LoadRunner usadas principalmente em scripts VuGen com sintaxe e exemplos:
Desafios de script VuGen foram explicados em detalhes em nosso tutorial anterior no Série de treinamento on-line grátis LoadRunner .
Em nossa jornada com o LoadRunner VuGen, até agora encontramos muitas funções predefinidas (e, claro, também vimos como escrever nossas próprias funções).
Neste tutorial, vamos listar e falar brevemente sobre o LoadRunner 'predefinido' importante, funções específicas do protocolo e da linguagem C que usamos principalmente em scripts / cenários VuGen.
=> Clique aqui para uma série completa de tutoriais do LoadRunner
Vamos classificar essas funções em três categorias:
- Funções LoadRunner (LR)
- Funções específicas de protocolo (Web - HTTP / HTML)
- Funções da linguagem C
Vamos explorar um por um!
O que você aprenderá:
- Funções LoadRunner (LR)
- Funções específicas do protocolo
- Funções da linguagem C
- Conclusão
- Leitura recomendada
Funções LoadRunner (LR)
Essas funções são as funções gerais do LoadRunner comuns a todos os protocolos:
1) lr_eval_string (): Como já visto, esta função retorna a string de entrada após avaliar quaisquer parâmetros embutidos.
dois) lr_eval_string_ext (): Esta função cria um buffer e o atribui à string de entrada após avaliar os parâmetros incorporados.
3) lr_save_string (): Como já visto, esta função atribui um valor ao parâmetro / variável LR.
4) lr_save_int (): Esta função atribui um número inteiro a um parâmetro LR, conforme mostrado abaixo:
Exemplo:
int number; number=8; lr_save_int(number,”numparam”);
O parâmetro ‘numparam’ agora pode ser usado como qualquer outro parâmetro LR.
5) lr_paramarr_random (): Como já visto, esta função seleciona aleatoriamente um dos valores de uma matriz de parâmetro.
6) lr_paramarr_len (): Esta função retorna o número de elementos em uma matriz de parâmetro.
Suponha que 'cFlight' seja a matriz de parâmetros com valores de voo, o exemplo abaixo mostra como o número de elementos desta matriz pode ser copiado para uma variável.
Exemplo:
int arrLen; arrLen = lr_paramarr_len('cFlight');
7) lr_paramarr_idx (): Esta função fornece o valor do parâmetro em um local especificado em uma matriz de parâmetro. Um exemplo mostrado abaixo salva o terceiro valor da matriz de parâmetro em uma variável.
Exemplo:
char * flightVal; flightVal = lr_paramarr_idx('cFlight', 3);
8) lr_db_connect () : Esta é uma função de banco de dados usada para se conectar a um banco de dados.
9) lr_db_disconnect () : Esta é uma função de banco de dados usada para se desconectar de um banco de dados.
10) lr_start_transaction () e lr_end_transaction (): Como já visto, essas funções são usadas para iniciar e terminar (respectivamente) uma transação.
onze) lr_message () : Esta é uma função de mensagem usada para enviar mensagem (ns) para o log e para a janela de saída.
12) lr_output_message (): Esta é uma função de mensagem usada para enviar a (s) mensagem (ns) com detalhes como a seção do script e o número da linha para janelas de saída, arquivos de log e outros resumos de relatórios de teste.
13) lr_log_message () : Esta é uma função de mensagem usada para enviar mensagem (ns) para o usuário V ou arquivo de log do agente e não para a janela de saída.
14) lr_error_message (): Esta é uma função de mensagem usada para enviar mensagem (ns) para as janelas de saída, arquivos de log e outros resumos de relatórios de teste.
quinze) lr_save_datetime (): Esta função salva a data e hora atuais (ou a data e hora com o deslocamento especificado) em um parâmetro que pode ser usado em nosso script como e quando necessário.
Exemplo:
lr_save_datetime('Today’s date is %B %d %Y', DATE_NOW , 'today'); lr_output_message(lr_eval_string('{today}'));
Action.c (4): A data de hoje é 09 de junho de 2018
A seguir está outro exemplo em que o deslocamento de um dia é usado:
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): A data de amanhã é 10 de junho de 2018
16) lr_set_debug_message (): Esta função altera o nível de registro de mensagens (para uma parte do script) do que é definido nas configurações de tempo de execução. Conforme mostrado abaixo, um rastreamento completo é habilitado apenas para a solicitação ‘index.htm’ (mesmo se o nível de registro estiver definido como ‘Registro padrão’ nas configurações de tempo de execução).
melhor rastreador de e-mail grátis para gmail
Exemplo:
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 (): Esta função aborta a execução do script depois de executar a seção ‘vuser_end’. Esta função é útil quando precisamos abortar manualmente o script devido a uma condição de erro específica.
18) lr_exit (): Esta função instrui o Vuser a sair do script executado durante a execução e continuar de acordo com as ‘Opções de continuação do script’ especificadas.
No seguinte exemplo, esta função instrui o Vuser a parar a iteração de execução do script global atual e iniciar a próxima iteração.
lr_exit(LR_EXIT_MAIN_ITERATION_AND_CONTINUE, LR_AUTO);
Aqui está uma lista de outras opções de continuação de script:
- LR_EXIT_VUSER - Saia sem qualquer condição e vá diretamente para a ação vuser_end.
- LR_EXIT_ACTION_AND_CONTINUE - Pare a ação atual e vá para a próxima ação.
- LR_EXIT_ITERATION_AND_CONTINUE - Pare a iteração atual e vá para a próxima iteração.
- LR_EXIT_VUSER_AFTER_ITERATION - Saia após a execução da iteração atual ser concluída.
- LR_EXIT_VUSER_AFTER_ACTION - Saia após a execução da ação atual ser concluída.
19) lr_think_time (): Esta função permite que um usuário V faça uma pausa por um tempo definido entre etapas / ações no script VuGen. Isso é para simular o comportamento real do usuário de pensar por algum tempo entre as ações / etapas em um aplicativo.
Por exemplo, o seguinte faz um Vuser esperar por 10 segundos ...
lr_think_time(10);
vinte) lr_rendezvous (): Como já foi visto, esta função instrui o LoadRunner a aguardar em uma etapa especificada no script até que todos os Vusers cheguem a essa etapa para que a solicitação subsequente possa ser executada simultaneamente.
vinte e um) lr_load_dll (): Esta função é usada para carregar uma dll externa permitindo que um Vuser chame uma função externa ao reproduzir o script.
22) lr_save_searched_string (): Esta função procura uma ocorrência de uma string em um buffer e salva uma parte do buffer após aquela string em um parâmetro.
No seguinte exemplo , a terceira ocorrência (número definido no terceiro atributo mais 1) da string 'todos' é pesquisada no buffer e os próximos 14 caracteres (sexto atributo) são salvos em um parâmetro (quinto atributo '1' pula o espaço após a pesquisa )
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): A subcadeia pesquisada são os homens do rei.
2. 3) lr_vuser_status_message (): Esta função envia uma mensagem para a área de status do Vuser do Controlador e para o log do Vuser.
24) lr_next_row (): Esta função funciona no arquivo de dados de parâmetro especificado e é usada para avançar uma linha ativa para a próxima linha.
25) lr_advance_param (): Esta função faz com que o script use o próximo valor disponível do parâmetro trabalhando nos nomes das colunas.
26) lr_start_timer () e lr_end_timer (): Essas funções são usadas para iniciar e parar um cronômetro em um script VuGen que calcula a passagem do tempo em segundos.
27) lr_whoami (): Esta função retorna informações sobre o Vuser (como Vuser id, Vuser group).
28) lr_get_vuser_ip (): Esta função retorna o endereço IPv4 de um Vuser.
29) lr_get_host_name (): Esta função retorna o nome da máquina que está executando o script.
30) lr_get_master_host_name (): Esta função retorna o nome da máquina que executa o Controlador.
31) lr_decrypt (): Esta função descriptografa uma string codificada. Geralmente é usado para descriptografar senhas.
32) lr_continue_on_error (): Esta função especifica como tratar os erros para continuar executando se ocorrer um erro ou para abortar a execução do script.
***********************************
Nesta seção, discutimos mais sobre funções 'predefinidas' e funções 'LoadRunner' em detalhes.
Em nossa próxima seção, falaremos sobre as funções LoadRunner ‘Protocol Specific’ e ‘C-Language’.
Funções específicas do protocolo
Essas funções são específicas para um protocolo; em nossa discussão, nos limitaremos a discutir o protocolo ‘Web-HTTP / HTML’ ou simplesmente funções específicas do protocolo ‘Web’.
1) web_url (): Esta função carrega a página da Web especificada pelo argumento URL.
dois) web_submit_form (): Esta função envia um formulário. E essa função é gravada apenas no modo HTML e envia uma solicitação sensível ao contexto (já falamos sobre solicitações sensíveis ao contexto e sem contexto).
Veja o exemplo abaixo:
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 );
3) web_submit_data (): Esta função envia um formulário 'sem contexto'. Esta função é gravada apenas no modo de gravação baseado em URL ou no modo de gravação baseado em HTML com a opção ‘Um script contendo apenas URLs explícitos’ marcada.
Veja o exemplo abaixo:
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 (): Esta função é usada para criar uma solicitação HTTP personalizada usando qualquer método ou corpo.
como abrir arquivos eps no windows
5) web_concurrent_start () e web_concurrent_end (): Essas funções são usadas para marcar o início e o fim (respectivamente) de um grupo simultâneo. Todas as funções dentro de um grupo (entre essas funções) são executadas simultaneamente.
6) web_reg_save_param (): Como já foi visto, esta é uma função de correlação baseada em fronteira.
7) web_reg_save_param_ex (): Esta também é uma função de correlação baseada em fronteira, que é uma versão aprimorada da função web_reg_save_param.
8) web_reg_find (): Como já visto, esta função é utilizada para verificação de texto.
9) web_image_check (): Como já visto, esta função é utilizada para verificação de imagem.
10) web_convert_param (): Esta função é usada para converter texto HTML em texto simples ou URL, ou texto simples em URL. No exemplo abaixo, essas funções convertem o conteúdo do parâmetro ‘ParamName’ do formato HTML para o formato URL.
Exemplo:
web_convert_param (“ParamName”, “SourceEncoding = HTML”, “TargetEncoding = URL”, LAST);
onze) web_get_int_property (): Esta função retorna informações específicas (como o código de status, tamanho do download, etc.) sobre a solicitação HTTP anterior. No exemplo mostrado abaixo, esta função é usada para retornar o código de status HTTP e o tamanho do download.
Exemplo:
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 started (MsgId: MMSG-26355)
Action.c (17): web_get_int_property foi bem-sucedido (MsgId: MMSG-26392)
Action.c (18): O código de status HTTP é 200
Action.c (20): web_get_int_property started (MsgId: MMSG-26355)
Action.c (20): web_get_int_property foi bem-sucedido (MsgId: MMSG-26392)
Action.c (21): O tamanho do download é 12891 bytes
12) web_set_max_html_param_len (): Esta função é usada para definir o comprimento máximo de qualquer string HTML que pode ser recuperada e salva em um parâmetro. O valor padrão para o comprimento máximo de um parâmetro que pode ser capturado durante a correlação é de 256 caracteres. Esta função é usada para recuperar uma string com mais de 256 caracteres.
13) web_cache_cleanup (): Esta função é usada para limpar o cache. Nas configurações de tempo de execução - guia Emulação do navegador, se ‘Simular um novo usuário a cada iteração’ estiver habilitado, então esta função é chamada automaticamente no início de cada iteração.
14) web_cleanup_cookies (): Esta função apaga todos os cookies armazenados atualmente pelo Vuser.
quinze) web_add_cookie (): Esta função adiciona um novo cookie.
16) web_add_header (): Esta função adiciona um cabeçalho definido pelo usuário à próxima solicitação HTTP.
17) web_save_timestamp_param (): Esta função salva o timestamp local atual do computador que está executando o script. Este é um número de 13 dígitos e o valor é o número de milissegundos desde a meia-noite de 1º de janeiro de 1970.
Exemplo:
web_save_timestamp_param('currentTimeStamp', LAST ); lr_output_message(lr_eval_string('Timestamp: {currentTimeStamp}'));
Action.c (5): Timestamp: 1529249235582
18) web_set_user (): Esta função especifica um valor de login e senha para um servidor Web ou servidor proxy. Quando efetuamos login em um servidor que requer nome de usuário e senha, esta função é gerada.
19) web_set_proxy (): Esta função é usada para instruir o Vuser a direcionar todas as solicitações HTTP para o especificado Servidor proxy .
vinte) web_set_certificate (): Esta função é usada para instruir o Vuser a usar um certificado específico do registro do Internet Explorer (sempre que um servidor Web seguro requer que o cliente apresente um certificado).
Por exemplo, a função a seguir instrui o Vuser a usar o segundo certificado do registro do Internet Explorer.
web_set_certificate('2');
vinte e um) web_set_sockets_option (): Esta função é usada para configurar várias opções para sockets na máquina cliente.
SSL_VERSION - versão SSL: '2', '3', '2 e 3', 'TLS', 'TLS1.1' ou 'TLS1.2'.
MAX_CONNECTIONS_PER_HOST - O número máximo de conexões simultâneas por host.
CLOSE_KEEPALIVE_CONNECTIONS - Fecha todas as conexões abertas.
Funções da linguagem C
Estas são as funções 'C' que são usadas para aprimorar os scripts VuGen para cenários específicos.
1) strcpy (): Esta função copia uma string para outra.
Exemplo:
char String(100); strcpy (String,'This is a string'); lr_output_message('The content in String is : %s', String);
Action.c (8): O conteúdo em String é: Esta é uma string
dois) strcmp (): Esta função compara duas strings e retorna um valor que indica a relação lexicográfica entre elas ('= 0' se as strings forem iguais, '0' se a primeira string for maior que uma segunda string).
Exemplo:
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): Strings não são iguais.
3) strlen (): Esta função retorna o comprimento de uma string em bytes.
4) strcat (): Esta função concatena duas strings.
Exemplo:
char String(100)= 'Star'; strcat (String,'Wars'); lr_output_message('The final string is: %s',String);
Action.c (10): A string final é StarWars.
5) strtok (): Como já visto, esta função retorna um token de uma string delimitada por caracteres especificados.
6) atoi (): Como já visto, esta função converte uma string C em um C inteiro.
7) atof (): Esta função converte uma string C em um float C.
8) itoa (): Esta função converte um inteiro C em uma string C.
Exemplo:
int x=1; char y(100); itoa (x,y,10); lr_output_message('The string is: %s',y);
Action.c (8): A string é: 1
9) fopen (): Esta função é usada para abrir um ponteiro de arquivo.
10) fclose (): Esta função é usada para fechar um ponteiro de arquivo.
onze) fread (): Esta função lê dados não formatados de um fluxo em um buffer.
12) fwrite (): Esta função grava dados não formatados de um buffer em um fluxo.
13) fprintf (): Como já visto, esta função grava a saída formatada em um arquivo.
14) corrida(): Esta função grava a saída formatada em uma string.
Exemplo:
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): O novo nome do arquivo é log_84.txt
Conclusão
Neste tutorial, aprendemos mais sobre as funções importantes predefinidas do LoadRunner.
Essas funções cuidam de quase todos os cenários importantes que geralmente encontramos em aplicativos de tempo real. É aconselhável consultar a ‘Referência de função’ na ajuda do VuGen para obter detalhes adicionais sobre essas funções.
Em nosso próximo tutorial, você aprenderá mais sobre Web Services Scripting Usando LoadRunner.
=> Visite aqui para obter uma série completa de tutoriais do LoadRunner
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Teste de desempenho de serviços da Web usando script LoadRunner VuGen
- Funções de data e hora em C ++ com exemplos
- Tutorial Python DateTime com exemplos
- Funções em C ++ com tipos e exemplos
- Teste de carga com tutoriais HP LoadRunner
- Funções Python
- Funções de string Python
- Opções de gravação VUGen no LoadRunner