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 foi 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.

Um comentário 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