Como usar assert em selênio

Como usar assert em selênio

Você pode ter executado muitos testes usando várias funções de teste e nunca pode considerar um teste "passado" ou "falhou" durante essas execuções. É hora de executar alguns testes reais usando o selanium webdriver no teste agora que estamos familiarizados com todos os princípios principais no teste. Aproveitaremos as afirmações de teste para este objetivo. Este artigo executa a implementação dos métodos afirmados e descreve as vantagens suaves e de afirmação dura. Neste tutorial, executamos dois casos: afirmam simples e duras e suaves afirmam. Este conteúdo descreve o uso de afirmação suave em comparação com a afirmação dura. Antes de escrever o script, tendemos a instalar Java JDK e Eclipse, adicionar bibliotecas de frascos de selênio e configurar as dependências junto com os drivers do navegador.

Requisitos:

Antes de escrever o código, você deve criar um ambiente de desenvolvimento para executar e executar o código. Em primeiro lugar, instale e configure o kit JDK e o eclipse. Depois disso, você deve baixar e incluir o arquivo Testng JAR na sua instalação do Eclipse para usar a afirmação no driver da web. Você pode obter arquivos JAR testng do link fornecido: https: // mvnrepository.com/artefato/org.testng/testng. Em seguida, adicione os arquivos JAR na biblioteca Eclipse pelo seguinte processo: Vá para o projeto => Build and Configure Option> Java Build Path> Bibliotecas para adicionar aqueles frascos externos baixados. Agora, adicione as dependências ao eclipse> pom.Arquivo XML.




io.Github.Bonigarcia
WebDriverManager
5.3.1
teste



org.apache.Maven
Maven-Artifact
4.0.0-alfa-2


Testng afirmação com um exemplo:

Neste tutorial, abordaremos dois casos:

    1. Afirmação simples
    2. Afirmação dura e suave

Caso 1:

Passamos por métodos básicos para verificar.

Etapa 1: Crie uma classe vazia

Para aplicar a afirmação, precisamos criar uma classe separada “vazio público” e realizar testes de afirmação dentro dessa classe, diferentemente de outras propriedades de selênio dos testes de automação usando a classe estática principal.

public void TitleTest ()

Etapa 2: Configure o webdriver

Nesta etapa, configuraremos o driver do navegador através do seguinte script, que o navegador Chrome está usando para este tutorial. O seguinte código de script usa:

WebDriverManager.cromedriver ().configurar();
Chromedriver Driver = new Chromedriver ();

Etapa 3: Abra o navegador

Nesta etapa, o navegador Chrome abrirá o URL do site especificado. Como neste exemplo, use https: // www.eBay.com/ site.

Use o seguinte método de script:

motorista.Get ("https: // www.eBay.com/");


Pode ser visto na figura abaixo que o Chrome é controlado pelo software de teste automatizado.

Etapa 4: pesquisando o título do site

Nesta etapa, o navegador Chrome abrirá o URL do site especificado. Como neste exemplo, use https: // www.eBay.com/ site.


Inspecione a página da web e encontre o título do site. Como mostrado na figura abaixo.

Eletrônicos, carros, moda, colecionáveis ​​e muito mais | eBay



Aqui está a sintaxe:

String variável = "título"


O título é uma string que cria a sequência variável.

Etapa 5: defina o título esperado

Nesta etapa, o título copiado da página da web será usado para criar uma string para o título esperado.

Conforme mostrado no código abaixo, a string criou a variável "esperada".

String esperatitle = "eletrônicos, carros, moda, colecionáveis ​​e mais | eBay";

Etapa 6: Obtenha o título real

Nesta etapa, obtemos o título real usando o método gettitle ().

Seguindo a string de código, criamos a variável "realTitle" que salva o método GetTitle () fornecido.

String realTitle = Driver.gettitle ();

Etapa 7: Verifique o título que estamos recebendo

Nesta etapa, combinamos o título real com o título esperado.

A sintaxe é dada abaixo:

Afirmar.Método (real, esperado)


Existem muitos métodos de ativos como assertequais, assertunequal e etc.

Como você pode ver, o parâmetro possui dois valores:

    • Real: o valor que o testador obtém. Por exemplo, o título real da página deve ser fornecido aqui se a afirmação do testador corresponde a ele.
    • Esperado: se a reivindicação do testador estiver relacionada ao título da página, por exemplo, o valor do título que você prevê deve ir aqui.

O código a seguir que usa o método assertequal () para corresponder ao título de ambos é o mesmo ou não.

Afirmar.assertequals (realTitle, esperado);

Etapa 8: título de correspondência True Case

Quando o título real do site e a partida de título esperada, a condição é verdadeira.

Considere o código de exemplo fornecido abaixo:

String esperatitle = "eletrônicos, carros, moda, colecionáveis ​​e mais | eBay";
String realTitle = Driver.gettitle ();
Afirmar.assertequals (realTitle, esperado);


A primeira linha do código é o título esperado. Depois disso, temos um título real. Depois disso, o método Assert () é usado para corresponder ao título real e esperado.

Saída no console

Depois de executar o código acima, a saída mostra no console que o código foi executado com sucesso e o teste foi aprovado = TitleTest.

Etapa 9: Caso falhado no título da partida

Quando o título real do site e o título esperado, a condição falha.

Saída no console:

Depois de executar o código acima, a saída mostra no console que o código executado sem sucesso e o teste foi falhado = titleTest.

Caso 2:

Nesse caso, passamos por uma afirmação suave e afirmação dura.

ASSERÇÃO HARAÇÃO E ASSERÇÃO SOFT:

Existem requisitos de afirmação em muitos casos. Você pode estar tendo várias afirmações no caso de teste único. Existem cinco e seis pontos de verificação diferentes em seus casos de teste específicos. Como se você tivesse falha em uma afirmação em particular, o que acontecerá com outras afirmações que estão à frente dessa afirmação em particular?

Cenário de exemplo:

Você está verificando o título e a partida do título falhou. Depois disso, você verifica o determinado texto e alguns elementos da web na mesma página.

Caso de teste de afirmação dura

Em uma afirmação difícil, se alguma afirmação falhou, o script para aí.

Cenário de exemplo:

Como o título não consegue corresponder e se você estiver usando afirmação.Método de Arrertequals (), então o caso de teste para nessa falha específica. Você não pode ir mais longe e ver a verificação de outros ativos disponíveis no mesmo caso de teste. Ativos difíceis são um desafio porque eles param se ocorrer uma única falha.

Aqui está o código de exemplo que você pode executar e ver o resultado.

String esperatitle = "eletrônicos, carros, moda, colecionáveis ​​e mais | eBay";
String realTitle = Driver.gettitle ();
Afirmar.assertequals (realTitle, esperado);


Depois de executar o código acima, a saída mostra no eclipse que o código executado sem sucesso. E o teste foi falhado = TitleTest. Podemos observar que o alerta do lado direito na cor vermelha indica os alertas e interrompe a execução do código lá.

Caso de teste de afirmação suave

No caso de afirmação suave, a verificação de assert falha no script continuará, mesmo que a falha tenha acontecido lá e a falha registrará. E o script continuará.

Etapa 1: obtenha o valor do botão de pesquisa

Nesta etapa, vamos inspecionar os https: // www.eBay.com/ site e obtenha o nome do atributo de botão de pesquisa.


A sintaxe é dada abaixo:

String variável = “Nome de entrada”


Aqui está um código de exemplo:

String esperatext = "pesquisa";

Etapa 2: Obtenha texto real

Nesta etapa, obtemos o XPath do texto real do botão de pesquisa seguindo as etapas:

RightClick> Inspecione> Código Goto> Código do clique direito> Selecionar opção de copiar> copy xpath = ["//*[@id =" gh-btn "]]] ele copiará o xpath para você.

Obter valor de atributo, atributos da página da web são (valor, tipo, classe) e selecionamos o atributo de valor para este exemplo .O método getAttribute () é usado para obter o atributo.

A sintaxe é dada aqui:

.getAttribute (nome)


O código de exemplo é mencionado aqui:

String realtext = driver.FindElement (por.xpath ("//*[@id =" gh-btn "]"))).getAttribute ("valor");
.getAttribute ("valor"); => Obtenha Vale e armazenar no “RealText”

Etapa 3: verifique o texto

Verifique usando as afirmações.Método assertequals ().

classe pública verifysofttest
@Teste
public void SearchBtNTest () lança interruptedException

String esperatitle = "eletrônicos, carros, moda, colecionáveis ​​e mais | eBay";
String esperatext = "pesquisa";
WebDriverManager.cromedriver ().configurar();
Chromedriver Driver = new Chromedriver ();
motorista.Get ("https: // www.eBay.com/");
String realTitle = Driver.gettitle ();
String realtext = driver.FindElement (por.xpath ("//*[@id =" gh-btn "]"))).getAttribute ("valor");
Sistema.fora.println ("verificando o título");
SoftASsert.assertequals (realTitle, esperado, "verificação do título falhou");
Sistema.fora.println ("Verificação de texto");
SoftASsert.asserTequals (realtext, esperado, "falha na verificação de texto");
Sistema.fora.println ("Fechar o navegador");
motorista.fechar();

Etapa 4: execute o código

Aqui, executaremos o código mencionado na etapa 3 e veremos a saída.

Saída no eclipse:

Depois de executar o código acima, a saída é exibida no Eclipse. Este código foi executado com sucesso e o teste foi aprovado = SearchbtNTest. A cor verde mostra o passe do caso de teste.

Conclusão

É difícil encontrar um código de teste sem afirmações porque eles são os métodos mais usados ​​no teste. Este artigo ilustra o uso do método assert usando a estrutura de selênio para testar, o testador determina se o teste foi ou não bem -sucedido, bem como quaisquer exceções por meio de uma ferramenta de controle automático. Neste tutorial, escrevemos código para definir o driver do navegador, iniciar o driver do navegador e executar afirmações simples e afirmações suaves e duras. Nesse conteúdo, você aprendeu como a afirmação suave é mais importante do que a afirmação dura.