Neste tutorial, aprenderemos, comandos de armazenamento, comandos de eco, alertas e manipulação de pop-ups.
Armazenamento de variáveis e o comando Echo
Armazenar
Para armazenar variáveis no Selenium IDE, usamos o comando "store". A ilustração abaixo armazena o valor "tutorial" em uma variável chamada "myVariable".
Para acessar a variável, simplesmente coloque-a entre um símbolo $ {…}. Por exemplo, para inserir o valor de "myVariable" na caixa de texto "userName" da Mercury Tours, insira $ {myVariable} no campo Value.
StoreElementPresent
Este comando armazena "verdadeiro" ou "falso" dependendo da presença do elemento especificado. O script a seguir armazena o valor booleano "true" para "var1" e "false" para "var2". Para verificar, usaremos o comando "echo" para exibir os valores de var1 e var2. O URL base da ilustração abaixo foi definido como a página inicial da Mercury Tours.
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 no Facebook em uma variável chamada 'textVar'.
Como é o único elemento da página, é seguro usar 'css = h1' como nosso destino. A imagem abaixo mostra que o Selenium IDE foi capaz de salvar a string "Sign Up" na variável 'textVar' imprimindo seu valor corretamente.
Alertas, pop-ups e várias janelas
Os alertas são provavelmente a forma mais simples de janelas pop-up. Os comandos Selenium IDE mais comuns usados para lidar com alertas são os seguintes:
assertAlert assertNotAlert | recupera a mensagem do alerta e o declara para um valor de string que você especificou |
assertAlertPresent assertAlertNotPresent | afirma se um alerta está presente ou não |
storeAlert | recupera a mensagem de alerta e a armazena em uma variável que você especificará |
storeAlertPresent | retorna TRUE se um alerta estiver presente; FALSE se o contrário |
verifyAlert verifyNotAlert | recupera a mensagem do alerta e verifica se é igual ao valor da string que você especificou |
verifyAlertPresent verifyAlertNotPresent | verifica se um alerta está presente ou não |
Lembre-se destas duas coisas ao trabalhar com alertas:
- O Selenium IDE irá clicar automaticamente no botão OK da janela de alerta e, portanto, você não poderá ver o alerta real.
- O Selenium IDE não será capaz de lidar com alertas que estão dentro da função onload () da página. Ele só será capaz de lidar com alertas gerados após o carregamento completo da página.
Neste exemplo, usaremos o comando storeAlert para mostrar que, embora o Selenium IDE não tenha mostrado o alerta real, ele ainda foi capaz de recuperar sua mensagem.
Etapa 1. No Selenium IDE, defina o URL base para http://jsbin.com. & o url completo é: http://jsbin.com/usidix
Etapa 2. Crie o script conforme mostrado abaixo.
Etapa 3. Execute o script e não espere ver o alerta real.
Confirmações
As confirmações são pop-ups que fornecem um botão OK e um botão CANCELAR, ao contrário dos alertas que fornecem apenas o botão OK. Os comandos que você pode usar para lidar com as confirmações são semelhantes àqueles para lidar com alertas.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresent / assertConfirmationNotPresent
- storeConfirmation
- storeConfirmationPresent
- verifyConfirmation / verifyNotConfirmation
- verifyConfirmationPresent / verifyConfirmationNotPresent
No entanto, esses são os comandos adicionais que você precisa usar para instruir o Selenium sobre qual opção escolher, se o botão OK ou CANCELAR.
- chooseOkOnNextConfirmation / chooseOkOnNextConfirmationAndWait
- ChooseCancelOnNextConfirmation
Você deve usar esses comandos antes de um comando que acione a caixa de confirmação para que o Selenium IDE saiba de antemão qual opção escolher. Novamente, você não poderá ver a caixa de confirmação real durante a execução do script.
Vamos testar uma página da web que possui um botão codificado para mostrar se o usuário pressionou o botão OK ou CANCELAR.
Etapa 1. No Selenium IDE, defina o URL base para http://jsbin.com e o url completo é: http://jsbin.com/enifaf
Etapa 2. Crie o script conforme mostrado abaixo. Desta vez, vamos pressionar o botão OK primeiro.
Etapa 3. Execute o script e observe que você não vê a confirmação real, mas a página da Web foi capaz de indicar qual botão Selenium IDE pressionou.
Etapa 4. Substitua o comando "chooseOkOnNextConfirmation" por "chooseCancelOnNextConfirmation" e execute o script novamente.
Multiple Windows
Se acontecer de você clicar em um link que abre uma janela separada, você deve primeiro instruir o Selenium IDE para selecionar aquela janela antes de poder acessar os elementos dentro dela . Para fazer isso, você usará o título da janela como seu localizador .
Usamos o comando selectWindow para alternar entre as janelas.
Usaremos um link http://jsbin.com/ocinaj/1 cujo título é "Primeira janela". O hiperlink "aqui" encontrado nessa página abrirá o Facebook em uma nova janela, após a qual instruiremos o Selenium IDE a fazer o seguinte:
- Transfira o controle da janela principal para a janela do Facebook recém-lançada usando o comando "selectWindow" e seu título como o localizador
- Verifique o título da nova janela
- Selecione de volta a janela original usando o comando "selectWindow" e "null" como seu destino.
- Verifique o título da janela atualmente selecionada
Etapa 1. Defina o URL básico como http://jsbin.com.
Etapa 2. Crie o script conforme mostrado abaixo.
Precisamos do comando "pause" para esperar que a janela recém-iniciada carregue antes de podermos acessar seu título.
Etapa 3. Execute o script. Observe que o Caso de Teste foi aprovado, o que significa que fomos capazes de alternar entre as janelas e verificar seus títulos com sucesso.
Lembre-se sempre de que definir o destino de selectWindow como "nulo" selecionará automaticamente a janela pai (neste caso, a janela onde o elemento "link = aqui" é encontrado)
Nota: o Facebook mudou o título desde a criação dos Tutoriais. Modifique o código de acordo
Resumo
- O comando "store" (e todas as suas variantes) são usados para armazenar variáveis no Selenium IDE
- O comando "echo" é usado para imprimir um valor de string ou uma variável
- Variáveis são colocadas dentro de $ {…} ao serem impressas ou usadas em elementos
- Selenium IDE pressiona automaticamente o botão OK ao lidar com alertas
- Ao lidar com as caixas de diálogo de confirmação, você pode instruir o Selenium IDE sobre qual opção usar:
- chooseOkOnNextConfirmation / chooseOkOnNextConfirmationAndWait
- ChooseCancelOnNextConfirmation
- Os títulos das janelas são usados como localizadores ao alternar entre as janelas do navegador.
- Ao usar o comando "selectWindow", definir o Target como "null" direcionará automaticamente o Selenium IDE para selecionar a janela pai.