Aprenda como escrever testes automatizados com Protractor no formato Dado/Quando/Então sem o plugin do Cucumber

No mundo de automação de testes muito se fala sobre a utilização da sintaxe Gherkin, utilizada em ferramentas tais como Cucumber. Tal sintaxe possibilita a escrita de testes automatizados em uma linguagem específica de domínio, a qual utiliza de palavras-chave para descrever, pré-condições de testes (Dado), ações (Quando) e verifições de resultados esperados (Então).

Porém, a utilização de tal sintaxe, apesar de parecer facilitar a escrita de testes para pessoas não técnicas, as vezes pode gerar complexidade desnecessária a nível de desenvolvimento de software, visto a necessidade de se trabalhar com expressões regulares, algo que nem todos os profissionais de QA conhecem ou dominam.

Além disso, em muitos casos quem escreve os testes, os mantêm e são os maiores interessados neles, são pessoas técnicas, ou seja, pessoas do time de engenharia de software.

Mas você já se perguntou se seria possível utilizar o lado bom do Gherking e a simplicidade da sintaxe do Jasmine (framework padrão utilizado pelo Protractor) para a escrita de testes automatizados? Ou seja, será que é possível escrever testes automatizados utilizando as palavras-chave Dado/Quando/Então sem a complexidade de lidar com expressões regulares?

Pois a resposta é sim. Você pode escrever testes usando Dado/Quando/Então com o framework Protractor sem a necessidade de integrá-lo com o plugin do Cucumber.

Veja o exemplo abaixo:

describe("Dado que estou na página inicial", () => {
  beforeEach(() => browser.visit("/"));

  describe("Quando clico no link de 'contato' do menu", () => {
      beforeEach(() =>
        element(by.css("a[data-test='contact-menu-link']"))
        .click());

    it("Então sou redirecionado para a página de contato", () => {
      expect(browser.getCurrentUrl())
        .toEqual(`browser.baseUrl${/contact}`);
    });
  });
});

E agora veja o resultado de tal teste quando executado:

Dado que estou na página inicial

  Quando clico no link de 'contato' do menu
    ✓ Então sou redirecionado para a página de contato

Como você pode perceber, sem a necessidade de integrar o Protractor com o Cucumber é possível sim escrever testes no formato Dado/Quando/Então sem a necessidade da adição de mais uma camada de abstração, a qual traria mais complexidade para a escrita e manutenção dos testes.

E você, já experimentou escrever testes com Protractor assim? Gostaria de aprender sobre isso é muito mais?

Inscreva-se já no curso de arquitetura de testes com Protractor da Escola Talking About Testing.

E bons testes!

3 comentários em “Usando Dado/Quando/Então sem Cucumber

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s