Usaremos o site da Mercury Tours como nosso aplicativo da web em teste. É um sistema de reserva de voos online que contém todos os elementos de que precisamos para este tutorial. Seu URL é http://demo.guru99.com/test/newtours/, e este será nosso URL base.
Criar um script por gravação
Vamos agora criar nosso primeiro script de teste no Selenium IDE usando o método mais comum - por gravação. Posteriormente, executaremos nosso script usando o recurso de reprodução.
Passo 1
- Abra o Firefox e o Selenium IDE.
- Digite o valor do nosso URL básico: http://demo.guru99.com/test/newtours/.
- Ative o botão Gravar (se ainda não estiver ativado por padrão).
Passo 2
No Firefox, navegue até http://demo.guru99.com/test/newtours/. O Firefox deve levá-lo para uma página semelhante à mostrada abaixo. |
|
etapa 3
|
|
Passo 4
|
|
Etapa 5
|
|
Etapa 6
Desative o botão de gravação para interromper a gravação. Seu script agora deve ser semelhante ao mostrado abaixo. |
|
Etapa 7
Agora que concluímos nosso script de teste, devemos salvá-lo em um caso de teste. No menu Arquivo, selecione "Salvar caso de teste". Como alternativa, você pode simplesmente pressionar Ctrl + S. |
|
Etapa 8
|
|
Etapa 9.
Observe que o arquivo foi salvo como HTML. |
Etapa 10.
Volte para o Selenium IDE e clique no botão Playback para executar todo o script. O Selenium IDE deve ser capaz de replicar tudo perfeitamente.
Introdução aos Comandos do Selênio - Selenês
- Os comandos Selenese podem ter no máximo dois parâmetros: destino e valor.
- Os parâmetros não são obrigatórios o tempo todo. Depende de quantos o comando precisará.
3 tipos de comandos
Ações |
Esses são comandos que interagem diretamente com os elementos da página. Exemplo: o comando "clicar" é uma ação porque você interage diretamente com o elemento em que está clicando. O comando "digitar" também é uma ação porque você está colocando valores em uma caixa de texto, e a caixa de texto os mostra a você em troca. Há uma interação bidirecional entre você e a caixa de texto. |
Acessores |
Eles são comandos que permitem armazenar valores em uma variável. Exemplo: o comando "storeTitle" é um acessador porque apenas "lê" o título da página e o salva em uma variável. Ele não interage com nenhum elemento da página. |
Afirmações |
São comandos que verificam se uma determinada condição é atendida. 3 tipos de afirmações
|
Assert vs. Verify
Comandos Comuns
Comando | Número de Parâmetros | Descrição |
---|---|---|
abrir | 0 - 2 |
Abre uma página usando um URL. |
click / clickAndWait | 1 |
Clica em um elemento especificado. |
type / typeKeys | 2 |
Digita uma sequência de caracteres. |
verifyTitle / assertTitle | 1 |
Compara o título da página real com um valor esperado. |
verifyTextPresent | 1 |
Verifica se um determinado texto é encontrado na página. |
verifyElementPresent | 1 |
Verifica a presença de um determinado elemento. |
verifyTable | 2 |
Compara o conteúdo de uma tabela com os valores esperados. |
waitForPageToLoad | 1 |
Pausa a execução até que a página seja completamente carregada. |
waitForElementPresent | 1 |
Pausa a execução até que o elemento especificado se torne presente. |
Crie um script manualmente com o Firebug
Agora, vamos recriar o mesmo caso de teste manualmente, digitando os comandos. Desta vez, precisaremos usar o Firebug.
Passo 1
|
Etapa 2: Clique na linha em branco superior no Editor. |
Digite "abrir" na caixa de texto Comando e pressione Enter. |
etapa 3
|
Passo 4
|
Etapa 5
|
Clique na caixa de texto Nome do usuário. Observe que o Firebug mostra automaticamente o código HTML desse elemento. |
Etapa 6
Observe que a caixa de texto Nome do usuário não possui um ID, mas possui um atributo NAME. Devemos, portanto, usar seu NOME como o localizador. Copie o valor NAME e cole-o no campo Destino no Selenium IDE. Ainda na caixa de texto Destino, prefixe "userName" com "name =", indicando que o Selenium IDE deve ter como alvo um elemento cujo atributo NAME é "userName". Digite "invalidUN" na caixa de texto Valor do Selenium IDE. Seu script de teste agora deve ser semelhante à imagem abaixo. Terminamos o terceiro comando. Nota: Em vez de invalidUN, você pode inserir qualquer outra string de texto. Mas o Selenium IDE diferencia maiúsculas de minúsculas e você digita valores / atributos exatamente como no aplicativo. |
Etapa 7
|
Etapa 8
|
Etapa 9: Salve o caso de teste da mesma maneira que fizemos na seção anterior.
Usando o botão Localizar
O botão Localizar no Selenium IDE é usado para verificar se o que colocamos na caixa de texto Destino é de fato o elemento de IU correto.
Vamos usar o caso de teste Invalid_login que criamos nas seções anteriores. Clique em qualquer comando com uma entrada de destino, digamos, o terceiro comando.
Clique no botão Encontrar. Observe que a caixa de texto Nome do usuário na página Mercury Tours fica destacada por um segundo.
Isso indica que o Selenium IDE foi capaz de detectar e acessar o elemento esperado corretamente. Se o botão Localizar realçar um elemento diferente ou nenhum elemento, então deve haver algo errado com seu script.
Executar Comando
Isso permite que você execute qualquer comando único sem executar todo o caso de teste . Basta clicar na linha que deseja executar e, em seguida, clicar em "Ações> Executar este comando" na barra de menus ou simplesmente pressionar "X" no teclado.
Etapa 1. Certifique-se de que seu navegador esteja na página inicial da Mercury Tours. Clique no comando que deseja executar. Neste exemplo, clique na linha "type | userName | invalidUN".
Etapa 2. Pressione "X" no teclado.
Etapa 3. Observe que a caixa de texto do nome de usuário é preenchida com o texto "invalidUN"
A execução de comandos dessa maneira depende muito da página que o Firefox está exibindo no momento . Isso significa que se você tentar o exemplo acima com a página inicial do Google exibida em vez de Mercury Tours ', sua etapa falhará porque não há uma caixa de texto com um atributo "userName" na página inicial do Google.
Ponto de partida
Um ponto inicial é um indicador que informa ao Selenium IDE em quais linhas a execução será iniciada . Sua tecla de atalho é "S".
No exemplo acima, a reprodução começará na terceira linha (digite | senha | invalidPW). Você só pode ter um ponto inicial em um único script de teste.
O ponto de início é semelhante a Executar Comando, de forma que eles dependem da página exibida no momento. O ponto inicial falhará se você estiver na página errada.
Breakpoints
Os pontos de interrupção são indicadores que informam ao Selenium IDE onde pausar automaticamente o teste. A tecla de atalho é "B".
O destaque amarelo significa que a etapa atual está pendente. Isso prova que o Selenium IDE pausou a execução nessa etapa. Você pode ter vários pontos de interrupção em um caso de teste.
Etapa
Ele permite que você execute comandos sucessivos um de cada vez após pausar o caso de teste. Vamos usar o cenário da seção anterior "Pontos de interrupção".
Antes de clicar em "Etapa". O caso de teste pausa na linha "clickAndWait | login". |
|
Depois de clicar em "Etapa". A linha "clickAndWait | login" é executada e pausa para o próximo comando (verifyTitle | Sign-on: Mercury Tours). Observe que a próxima linha está pausada, embora não haja nenhum ponto de interrupção lá. Este é o objetivo principal do recurso Step - ele executa os comandos seguintes, um de cada vez, para dar a você mais tempo para inspecionar o resultado após cada etapa. |
Coisas importantes a serem observadas ao usar outros formatos na visualização de código-fonte
Selenium IDE funciona bem apenas com HTML - outros formatos ainda estão em modo experimental . NÃO é aconselhável criar ou editar testes usando outros formatos na visualização do código-fonte porque ainda há muito trabalho necessário para torná-lo estável. Abaixo estão os bugs conhecidos da versão 1.9.1.
- Você não será capaz de executar a reprodução nem voltar para a visualização em tabela, a menos que reverta para o HTML.
- A única maneira de adicionar comandos com segurança no código-fonte é gravando-os.
- Quando você modifica o código-fonte manualmente, tudo é perdido quando você muda para outro formato.
- Embora você possa salvar seu caso de teste na Visualização de código-fonte, o Selenium IDE não será capaz de abri-lo.
A maneira recomendada de converter os testes Selenese é usar a opção "Export Test Case As ..." no menu File, e não por meio da Source View.
Resumo
- Os scripts de teste podem ser criados gravando ou digitando os comandos e parâmetros manualmente.
- Ao criar scripts manualmente, o Firebug é usado para obter o localizador.
- O botão Localizar é usado para verificar se o comando é capaz de acessar o elemento correto.
- A Visualização de tabela exibe um script de teste em formato tabular enquanto a Visualização de código-fonte o exibe em formato HTML.
- Alterar a visualização do código-fonte para um formato não HTML ainda é experimental.
- Não use a Visualização do código-fonte na criação de testes em outros formatos. Em vez disso, use os recursos de exportação.
- Os parâmetros não são obrigatórios o tempo todo. Depende do comando.
- Existem três tipos de comandos:
- Ações - interage diretamente com os elementos da página
- Acessores - "lê" uma propriedade de elemento e a armazena em uma variável
- Assertions - compara um valor real com um esperado
- As afirmações têm três tipos:
- Assert - em caso de falha, as etapas seguintes não são mais executadas
- Verificar - em caso de falha, as etapas seguintes ainda são executadas.
- WaitFor - passa se a condição especificada se tornar verdadeira dentro do período de tempo limite; caso contrário, irá falhar
- Os comandos mais comuns são:
- abrir
- click / clickAndWait
- type / typeKeys
- verifyTitle / assertTitle
- verifyTextPresent
- verifyElementPresent
- verifyTable
- waitForPageToLoad
- waitForElementPresent