parameterization qtp explained with examples qtp tutorial 19
=> Clique aqui para a série de tutoriais de treinamento QTP
O que você aprenderá:
- O que é parametrização QTP?
- Tipos de parametrização em QTP
- Parametrização em QTP usando tabela de dados com exemplo
- Leitura recomendada
O que é parametrização QTP?
Às vezes, o aplicativo não aceita registros de dados duplicados. Nesse caso, se você executar o mesmo script de teste com um conjunto fixo de dados de entrada, um aplicativo pode gerar um erro devido à duplicação de dados. Para evitar esse problema, o QTP fornece maneiras de aceitar diferentes entradas de teste para o script de teste.
Este processo de fornecer diferentes valores de entrada por meio de parâmetros externos é chamado de Parametrização
Tipos de parametrização em QTP
O valor da variável pode ser ou os tipos de parâmetro podem ser:
- Parâmetros da tabela de dados
- Parâmetros de teste / ação
- Parâmetros variáveis de ambiente
- Parâmetros de número aleatório
Neste tutorial QTP, vamos nos concentrar principalmente na Parametrização usando Datatable. Explicaremos outros tipos de métodos de parametrização no próximo tutorial.
como abrir arquivo eps no windows 10
Parametrização em QTP
Digamos que você esteja tentando escrever um programa que verifica os valores de login de alguns usuários em gmail.com. A seguir está o código que você tem para um usuário, mas deseja que o mesmo assuma valores diferentes a cada vez. Como você faz isso?
Código para fazer login no Gmail para um usuário:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Agora, vá para a visualização Palavra-chave e clique na coluna de valor para as instruções de conjunto de id de e-mail e senha.
A tela típica que surge quando você está tentando parametrizar:

Como você pode ver, o valor pode ser uma constante, “swatiseela” neste caso, o ID de login.
Ou se você escolher a opção de parametrizar, os campos correspondentes na tela serão ativados.

Nesta tela, você pode escolher parametrizar o valor escolhido com um valor da tabela de dados, variável de ambiente ou um número aleatório. Como a fonte mais usada é a tabela de dados, discutiremos isso primeiro.
Além desses, você pode usar os valores de entrada e saída de uma determinada ação como um parâmetro para um valor. Discutiremos isso também daqui a pouco.
Parametrização em QTP usando tabela de dados com exemplo
Parametrização em QTP usando Excel
Eu verifiquei o valor do parâmetro ON e então há um local no campo Datatable após o nome.
Nome O nome da coluna correspondente na tabela de dados de onde os dados precisam ser obtidos. Por padrão, o QTP irá sugerir um nome. Você tem a opção de mantê-lo como sugerido ou alterá-lo conforme necessário.
Global Folha: Esta folha de dados está disponível para todas as ações em um teste.
Folha de ação atual ou folha local: como o nome sugere, é a planilha de dados que está disponível para uma determinada ação.
Vou para várias linhas de dados para a folha de dados global. É aqui que a ferramenta codificadora de senha se torna útil. Você pode inserir valores criptografados em sua folha de dados obtida com esta ferramenta.
É assim que minha folha de dados se parece:

Após a parametrização, é assim que o código se parece:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('SignInName', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('GPassword', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close Você verá no código acima que os valores para o ID de e-mail e a senha são retirados da tabela de dados.
como transformar um vídeo do youtube em um arquivo wav
Este código será executado para todas as 4 linhas de dados na planilha global se na tela seguinte eu definir a opção “Executar em todas as linhas” ON:

Por precaução, se você não quiser usar a tela acima para decidir quantas linhas o código precisa ser executado, você pode fazê-lo programaticamente. Para isso, você precisa selecionar a opção “Executar apenas uma iteração” na tela acima e escrever o código da seguinte forma:
for i=1 to datatable.GetRowCount SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync datatable.SetCurrentRow(i) varName=datatable.value('SignInName') varPwd=datatable.Value('GPassword') Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set varName Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure varPwd Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close next Ao executar um teste que é executado por 2 iterações, é assim que a tela de resultados do teste ficará:

Gostaria de passar algum tempo examinando o código e tentando entender por que cada linha e sua ordem são importantes para a execução bem-sucedida do teste:
- Por que estou abrindo o navegador no loop ‘for’?
- Por que existem instruções de sincronização em todos os lugares?
- Por que estamos fechando programaticamente o navegador no final, em vez de deixar a opção “Gravar e executar as configurações - Fechar o navegador quando o teste fechar” cuidar disso para nós?
- Novamente, por que a instrução close está dentro do loop ‘for’?
Observe que no trecho de código acima, eu não declarei as variáveis neste teste, não indentei as instruções ou forneci comentários. Isso é deliberado, pois não queria diluir a essência das declarações. O seguinte conceito responderá a estas perguntas:
Estado do seu AUT:
A regra básica é - Cada iteração deve começar com o AUT sendo o mesmo estado e terminando no mesmo estado.
- Se a instrução para abrir a página gmail.com estivesse fora do loop for, o teste funcionaria bem na primeira iteração, mas na próxima a página gmail.com não teria sido aberta e o teste falharia.
- Se a instrução para fechar o navegador não estiver incluída no teste, o teste abrirá um navegador a cada iteração e você terá o mesmo número de instâncias do navegador abertas para o número de linhas na tabela de dados.
- Imagine se a instrução close estivesse fora do loop for, você também acabará com muitos navegadores.
- Instrução de sincronização: força o teste QTP a esperar até que uma determinada página carregue completamente antes de começar a executar uma determinada operação nela.
Sempre tente retornar seu aplicativo ao estado em que começou. Isso garantirá que você forneça a mesma interface para cada uma de suas iterações para interagir.
A seguir está o trecho de código quando você está usando uma folha local em vez da global:
Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('Name', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('Pwd', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click No QTP, você pode parametrizar valores de:
- Pontos de verificação.
- Propriedades do objeto para uma etapa selecionada.
- Argumentos de operação definidos para uma etapa selecionada.
- Uma ou mais propriedades de um objeto armazenado no repositório de objetos local na caixa de diálogo Propriedades do objeto ou na janela Repositório de objetos.
O texto acima também é um exemplo de dados que conduzem a um determinado teste. Veremos como parametrizar usando o outros tipos de parâmetro no próximo artigo.
=> Visite aqui para a série de tutoriais de treinamento QTP
Leitura recomendada
- Parametrização em QTP (Parte 2) - QTP Tutorial # 20
- Tutoriais de QTP - 25+ Tutoriais de treinamento do Micro Focus Quick Test Professional (QTP)
- Selenium Encontrar Elemento por Tutorial de Texto com Exemplos
- Tutoriais detalhados do Eclipse para iniciantes
- QTP Tutorial # 18 - Estruturas baseadas em dados e híbridas explicadas com exemplos de QTP
- Tutorial QTP nº 6 - Compreendendo as configurações de registro e execução QTP para nosso primeiro teste
- Tutorial QTP nº 24 - Usando objetos virtuais e cenários de recuperação em testes QTP
- Programação Descritiva em QTP e Conexão de Banco de Dados em QTP - Tutorial # 25