Mudanças entre as edições de "Guia de automatização de testes"
(→Principais funções) |
(→Principais funções) |
||
| Linha 60: | Linha 60: | ||
|storeEval('''script''','''variável''') | |storeEval('''script''','''variável''') | ||
|Armazena o resultado de um script em variável | |Armazena o resultado de um script em variável | ||
| − | |||
| − | |||
| − | |||
|- | |- | ||
|fireEvent('''locator''', '''enventName''') | |fireEvent('''locator''', '''enventName''') | ||
|Simula um evento (focus, blur) | |Simula um evento (focus, blur) | ||
|- | |- | ||
| − | | | + | |sendKeys('''locator''', '''value''') |
| − | | | + | |Simula o evento keystroke em um elemento, como se digitasse o valor tecla por tecla. |
| + | |- | ||
| + | |assertText('''locator''', '''pattern''') | ||
| + | |Confere se o texto está no elemento informado | ||
|- | |- | ||
|assertValue('''locator''','''pattern''') | |assertValue('''locator''','''pattern''') | ||
|Confere se o texto está no elemento informado | |Confere se o texto está no elemento informado | ||
| + | |- | ||
| + | |assertTextPresent('''pattern''') | ||
| + | |Retorna verdadeiro se o texto da tela corresponder ao texto informado | ||
| + | |- | ||
| + | |assertAttribute('''attibuteLocator''','''pattern''') | ||
| + | |Faz a asserção do pattern informado no atributo. Retorna verdadeiro se a asserção for correta. | ||
| + | |- | ||
| + | |waitForTextNotPresent('''pattern''') | ||
| + | |Aguarda o texto informado não estar disponível na tela | ||
| + | |- | ||
| + | |waitForValue('''locator''','''pattern''') | ||
| + | |Aguarda um valor em um elemento | ||
|- | |- | ||
|} | |} | ||
Edição das 19h09min de 7 de dezembro de 2016
Versão 0.1 - Em desenvolvimento
Índice
Introdução
Este guia visa reunir as principais informações sobre automatização de testes, assim como suas ferramentas.
Automação ou automatização?
Ambos são aceitáveis, mas a forma "automatização" é preferível por ser um substantivo deverbal de "automatizar", enquanto "automação" é um aportuguesamento do termo inglês "automation".
Ferramentas
Selenium IDE
Sobre o Selenium IDE
Selenium IDE é um ambiente de desenvolvimento integrado para os testes com Selenium. Foi desenvolvido como uma extensão do Firefox e permite gravar, editar e depurar os testes.
Instalação
O Selenium IDE está disponível em https://addons.mozilla.org/pt-br/firefox/addon/selenium-ide/
Plugins
O Selenium IDE possui muitos plugins que adicionam novas e úteis funcionalidades. Os plugins estão disponíveis para download em http://www.seleniumhq.org/download/ . Segue a lista dos principais plugins:
- Flow Control (https://addons.mozilla.org/pt-br/firefox/addon/flow-control/) - This is a plugin for Selenium IDE incorporating the flow control extension.
- SelBlocks (https://addons.mozilla.org/pt-br/firefox/addon/selenium-ide-sel-blocks) - This is a language extension for Selenium IDE that provides javascript-like conditionals, looping, callable functions, error catching, and JSON/XML driven parametrization.
Principais funções
As funções do Selenium IDE tem a seguinte estrutura: função(parâmetro1 , parâmetro2).
A função é selecionada no campo Comando.
O parâmetro1 é informado no campo Alvo.
O parâmetro2 é informado no campo Valor.
A quantidade de parâmetros depende da função selecionada.
Segue a lista com as principais funções:
| Função | Descrição |
| open(URL) | Abre uma URL |
| type(locator,value) | Insere um valor no elemento informado |
| click(locator) | Clica em um elemento |
| storeText(locator,variável) | Armazena um texto em uma variável |
| storeEval(script,variável) | Armazena o resultado de um script em variável |
| fireEvent(locator, enventName) | Simula um evento (focus, blur) |
| sendKeys(locator, value) | Simula o evento keystroke em um elemento, como se digitasse o valor tecla por tecla. |
| assertText(locator, pattern) | Confere se o texto está no elemento informado |
| assertValue(locator,pattern) | Confere se o texto está no elemento informado |
| assertTextPresent(pattern) | Retorna verdadeiro se o texto da tela corresponder ao texto informado |
| assertAttribute(attibuteLocator,pattern) | Faz a asserção do pattern informado no atributo. Retorna verdadeiro se a asserção for correta. |
| waitForTextNotPresent(pattern) | Aguarda o texto informado não estar disponível na tela |
| waitForValue(locator,pattern) | Aguarda um valor em um elemento |
Selenium Webdriver
Sobre o Selenium Webdriver
O WebDriver é a classe base do Selenium. A partir dela, podemos realizar diversas funcionalidades de navegação; por exemplo: abrir um browser, fechar um browser, fechar uma aba de um browser, entre outras.
WebElement é uma classe do Selenium representando um elemento HTML. As principais operações de interação em uma página são realizadas através desta interface; por exemplo: interações com caixas de texto, botões, links, entre outras.
Principais funções
| Função | Descrição |
| get(“url”); | Abrir o browser |
| navigate().refresh(); | Atualizar a página |
| quit(); | Fechar a página |
| driver.findElement(By.id(“Entrar”)).click(); | Clica no botão |
| driver.manage().window().maximize(); | Maximizar janela |
| driver.findElement(By.id(“Nome”)).clear(); | Apaga informações de um campo |
| WebElement elemento = driver.findElement(By.id(“ID do elemento”)); | Encontrar elemento pelo ID |
| WebElement element = driver.findElement(By.className(“nome classe”)); | Encontrar elemento pela classe |
| assertTrue(topicosrecentes.isDisplayed()); | Validar se o elemento está exibido na página |
| assertTrue(menusobre.getText().contains(“SOBRE”)); | Validar se o nome do elemento contém o texto |
| assertTrue(tagwebdriver.getText().equals(“Webdriver”)); | Validar se o nome do elemento é igual o texto |
| driver.findElement(By.id(“ConfirmaNome”)).isDisplayed(); | É usado para que o usuário possa visualizar se o elemento está visível para o utilizador |
| driver.findElement(By.id(“ConfirmaNome”)).isEnabled(); | Usado para verificar se o elemento está ativo na tela em determinado momento, é muito usado em fluxo de sites |
| driver.findElement(By.id(“SexoM”)).isSelected(); | Verifica se o elemento está selecionado no determinado momento |
| driver.findElement(By.id(“Nome”)).sendKeys(“André Iguera”); | Com esse comando, inserimos valores em determinados campos do browser |
| Thread.sleep(5000); | Aguardar um tempo (ms) |