Olá Mariana, tudo bem com você?
Excelente pergunta! Você pode sim padronizar a URL base para não precisar repetir ela em cada teste. Para isso, você pode configurar a baseUrl
no arquivo de configuração do Cypress (cypress.config.js
).
1 - Abra o arquivo cypress.config.js
na raiz do seu projeto.
2 - Adicione a propriedade baseUrl
para incluir a URL base do Adopet. Exemplo:
const { defineConfig } = require("cypress");
module.exports = defineConfig({
projectId: "f5nnsk",
e2e: {
setupNodeEvents(on, config) {
// implement node event listeners here
},
baseUrl: 'https://adopet-frontend-cypress.vercel.app',
video: true,
reporter: 'mochawesome',
reporterOptions: {
reportDir: 'cypress/results',
overwrite: false,
html: true,
json: false,
timestamp: "mmddyyyy_HHMMss"
}
},
});
3 - Depois de configurar a baseUrl
, você pode simplificar seus testes removendo a URL base das chamadas cy.visit()
. Exemplo:
describe('Atividade aula 1', () => {
it('Visite a página de principal do AdoPet e clique no botão "Ver pets disponíveis para adoção"', () => {
cy.visit('/');
cy.contains('a', 'Ver pets disponíveis para adoção').click();
});
it('Visite a página de principal do AdoPet e teste os botões header', () => {
cy.visit('/');
cy.get('.header__home').click();
cy.get('.header__home').click();
});
it('Visite a página de /login do Adopet', () => {
cy.visit('/login');
cy.get('input[name="email"]').type('saracachorro@gmail.com');
cy.get('input[name="password"]').type('Sara123');
cy.contains('button', 'Entrar').click();
});
it('Visite a página de /home do AdoPet e clique no botão "Falar com o responsável"', () => {
cy.visit('/home');
cy.get('.header__message').click();
});
});
Com isso, você não precisa repetir a URL base em cada teste, o que torna o código mais limpo e fácil de manter.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!