Mais um post da série “pitadas de Cypress”

Dando continuidade a série, aprenda como verificar que após determinada ação, o usuário é direcionado para a URL correta.

Imagine um cenário de teste de logout.

Vamos dizer que após fazer o logout da aplicação, o usuário seja redirecionado para a página de login. Como testar isso?

A resposta é simples.

cy.url()

Vejamos um exemplo.

describe('Logout', () => {
  beforeEach(() => {
    cy.login() // Irei abordar comandos customizados em outro post. Aguarde!
  })

  it('logout redireciona para à página de login', () => {
    cy.contains('Logout')
      .should('be.visible')
      .click()

    cy.url()
      .should('be.equal', 'https://exemplo.com/login')
  })
})

Com o retorno da chamada da função  .url(), podemos verificar se a mesma é igual a uma URL esperada.

Vejamos outra opção, no caso da propriedade baseUrl estar definida no arquivo cypress.json.

describe('Logout', () => {
  beforeEach(() => {
    cy.login()
  })

  it('logout redireciona para à página de login', () => {
    cy.contains('Logout')
    .should('be.visible')
    .click()

    cy.url().should(
      'be.equal',
      `${Cypress.config("baseUrl")}/login`
    )
  })
})

Tada! 🎉

Com a funcionalidade de template strings do JavaScript, podemos obter o valor da configuração da baseUrl (através de Cypress.config(“baseUrl”)) e interpolar com o valor /login.

Dessa forma, podemos executar o mesmo teste em diferentes ambientes (com diferentes baseUrls) e tudo continuará “numa boa”!


O que você está achando da série?

Aguardo teu feedback.


Este conteúdo foi traduzido para inglês e pode ser encontrado no DEV Community.


Quer aprender automação de testes com Cypress na prática? Conheça meus cursos na Escola Talking About Testing, ou no Udemy.

3 comentários em “Como verificar que fui direcionado para a URL correta com Cypress

Deixe um comentário

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

Logotipo do WordPress.com

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

Foto do Google

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

Imagem do Twitter

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

Foto do Facebook

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

Conectando a %s