Afirmar e verificar em Selenium IDE

โšก Resumo Inteligente

Selenium O IDE com Scripts e Comandos permite que os testadores gravem, editem e reproduzam aรงรตes do navegador usando Selenese โ€” a linguagem de comando leve do IDE. Este artigo aborda a gravaรงรฃo de um script, a escrita manual de Selenese, a escolha entre Assert (Afirmar) e Verify (Verificar) e a depuraรงรฃo com pontos de interrupรงรฃo.

  • ๐ŸŽฌ Primeiro, registre: Selenium O IDE captura cliques, entradas e asserรงรตes automaticamente enquanto vocรช usa o navegador.
  • ๐Ÿงฉ Lรญngua selenese: Cada comando possui um nome, um alvo (opcional) e um valor (opcional) โ€” nunca mais de dois parรขmetros.
  • ๐Ÿ›‘ Afirmar versus Verificar: O comando `Assert` interrompe o teste em caso de falha; o comando `Verify` registra a falha e continua com a prรณxima etapa.
  • ๐Ÿ” Trรชs tipos de comando: As aรงรตes interagem com a pรกgina, os acessadores leem o estado para variรกveis โ€‹โ€‹e as asserรงรตes verificam condiรงรตes.
  • ๐Ÿž Ferramentas de depuraรงรฃo: Use Executar Comando, Ponto Inicial, Pontos de Interrupรงรฃo e Etapa para inspecionar ou executar novamente um รบnico comando por vez.
  • ๐Ÿค– Aumento de IA: As ferramentas de teste de IA geram automaticamente Selenese, sugerem localizadores robustos e convertem scripts de IDE em Selenium Cรณdigo do WebDriver.

Como quebrar (hackear) uma senha?

Vamos usar o Mercury O site da Tours serรก usado como nossa aplicaรงรฃo web em teste. Trata-se de um sistema online de reservas de voos que contรฉm todos os elementos necessรกrios para este tutorial. Sua base URL is https://demo.guru99.com/test/newtours/.

Vamos agora criar nosso primeiro script de teste em Selenium IDE usando o mรฉtodo mais comum โ€” gravando. Depois, executaremos o script usando o recurso de reproduรงรฃo.

Observaรงรฃo: Este tutorial usa o clรกssico Firefox-sรณ Selenium IDE 1.x com Firebug para introduzir os fundamentos do Selenese. O Firebug foi descontinuado em Firefox 57, e o moderno Selenium IDE agora รฉ um Chrome / Firefox Extensรฃo do navegador Edge com uma interface de usuรกrio diferente. Os conceitos do Selenese, os tipos de comando e os recursos de depuraรงรฃo abaixo ainda se aplicam diretamente ร  nova IDE.

Crie um script gravando

Passo 1)

  • Lanรงamento Firefox e Selenium IDE.
  • Digite o valor para nossa Base. URL: https://demo.guru99.com/test/newtours/.
  • Toggle ative o botรฃo Gravar (se ele nรฃo estiver ativado por padrรฃo).

Selenium IDE com Base URL Botรฃo "Definir" e "Gravar" ativado.

Passo 2) In Firefox, navegar para https://demo.guru99.com/test/newtours/. Firefox vocรช deverรก ser direcionado para uma pรกgina semelhante ร  mostrada abaixo.

Mercury Pรกgina inicial de passeios em Firefox

Passo 3)

  • Clique com o botรฃo direito do mouse em qualquer espaรงo em branco da pรกgina โ€” por exemplo, na Mercury O logotipo da Tours estรก no canto superior esquerdo. Isso abre o Selenium Menu de contexto da IDE. Nรฃo Clique em qualquer objeto ou imagem com hiperlink.
  • Selecione os Mostrar comandos disponรญveis opรงรฃo.
  • Escolha assertTitle exact: Welcome: Mercury ToursEste comando verifica se o tรญtulo da pรกgina estรก correto.

Selenium Menu de contexto do IDE com a opรงรฃo "Mostrar comandos disponรญveis"

Selenium Editor IDE mostrando comando assertTitle adicionado

Passo 4)

  • De acordo com o relatรณrio Nome de usuรกrio caixa de texto de Mercury Passeios, digite o nome de usuรกrio invรกlido invalidUNN.
  • De acordo com o relatรณrio Senha Na caixa de texto, digite a senha invรกlida. invalidPWD.

Nome de usuรกrio digitado invรกlido. Mercury Excursรตes

Senha digitada invรกlida Mercury Excursรตes

Passo 5) Clique na Cadastre-se botรฃo. Firefox Vocรช deverรก ser direcionado para a pรกgina mostrada abaixo.

Mercury Pรกgina de falha no login das excursรตes

Passo 6) TogglDesative o botรฃo Gravar para interromper a gravaรงรฃo. Seu roteiro agora deve ser semelhante ao abaixo.

Selenium O script gravado no IDE apรณs a paradaping o gravador

Passo 7) Agora salve o script de teste gravado. No Envie o menu, escolha Salvar caso de testeou pressione Ctrl+S.

Opรงรฃo Salvar caso de teste em Selenium Menu Arquivo IDE

Passo 8)

  • Escolha uma pasta de destino e, em seguida, dรช um nome a ela. caso de teste Login invรกlido.
  • Clique Economize.

Salvar diรกlogo nomeando o Selenium Caso de teste IDE: Login invรกlido

Passo 9) Observe que o arquivo foi salvo em formato HTML.

Arquivo de caso de teste salvo com extensรฃo HTML

Passo 10) Voltar para Selenium IDE e clique no Reproduรงรฃo botรฃo para executar todo o script. Selenium O IDE reproduz fielmente cada aรงรฃo.

Selenium O botรฃo de reproduรงรฃo do IDE executa o script gravado.

Introduction to Selenium Comandos โ€“ Selenese

Selenese รฉ a linguagem de escrita que impulsiona Selenium IDE. As regras sรฃo simples:

  • Cada comando Selenese aceita atรฉ dois parรขmetros โ€” um alvo e uma valor.
  • Os parรขmetros nem sempre sรฃo necessรกrios. A quantidade depende do comando.

Tipos de Comandos

Os comandos seleneses sรฃo divididos em trรชs categorias. Cada uma desempenha um papel diferente no roteiro.

Aรงรฃo Comandos que interagem diretamente com elementos da pรกgina. Exemplo: click interage com o elemento em que vocรช clica; type Insere um valor em uma caixa de texto e a caixa de texto o reproduz de volta, proporcionando uma interaรงรฃo bidirecional.
Acessores Comandos que armazenam um valor em uma variรกvel. Exemplo: storeTitle Apenas lรช o tรญtulo da pรกgina e o salva โ€” nรฃo altera nada na pรกgina.
Afirmaรงรตes Comandos que verificam uma condiรงรฃo. O Selenese expรตe trรชs tipos de asserรงรฃo: Afirmar O teste รฉ interrompido em caso de falha. verificar registra a falha e continua, e Esperar por Aguarda atรฉ que uma condiรงรฃo se torne verdadeira (tempo limite padrรฃo de 30 segundos, configurรกvel em Opรงรตes > Geral).

Afirmar vs. Verificar em Selenium

Os diagramas abaixo contrastam o comportamento em tempo de execuรงรฃo de um comando Assert versus um comando Verify quando a verificaรงรฃo falha durante o teste.

Afirmar comportamento de comando pararping o teste de falha

Verificar o comportamento do comando, continuando o teste apรณs uma falha registrada.

Comandos Comuns

Command Nรบmero de parรขmetros Descriรงรฃo
aberto 0-2 Abre uma pรกgina usando um URL.
clique / cliqueeespere 1 Clica em um elemento especรญfico.
tipo / teclas de tipo 2 Digita uma sequรชncia de caracteres.
verificarTรญtulo / afirmarTรญtulo 1 Compara o tรญtulo real da pรกgina com um valor esperado.
verificarTextPresent 1 Verifica se um determinado texto existe na pรกgina.
verificarElementPresent 1 Verifica a presenรงa de um elemento especรญfico.
verificarTabela 2 Compara o conteรบdo de uma tabela com os valores esperados.
waitForPageToLoad 1 Interrompe a execuรงรฃo atรฉ que a pรกgina termine de carregar.
waitForElementPresent 1 Interrompe a execuรงรฃo atรฉ que o elemento especificado apareรงa.

Crie um script manualmente com Firebug

Vamos agora recriar o mesmo caso de teste manualmente por typing os comandos. Este passo a passo usa o Firebug para inspecionar localizadores de elementos. (Na versรฃo moderna) Selenium (IDE: use as ferramentas de desenvolvedor integradas do navegador em vez do Firebug.)

Passo 1) Abra Firefox e Selenium IDE. Digite o nome base. URL https://demo.guru99.com/test/newtours/O botรฃo Gravar deve estar DESLIGADO.

Selenium Ativar/desativar gravaรงรฃo IDE

Passo 2) Clique na linha em branco mais acima no Editor.

Selecionando a primeira linha em branco no Selenium Editor IDE

Formato open Na caixa de texto Comando, pressione Enter.

O comando Open foi inserido no Selenium campo de comando IDE

Passo 3) Navegar Firefox para a base URL e ative o Firebug. No editor IDE, selecione a linha abaixo do open comando e tipo assertTitleUtilize as sugestรตes de preenchimento automรกtico para maior precisรฃo.

Sugestรตes de autocompletar para assertTitle em Selenium IDE

Passo 4) No Firebug, expanda o <head> etiqueta para revelar o <title>Clique no valor do tรญtulo (Bem vinda: Mercury Tours) e cole-o no Target campo no Editor.

Copiar o tรญtulo da pรกgina do Firebug para o campo de destino do IDE

Passo 5) Clique na terceira linha em branco no Editor e digite type No campo Comando. No Firebug, clique em Inspecione botรฃo.

Digite o comando que estรก sendo adicionado em Selenium Editor IDE

Clique na caixa de texto Nome de Usuรกrio. O Firebug exibirรก automaticamente o elemento HTML correspondente.

O Firebug estรก inspecionando o campo Nome de Usuรกrio em Mercury Tours

Passo 6) A caixa de texto Nome de Usuรกrio nรฃo possui um ID, mas possui um atributo NAME. Copie o valor de NAME e cole-o no campo. Target Campo de Selenium IDE.

Copiando o atributo NAME do campo Nome de Usuรกrio

Ainda na Target campo, prefixo userName com as name= so Selenium O IDE tem como alvo o elemento cujo atributo NAME รฉ userName.

Selenium Campo de destino IDE com localizador name=userName

Formato invalidUN no campo Valor. Seu script agora tem seu terceiro comando. Selenium O IDE diferencia maiรบsculas de minรบsculas, portanto, digite os valores e os nomes dos atributos exatamente como aparecem no aplicativo.

Digite o comando direcionado a nome=nomeDeUsuรกrio com o valor invalidUN

Passo 7) Adicione um quarto comando por typing type no campo Comando. Use o Firebug. Inspecione botรฃo na caixa de texto Senha.

O Firebug estรก inspecionando o campo Senha.

Cole o atributo NAME (password) no Target campo, prefixe com name=e defina o valor para invalidPW.

Selenium Script IDE apรณs adicionar o comando de tipo de senha

Passo 8) Adicione o quinto comando por typing clickAndWait no campo Comando. Use o Firebug. Inspecione no botรฃo de login.

O Firebug estรก inspecionando o botรฃo de login.

Cole o valor do NOME (login) no Target campo com o name= prefixo.

Manual final Selenium Script IDE com cinco comandos

Passo 9) Salve o caso de teste como antes.

Usando o botรฃo Localizar

O Encontre botรฃo em Selenium O IDE confirma que o valor inserido no Target O campo corresponde, na verdade, a um elemento da interface do usuรกrio na pรกgina.

Abra o Login invรกlido Execute o caso de teste da seรงรฃo anterior e clique em qualquer comando com um Target entrada โ€” por exemplo, o terceiro comando.

Botรฃo Localizar ao lado do Target campo em Selenium IDE

Clique EncontreA caixa de texto Nome de Usuรกrio no Mercury A pรกgina de excursรตes รฉ brevemente destacada.

O campo Nome de Usuรกrio estรก destacado em Firefox apรณs clicar em Encontrar

O destaque confirma que Selenium O IDE resolveu o localizador corretamente. Se o elemento errado (ou nenhum elemento) estiver destacado, o localizador no script precisa ser corrigido.

Executar Comando

O comando "Executar um comando" executa uma รบnica linha do script sem executar todo o caso de teste. Clique na linha que deseja executar e escolha uma das opรงรตes. Aรงรตes > Executar este comando a partir do menu ou pressione X no teclado.

Passo 1) Certifique-se de que o navegador esteja ligado. Mercury Pรกgina inicial das excursรตes. Clique na linha que deseja percorrer โ€” por exemplo, type | userName | invalidUN.

Digite o comando selecionado para execuรงรฃo em Selenium IDE

Passo 2) Imprensa X no teclado.

Passo 3) A caixa de texto do nome de usuรกrio na pรกgina รฉ preenchida com invalidUN.

O campo Nome de usuรกrio รฉ preenchido apรณs a execuรงรฃo do comando.

A execuรงรฃo de comandos dessa forma depende da pรกgina que Firefox Estรก sendo exibido no momento. Executando o mesmo comando em GoogleA pรกgina inicial de 's nรฃo funcionaria porque nรฃo existe um campo chamado userName lรก.

Ponto de partida

Um ponto de partida indica Selenium IDE: qual linha iniciar a execuรงรฃo? A tecla de atalho รฉ S.

Ponto de partida definido em um Selenium linha de script IDE

No exemplo acima, a reproduรงรฃo comeรงa na terceira linha (type | password | invalidPW). Um script de teste pode ter apenas um ponto de partida. Assim como o comando "Executar comando", o ponto de partida depende da pรกgina exibida no momento e falha se a pรกgina estiver incorreta.

Pontos de interrupรงรฃo

Os pontos de ruptura indicam Selenium IDE para pausar o teste automaticamente em uma determinada linha. A tecla de atalho รฉ B.

Indicador de ponto de interrupรงรฃo em um Selenium linha de script IDE

O destaque em amarelo indica a etapa pausada. Um caso de teste pode ter vรกrios pontos de interrupรงรฃo.

Passo

O Passo O comando executa a prรณxima linha apรณs um caso de teste pausado. Use-o em conjunto com pontos de interrupรงรฃo para percorrer um script um comando por vez.

O teste foi pausado em clickAndWait antes de clicar em Step.

Antes de clicar em Etapa. O caso de teste estรก pausado na linha clickAndWait | login.

O teste avanรงou para o prรณximo comando apรณs clicar em Etapa.

Apรณs clicar em Etapa. O clickAndWait | login O comando รฉ executado e a execuรงรฃo pausa no prรณximo comando (verifyTitle | Sign-on: Mercury ToursA prรณxima linha pausa mesmo sem um ponto de interrupรงรฃo โ€” esse รฉ o propรณsito do Step.

Coisas importantes a serem observadas ao usar outros formatos na visualizaรงรฃo de cรณdigo-fonte

Atenรงรฃo: formatos de visualizaรงรฃo de cรณdigo-fonte nรฃo HTML

Selenium O IDE 1.x funciona de forma confiรกvel apenas com o formato HTML โ€” outros formatos ainda estรฃo em fase experimental. Nรฃo รฉ recomendรกvel criar ou editar testes em um modo de visualizaรงรฃo de cรณdigo-fonte que nรฃo seja HTML. Os problemas conhecidos na versรฃo 1.9.1 sรฃo:

  • Nรฃo รฉ possรญvel usar a funรงรฃo Reproduzir ou alternar de volta para a Visualizaรงรฃo em Tabela sem retornar ao HTML.
  • A maneira mais segura de adicionar comandos na Visualizaรงรฃo de Cรณdigo-Fonte รฉ gravando-os.
  • As ediรงรตes manuais feitas na Visualizaรงรฃo de Cรณdigo-fonte sรฃo perdidas ao alternar para outro formato.
  • Vocรช pode salvar um caso de teste na Visualizaรงรฃo de Cรณdigo-Fonte, mas Selenium O IDE pode nรฃo conseguir reabri-lo.

A maneira recomendada de converter testes Selenese para outros idiomas รฉ a Arquivo > Exportar caso de teste comoโ€ฆ menu, nรฃo a Visualizaรงรฃo de Cรณdigo-fonte.

Perguntas Frequentes

O legado Firefox-sรณ Selenium O IDE 1.x nรฃo recebe mais manutenรงรฃo. O IDE moderno Selenium IDE รฉ uma extensรฃo para o navegador Chrome. Firefoxe Edge, do selenium.dev, com suporte para gravaรงรฃo e reproduรงรฃo, alรฉm da exportaรงรฃo para cรณdigo WebDriver.

Use `Assert` para prรฉ-condiรงรตes rรญgidas em que o teste nรฃo pode continuar (por exemplo, a pรกgina correta deve carregar primeiro). Use `Verify` quando verificaรงรตes posteriores ainda agregam valor mesmo que a atual falhe, como verificar vรกrios campos em um formulรกrio.

Firebug foi aposentado em Firefox 57. Use as ferramentas de desenvolvedor integradas do navegador (F12) ou extensรตes como SelectorsHub, ChroPath ou Playwright Inspector para capturar os localizadores XPath e CSS para Selenium scripts.

Sim. Travas deslizantes portรกteis AI As plataformas de teste monitoram as sessรตes dos usuรกrios, geram comandos Selenese, sugerem localizadores robustos e convertem scripts gravados em Selenium Cรณdigo WebDriver em Java, Python, ou JavaCrie scripts com muito menos esforรงo manual.

A IA generativa examina snapshots do DOM e propรตe localizadores com menor probabilidade de quebrar โ€” priorizando atributos testados em dados em vez de XPath frรกgil. Agentes de IA com capacidade de autorreparaรงรฃo reescrevem automaticamente os localizadores apรณs alteraรงรตes na interface do usuรกrio, mantendo a consistรชncia.ping Selenium Scripts IDE em verde.

Resuma esta postagem com: