Executar cenários específicos criados pelo Specflow com NUnit Console, como?



  • Nesse artigo, vou exemplificar como podemos executar cenários específicos criados a partir do Specflow através do NUnit Console.
    Exemplo do código utilizado no artigo nesse link

    Quando em certos momentos nos deparamos com uma suite de cenários de testes extensa e precisamos que apenas alguns cenários seja executados em momentos chaves, seja smoke test, cenários de regressão ou até mesmo testes cruciais para liberação de uma aplicação, diferenciarmos esse cenários se faz extremamente necessário, seja executando em uma Integração Contínua ou em sua própria máquina.

    O Specflow possui um atributo interessante chamado Tags que nada mais são que marcadores que podem ser atribuídos a recursos e cenários. O NUnit Console entende essas Tags se passadas como parâmetro na execução por linha de comando, isso facilita quando entregamos um pacote de testes para o usuário efetuar a execução dos cenários automatizados em sua própria máquina.

    Vamos ao interessa, antes de tudo precisamos já ter extraído o NUnit Console em um local e para facilitar o .bat para execução do cenários fora do Visual Studio, nesse artigo falei um pouco sobre isso explicando como criar o .bat.
    Agora vamos aos cenários, para o exemplo executaremos os cenários do projeto informado no início do artigo.

    Funcionalidade: Formulário de Contato
    Eu como usuário, preciso contactar o prestador de serviço
    Para que seja necessário um possível retorno
    Preciso preencher as informações corretamente.

    Contexto:
    Dados que eu esteja no site jobmidia
    Quando eu navegar até a área do formulário de contato

    @correto @Browser:IE
    Cenário: Preenchimento do formulário corretamente
    Quando informo todos os dados corretamente
    |Nome |Email |Telefone | Mensagem |
    |Franklin |franklinjob@hotmail.com|(21)991475281| Teste de Mensagem |
    E clico em Enviar
    Então o site ira informar a mensagem ‘Sua mensagem foi enviada com sucesso.’

    @incorreto @Browser:IE
    Cenário: Preenchimento do formulário com email incorreto
    Quando entro em contato e informo todos os dados obrigatorios corretamente exceto email
    |Nome |Email |Telefone | Mensagem |
    |Franklin |franklinjob@ |(21)991475281| Teste de Mensagem |
    Então o formulário irá alertar o preenchimento incorreto do email ‘Formato de e-mail inválido

    Os dois cenários irão testar um formulário de contato de uma página, sendo que um deles será específico ao preenchimento do formulário corretamente e será esse que iremos testar na suite de testes do Specflow.

    Nossa execução através do .bat deverá ficar assim:

    nunit3-console.exe “.\jobmidia\Unick.dll”  -- result=”jobmidiaresult.xml;format=nunit3" -- where “cat=positivo”

    Nesse artigo explico mais detalhadamente sobre todos os parâmetros da linha de comando de execução do cenário acima, por hora vamos fixar no parâmetro where “cat=”.

    A linha de comando do console permite que você especifique um filtro, que selecionará quais testes são executados. Isso é feito usando a opção  -- where, seguida de uma expressão no Idioma de Seleção de Teste do NUnit (TSL), uma linguagem específica de domínio simples, projetada para esse propósito.
    Na página do NUnit no Github você poderá encontrar mais exemplos de expressões para associar com o where assim como outros operadores.

    No video abaixo demonstro a execução da suite de testes filtrando apenas pelo cenário de teste com a tag=positivo.
    Execução dos cenários de testes do Specflow utilizando NUnit Console

    Qualquer dúvida ou sugestão estou a disposição. Um grande abraço a todos e até o próximo artigo.

    Esse meu artigo foi postado originalmente no site Medium


Log in to reply
 

Looks like your connection to Bug Overflow was lost, please wait while we try to reconnect.