sábado, 3 de maio de 2008

Conhecendo o BadBoy - parte 2

Nesse post iremos aprender a utilizar as ferramentas Data Source e FormPopulator do BadBoy e aplicar um exemplo.
Primeiro explicarei brevemente como funciona cada uma destas ferramentas no BadBoy e depois faremos um exemplo pratico.
No final do post existe uma video-aula mostrando como foi criado o scrip. Você também pode visualizar os scripts diretamente no Youtube pelo link http://br.youtube.com/sembugs


Data Source
Muitas vezes precisamos interagir com um banco de dados ou efetuar consultas para verificar resultados dos nossos testes manuais. O BadBoy traz este ferramenta para que possamos carregar dados de um banco de dados através de uma conexão ODBC do Windows.
Inserimos um Data Source no script arrastando e soltando ele da aba Tools até o ponto que desejamos. Um ponto importante é colocarmos o Data Source ligado a um step sem qualquer outro item no step. Existem alguns requisitos que devem ser atendidos para a correta utilização do Data Source:


  • Todos os valores para todas as variáveis devem aparecer um uma única tabela
  • O nome das colunas deve ser idênticos as das variáveis
  • Se existiram dados repetidos em uma coluna, crie uma coluna de identificação com um numero seqüencial
Quando adicionamos um Data Source podemos ter a conexão ODBC criada ou simplesmente criá-la pela própria interface do BadBoy. A janela de propriedades do Data Source apresenta quatro itens importantes:

  • DataSource: é nele que selecionamos ou criamos a conexão ODBC. No momento que você insere o Data Source (item) é apresentada a tela para criar ou selecionar a conexão ODBC. Se você necessitar alterar a conexão clique no botão Change..
  • Load from Table: Selecione a tabela ou planilha apresentada pela conexão ODBC. É desta tabela que os dados serão carregados
  • Load Using SQL: Se necessitarmos carregar parte dos dados de uma tabela podemos escrever um comando em SQL para carregar estes dados
  • Map Columns to Variables: Se marcado como Automatic o BadBoy pressupõe que o nome das colunas da tabela e das variáveis são idênticas. Com Custom nos selecionamos somente as colunas que desejarmos.



A utilização correta do Data Source para efetuarmos loops no script tem de estar ligada a um step. Para isso devemos entrar nas propriedades do step e marcar o item Repeat for each value of variable e informar a variável. Note que já devemos ter a variável criada. Outro item a ser levado em consideração é que toda a ação na pagina que dependa do loop deve Ester contida neste step.






Form Populator

Em praticamente todas as paginas web que necessitam que o usuário entre com dados nele são utilizados um elemento HTML chamado Form. O Form HTML consiste em caixas de entrada de dados e um botão de submissão destes dados.

O BadBoy trabalha muito bem com esse elemento HTML através do Form Populator. Ele basicamente verifica se existe algum elemento Form na pagina e pega todos os dados dele, trazendo a informação consigo para poder popular com dados.
Não precisamos utilizar o Form Populator para a maioria dos scripts criados, uma vez que os dados já são transmitidos por parâmetros no request (requisição). Utilizamos ele em casos que não conseguimos, de forma fácil, entrar com dados em um formulário.





Para inserir um Form Populator devemos inseri-lo abaixo da requisição que contem o Form.
Podemos clicar sobre cada informação carregada pelo Form e inserir um dado ou atribuir a ele uma variável, como mostra a figura acima. Na propriedade do Form podemos informar o elemento Form alvo e se o método é Populate ou Clear, ou seja, inserir valores ou limpar o Form.

Exemplo de utilização do Data Source e Form Populator
Agora veremos um exemplo pratico de como utilizar estas duas ferramentas. Nosse exemplo será sobre o site de demonstração da ferramenta TestLink, onde criaremos um script que efetua o login com dois usuários, um de cada vez, e no momento do login verificarmos se o usuário que entrou no sistema é o correto. Primeiro teremos que criar um banco de dados no MS Access com duas colunas: login e password e inserir os valores abaixo. A vídeo-aula mostra como criar o banco.

login password
admin testlink
leader leader


Agora é necessário criar uma conexão ODBC com qualquer nome, vamos escolher “BanocBadBoy”. A video-aula mostra como criar a conexão ODBC.
Depois do banco e a conexão ODBC criada vamos partir para a criação do script:



  1. Abra o BadBoy e no primeiro step arraste e solte o item Data Source para ele. Será apresentada a tela para selecionarmos ou criarmos a conexão ODBC. Como já criamos selecionamos a conexão criada (BancoBadBoy ou o nome escolhido por você)
  2. Após selecione a tabela criada segundo a estrutura que falamos acima. Feche a janela de propriedades do Data Source.
  3. Agora insira um step e digite o seguinte endereço na barra de URL: http://testlink.org/demo/login.php. Será criada uma requisição para a página.
  4. Arraste a ferramenta Form Populator para baixo da requisição criada. Será apresentada sua tela de propriedades. Feche a janela. O Form Populator deve apresentar os campos de login e password abaixo dela.
  5. Insira o usuário admin e senha testlink para autenticação no TestLink. Sera criada uma nova requisição.
  6. Seleciona o texto “Role :: [ admin ]” e clique no botão Easy Assertion. Isso servirá depois para validarmos o usuário.
  7. Depois da asserção criada efetue um logoff no sistema.
  8. Agora vá até a requisição abaixo do Form Populate e crie duas variáveis para os parâmetros de login e password clicando com o botão direito sobre cada uma e selecionando Add as variable
  9. Entre nas propriedades do Check da Assertion criada. Dentro do texto do Check substitua “admin” por “${login}”.
  10. Em cada item do Form Populator insira a variável correspondente digitando o nome dela para cada um.
  11. Agora entre nas propriedades do Data Source, selecione o item Custom no painel Map columns to variables e deixe marcado os dois itens: login e password.
  12. Agora basta fazem a repetição do step que contem todas as ações na pagina. Fazemos isso abrindo a janela de propriedades do step e selecionando o item For each value of variable com o valor login.
    Fazendo isso dizemos que o step vai ser executado novamente para cada valor de login diferente no banco de dados.

Agora é só executar o script, na primeira iteração ele ira preencher os dados com o usuário admin e verificar pela Assertion se o nome do usuário é igual ao mostrado na tela. Depois do logoff o valor de login é alterado e o step é executado novamente.


Fontes do exemplo (banco e script) aqui.


Como criar o banco com MS Access



Como criar a conexão ODBC no Vista (semelhando no Windows XP)


Como criar o script de exemplo


Um comentário:

  1. Elias,

    Parabéns pelo post, tá muito legal, acho sua abordagem bem didática (bem como seu mais novo post sobre o mantis.).

    Tambem já utilizo o badboy como uma alternativa para automação funcional, a acho bem simples de usar e muito intuitiva.

    Abraço e no aguardo dos próximos posts!

    Eudes
    ...zezologs

    ResponderExcluir