Katalon Studio: Tutorial de automação de testes de softwares

O que é teste de software O teste de software pode ser considerado uma das parcelas do controle de qualidade de um software que tem por objetivo avaliar se todas as funcionalidades estão funcionando corretamente e atendem a todos os requisitos especificados. Para uma boa execução das tarefas de teste, é necessário ter um bom conhecimento do projeto e suas funcionalidades, planejamento dos testes que serão executados, executá-los e registrar os defeitos encontrados. Há diversas maneiras de se testar um software, mas todas elas sempre com o objetivo principal de encontrar falhas. Para que os testes possam ser realizados de uma maneira mais eficiente e com maior abrangência, existem ferramentas que automatizam alguns e auxiliam na execução de outros. Os tipos de ferramentas de testes são tão variados quanto as diversas maneiras de realizá-los. Pode-se dizer que, para cada teste a ser aplicado, é possível encontrar uma ferramenta/aplicação que o auxilie.

Para quê automatizar

Automação de testes está relacionada às atividades e esforços que pretendem automatizar tarefas de um processo de teste de software, através de ferramentas específicas que controlam a execução e realizam comparações dos resultados com os previstos. Qualquer ferramenta de automação de teste tem por objetivo tornar o processo de teste mais eficiente e eficaz. Quando utilizada de maneira correta, ela pode trazer vários benefícios à uma organização. Entretanto, deve-se levar em consideração que ela não pode ser usada em todos os casos. É preciso analisar cada projeto para definir quais realmente valem a pena automatizar, e levar em consideração que mesmo após a decisão de utilizar uma ferramenta de automatização, será necessário ainda utilizar o teste manual para diversas funcionalidades. James Whittaker, ex-diretor de engenharia da Google afirmou durante o Webinar (2012) “How Google Tests Software”: A automação é útil quando: os resultados podem ser verificados por uma máquina, sem julgamento humano ou esperteza necessária, ou para casos onde os testes são repetitivos, caso contrário, o teste manual é a melhor abordagem. Muitos dos testes necessários são numerosos e trabalhosos. Alguns deles muitas vezes requerem verificações repetitivas e rotineiras, que em um determinado momento, pode cansar o testador deixando a aplicação mais propícia a uma falha humana. Sem falar no tempo que a realização desses testes podem tomar. Ao automatizar testes, é permitido que o profissional encarregado foque em novas funcionalidades da aplicação, além de proporcionar uma redução de tempo e custos a longo prazo, permitir a procura de classes específicas de defeitos e, no caso de aplicações com um maior ciclo de vida, permitir que incrementos ou pequenas correções não afetem funcionalidades já estabelecidas.

Katalon Studio

Como já mencionado, existem diversas ferramentas para diversos tipos de aplicações. Um exemplo de ferramenta é o Katalon Studio. O Katalon Studio é uma poderosa ferramenta de automação de testes para aplicações Web e móveis. Ele revoluciona o uso de frameworks de automação de teste de código aberto, como o Selenium e Appium, ferramentas mais conhecidas, eliminando suas complexidades técnicas para permitir que seus usuários configurem, criem, executem, relatem e gerenciem seus testes automatizados eficientemente. Ele fornece um conjunto abrangente e integrado de recursos, como por exemplo a gravação de etapas de teste gerando scripts para executar e reportar resultados. A ferramenta também oferece uma alternativa viável às soluções de automação de testes comerciais que não são acessíveis para muitas equipes pequenas e médias.

Como instalar o Katalon Studio

Primeiramente verifique os requisitos do sistema. A ferramenta está disponível para download gratuitamente no site Katalon Studio. Após realizar o download, para iniciar o Katalon Studio, clique duas vezes no katalon.exe Depois de iniciado, uma tela semelhante à seguinte deverá aparecer: Em seguida será pedido um nome de usuário e uma senha registrados para ativar a ferramenta. Preencha com os dados registrados para realizar o download. Após a ativação, uma tela de guia rápido é exibida para guiá-lo por todos os principais recursos do programa. É possível ignorar o guia e visualizá-lo mais tarde. Após o guia, será exibida a tela inicial do programa:

Criando o primeiro teste de automação

Aqui será exposto um simples exemplo de um teste de automação de um site em que é necessário preencher um formulário de cadastro. O site escolhido para o exemplo será o https://www.sine.com.br/. Para dar início ao teste, crie um novo projeto Em seguida crie um novo Test Case Após criado o novo Test Case, a página exibida será a seguinte: Para iniciar a gravação das etapas clique em Record Web. Uma nova aba Web Recorder irá abrir. Em URL digite o site que deseja realizar o teste e selecione o browser desejado. Em seguida, será aberto o navegador em que os passos serão gravados. Agora, basta realizar sua navegação, que os passos serão capturados. Após finalizar a captura dos passos, clique em stop e em seguida OK. Crie um New Folder e salve sua nova captura na nova pasta. Será exibida uma nova tela mostrando todos os elementos e objetos capturados durante a navegação. Para executar a gravação, basta clicar em Run e selecionar o navegador. Após o Test Case ter sido finalizado, aparecerá uma tela semelhante à seguinte: Como podemos perceber, ocorreu uma falha na hora de rodar o teste realizado. Vez ou outra pode ocorrer esse tipo de falha. O programa exibe uma mensagem relatando sobre a falha. O motivo da falha foi a impossibilidade de clicar no objeto. Há uma maneira de resolver esse erro usando uma Keyword. Caso ocorra esse erro, os seguintes passos devem ser seguidos: Crie um novo Package. O novo pacote irá para a aba de Keywords do menu de Tests Explorer. Agora crie uma nova Keyword. A tela exibida para a nova keyword será a seguinte: Na linha abaixo de import static, insira o seguinte código:
import org.openqa.selenium.WebDriver as WebDriver import org.openqa.selenium.WebElement as WebElement import org.openqa.selenium.interactions.Actions as Actions import com.kms.katalon.core.webui.common.WebUiCommonHelper as WebUiCommonHelper import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory import org.openqa.selenium.JavascriptExecutor as JavascriptExecutor
  Caso os comandos digitados desapareçam, não se preocupe, eles foram agrupados aos outros “imports” e minimizados automaticamente. E na classe pública insira o seguinte comando:
@Keyword def clickUsingJS(TestObject to, int timeout) { WebDriver driver = DriverFactory.getWebDriver() WebElement element = WebUiCommonHelper.findWebElement(to, timeout) JavascriptExecutor executor = ((driver) as JavascriptExecutor) executor.executeScript(‘arguments[0].click()’, element) }
  Ficará da seguinte maneira na tela Agora, salve toda a configuração e volte à aba do Test Case que foi criado. Como o erro ocorrido foi ao realizar o clique, deve-se substituir todos (muito provavelmente todas as outras ações de clique ocorrerão o erro) os itens Click pela nova keyword. Para isso, será necessário adicionar uma Custom Keyword para substituir Click. Irá aparecer uma nova linha no test case com um objeto nulo (null) Agora substitua o objeto nulo pelo objeto do item Click a ser substituído, clicando duas vezes no objeto da nova linha. O próximo passo é remover o item Click que foi substituído. O mesmo deverá ser feito para todos os itens Click. Finalizada as alterações, salve-as. E coloque o programa para rodar. O navegador que é controlado pelo software irá exibir todos os passos gravados de maneira automática. Quando o teste finalizar de maneira correta, irá aparecer o seguinte na tela: Na tela do Test case, é possível alterar os campos para preencher com novos dados de entrada. Se os dados forem alterados, salve-os e rode o programa. O navegador controlado agora deverá exibir os passos de maneira automática com os novos dados de entrada.  ]]>