Armazenar variáveis, eco, alerta, manipulação de pop-up em Selenium IDE
⚡ Resumo Inteligente
Armazenar comandos em Selenium O IDE salva valores de tempo de execução em variáveis nomeadas, o comando `echo` os imprime no log e uma família de comandos dedicada lida com alertas, diálogos de confirmação e alternância entre várias janelas do navegador.

Neste tutorial, você aprenderá os comandos de armazenamento, o comando `echo` e o tratamento de alertas e pop-ups em Selenium IDEJuntos, esses comandos transformam um script gravado fixo em um script que reage a qualquer coisa que o aplicativo retorne em tempo de execução.
⚠️ Uma observação sobre as versões: As capturas de tela abaixo são do original. Firefox-plugar Selenium IDE, e os comandos usam seus nomes Selenese em camelCase. O Chrome atual, Firefox A extensão Edge mantém o mesmo comportamento, mas escreve a maioria dos nomes de comando com espaços. Um mapaping A tabela aparece perto do final deste artigo, e todos os comandos e capturas de tela originais foram mantidos conforme publicados.
Selenium Variáveis IDE
Loja
Para armazenar variáveis em Selenium IDE, nós usamos o loja comando. A ilustração abaixo armazena o valor “tutorial” em uma variável chamada “myVariable”.
Para acessar a variável, basta colocá-la entre os símbolos ${ … }. Por exemplo, para inserir o valor de “myVariable” na caixa de texto “userName” de Mercury Tours, insira ${myVariable} no campo Valor.
Comando Echo em Selenium IDE
Uma variável armazenada é invisível até que algo a imprima, e é isso que a eco O comando faz isso. Ele grava uma mensagem no painel de log do IDE durante a reprodução, o que o torna a maneira mais rápida de confirmar se um comando de armazenamento capturou o que você esperava antes de criar asserções com base nele.
O comando aceita qualquer uma das seguintes formas:
- Uma sequência literal. Insira o texto no Target campo, por exemplo Etapa de login concluída, para marcar um ponto de verificação em um roteiro longo.
- Uma variável. Coloque ${myVariable} no Target O campo exibe o valor armazenado em vez do nome.
Dois hábitos tornam o comando `echo` muito mais útil do que parece à primeira vista. Imprima uma variável imediatamente após o comando `store` que a cria, de forma que uma falha seja detectada. tracEm vez de focar na asserção vinte passos depois, vá para a captura. E prefixe cada mensagem com a etapa à qual ela pertence, porque o painel de log mostra todos os comandos em uma única lista. Observe que o comando `echo` apenas escreve no log — ele nunca altera a página e nunca falha em um teste, portanto, é seguro deixá-lo permanentemente em um script.
StoreElementPresent
Este comando armazena “true” ou “false” dependendo da presença do elemento especificado. O script abaixo armazena o valor booleano “true” em “var1” e “false” em “var2”. Para verificar, usaremos o comando echo para exibir os valores de var1 e var2. A Base URL para a ilustração abaixo foi definido como Mercury Página inicial de passeios.
StoreText
Este comando é usado para armazenar o texto interno de um elemento em uma variável. A ilustração abaixo armazena o texto interno da tag h1 na página de cadastro do Facebook em uma variável chamada “textVar”.
Como é o único elemento desse tipo na página, podemos usar “css=h1” como nosso atributo target com segurança. A imagem abaixo mostra isso. Selenium O IDE conseguiu salvar a string “Sign Up” na variável “textVar”, porque o comando echo imprimiu seu valor corretamente.
Alertas, pop-up e vários Windows
Os alertas são provavelmente a forma mais simples de janela pop-up. Os mais comuns Selenium Os comandos do IDE usados no tratamento de alertas são os seguintes:
| Alertas | Uso |
|---|---|
|
assertAlert assertNotAlert |
Recupera a mensagem do alerta e a compara com um valor de string que você especificou. |
|
assertAlertPresent assertAlertNotPresent |
verifica se há ou não um alerta. |
| alertadeloja | Recupera a mensagem de alerta e a armazena em uma variável que você especificar. |
| storeAlertPresent | Retorna VERDADEIRO se houver um alerta, FALSO caso contrário. |
|
verificar Alerta verificarNotAlert |
Recupera a mensagem do alerta e verifica se ela corresponde ao valor da string que você especificou. |
|
verificarAlertPresent verificarAlertNotPresent |
verifica se existe ou não um alerta. |
Lembre-se destas duas coisas ao trabalhar com alertas:
- Selenium O IDE clica automaticamente no botão OK da janela de alerta, portanto você não poderá ver o alerta em si.
- Selenium O IDE não consegue lidar com alertas disparados dentro da função onload() da página. Ele só lida com alertas gerados após a página ter carregado completamente.
Neste exemplo, usamos o comando storeAlert para mostrar que, embora Selenium O IDE não exibiu o alerta em si, mas ainda assim conseguiu recuperar a mensagem.
Passo 1) In Selenium IDE, defina a Base URL Acesse http://jsbin.com. O completo URL é http://jsbin.com/usidix. Esses trechos de código do jsbin datam de Firefox-plugin era e pode não resolver mais o problema; qualquer página com um botão que gera um alerta reproduz o mesmo resultado.
Passo 2) Crie o script conforme mostrado abaixo. O comando `click` tem como alvo o botão "Go!", `storeAlert` captura a mensagem em `alertMessage` e `echo` a imprime.
Passo 3) Execute o script e não espere ver o alerta propriamente dito. O painel de registro abaixo mostra a mensagem capturada, embora a caixa de diálogo nunca tenha sido exibida.
Confirmações
As confirmações são janelas pop-up que exibem os botões "OK" e "Cancelar", ao contrário dos alertas, que exibem apenas o botão "OK". Os comandos que você pode usar para lidar com confirmações são semelhantes aos comandos de alerta.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresent / assertConfirmationNotPresent
- lojaConfirmação
- lojaConfirmaçãoPresente
- verificarConfirmação / verificarNãoConfirmação
- verificarConfirmaçãoPresente / verificarConfirmaçãoNãoPresente
Além disso, esses comandos informam Selenium Qual botão escolher, OK ou CANCELAR?
- escolherOKNaPróximaConfirmação / escolherOKNaPróximaConfirmaçãoEAguardar
- escolhaCancelOnNextConfirmação
Insira estes comandos antes o comando que aciona a caixa de confirmação, para que Selenium O IDE sabe antecipadamente qual opção escolher. Novamente, você não verá a caixa de confirmação durante a execução do script.
Vamos testar uma página da web com um botão que foi programado para informar se o usuário clicou em OK ou CANCELAR.
Passo 1) In Selenium IDE, defina a Base URL Acesse http://jsbin.com. O completo URL é http://jsbin.com/enifaf.
Passo 2) Crie o script conforme mostrado abaixo. Desta vez, primeiro pressionaremos o botão OK.
Passo 3) Execute o script e observe que você não vê a confirmação propriamente dita, embora a página da web ainda indique qual botão foi clicado. Selenium IDE pressionado.
Passo 4) Substitua o comando chooseOkOnNextConfirmation por chooseCancelOnNextConfirmation e execute o script novamente. A página agora exibirá a opção oposta.
Múltiplo Windows
Se você clicar em um link que abre uma janela separada, primeiro você deve instruir Selenium É necessário selecionar a janela no IDE antes de acessar os elementos dentro dela. No IDE antigo, o título da janela era usado como localizador.
Usamos o comando selectWindow para alternar entre janelas.
Usaremos o link http://jsbin.com/ocinaj/1, cujo título é “First Window”. O hiperlink “aqui” nessa página abre o Facebook em uma nova janela, após a qual daremos as instruções. Selenium IDE para fazer o seguinte:
- Transfira o controle da janela principal para a janela do Facebook recém-inaugurada usando o comando selectWindow com o título da janela como localizador.
- Verifique o título da nova janela.
- Selecione novamente a janela original usando o comando selectWindow com “null” como destino.
- Verifique o título da janela selecionada.
O plano acima se traduz na sequência de quatro etapas mostrada aqui.
Passo 1) Estabeleça a base URL para http://jsbin.com.
Passo 2) Crie o script conforme mostrado abaixo.
Precisamos do comando de pausa para aguardar o carregamento da janela recém-aberta antes de podermos ler seu título.
Passo 3) Execute o script. Observe que o caso de teste aprovado, o que significa que conseguimos alternar entre as janelas e verificar seus títulos com sucesso.
Lembre-se sempre de que definir o alvo do selectWindow como “null” seleciona automaticamente a janela pai — neste caso, a janela onde o elemento “link=here” é encontrado.
Observação: O Facebook alterou o título da página desde a criação deste tutorial. Modifique o título esperado no script de acordo.
EQUIPAMENTOS Selenium Equivalentes em IDE para estes comandos
O FirefoxO plugin IDE foi descontinuado quando Firefox migrou para a arquitetura WebExtensions e para o Chrome atual, Firefox A extensão Edge renomeou a maioria dos comandos Selenese para um formato com espaços. O comportamento permanece inalterado, portanto, a tabela abaixo é tudo o que você precisa para interpretar os scripts acima em uma instalação atual.
| Comando legado neste tutorial | Atual Selenium comando IDE |
|---|---|
| loja | loja |
| eco | eco |
| armazenarTexto | texto da loja |
| storeElementPresent | armazenar elemento presente (ou afirmar que elemento presente) |
| assertAlert / verifyAlert | alerta de ativação / alerta de verificação |
| selecionarOKNaPróximaConfirmação | Selecione "OK" na próxima confirmação. |
| escolhaCancelOnNextConfirmação | Selecione "cancelar" na próxima confirmação. |
| selecionarJanela (título como alvo) | selecionar janela com identificador=${handle} |
Vale a pena destacar duas diferenças. Os prompts, que não são abordados no artigo anterior, agora têm seus próprios comandos: Responda na próxima pergunta. planeja a resposta antes que o diálogo apareça, e Resposta do webdriver ao prompt visível digita em um prompt que já está aberto. E a troca de janelas não depende mais do título da página. Executar maçaneta da vitrine Primeiro, capture uma alça e depois passe-a. identificador=${seuIdentificador} para selecionar a janela. Essa alteração remove o modo de falha descrito na nota acima, onde um site simplesmente renomeia sua página e o script para de encontrar a janela. O oficial Selenium Site do projeto IDE Lista o conjunto completo de comandos atuais.













