test: refs #6695 handle e2e errors (better cypress config)
gitea/salix-front/pipeline/pr-dev There was a failure building this commit
Details
gitea/salix-front/pipeline/pr-dev There was a failure building this commit
Details
This commit is contained in:
parent
e28e5217bd
commit
38fea35f4f
|
@ -2,27 +2,27 @@ FROM node:lts-bookworm
|
||||||
ENV SHELL bash
|
ENV SHELL bash
|
||||||
ENV PNPM_HOME="/pnpm"
|
ENV PNPM_HOME="/pnpm"
|
||||||
ENV PATH="$PNPM_HOME:$PATH"
|
ENV PATH="$PNPM_HOME:$PATH"
|
||||||
RUN npm install -g pnpm@8.15.1
|
RUN npm install -g pnpm@8.15.1 && \
|
||||||
RUN pnpm setup
|
pnpm setup
|
||||||
|
|
||||||
RUN pnpm install -g @quasar/cli@2.2.1
|
RUN apt-get -y --fix-missing update && \
|
||||||
|
apt-get -y --fix-missing upgrade && \
|
||||||
RUN apt-get -y --fix-missing update
|
apt-get -y --no-install-recommends install apt-utils libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb && \
|
||||||
RUN apt-get -y --fix-missing upgrade
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
RUN apt-get -y --no-install-recommends install apt-utils
|
|
||||||
RUN apt-get install --fix-missing -y libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb
|
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
||||||
COPY \
|
COPY \
|
||||||
package.json \
|
package.json \
|
||||||
.npmrc \
|
.npmrc \
|
||||||
pnpm-lock.yaml \
|
pnpm-lock.yaml \
|
||||||
./
|
./
|
||||||
|
|
||||||
RUN pnpm install
|
RUN pnpm install && \
|
||||||
RUN pnpm install cypress
|
pnpm install -g @quasar/cli@2.2.1 && \
|
||||||
RUN npx cypress install
|
pnpm install cypress && \
|
||||||
|
npx cypress install
|
||||||
|
|
||||||
COPY \
|
COPY \
|
||||||
quasar.config.js \
|
quasar.config.js \
|
||||||
|
|
|
@ -37,6 +37,12 @@ export default defineConfig({
|
||||||
setupNodeEvents: async (on, config) => {
|
setupNodeEvents: async (on, config) => {
|
||||||
const plugin = await import('cypress-mochawesome-reporter/plugin');
|
const plugin = await import('cypress-mochawesome-reporter/plugin');
|
||||||
plugin.default(on);
|
plugin.default(on);
|
||||||
|
// if (process.env.JENKINS_URL) {
|
||||||
|
// on('fail', (error) => {
|
||||||
|
// // Detener la ejecución en caso de fallo solo en Jenkins
|
||||||
|
// throw new Error(error.message);
|
||||||
|
// });
|
||||||
|
// }
|
||||||
return config;
|
return config;
|
||||||
},
|
},
|
||||||
viewportWidth: 1280,
|
viewportWidth: 1280,
|
||||||
|
|
|
@ -87,34 +87,26 @@ Cypress.Commands.add('getValue', (selector) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Fill Inputs
|
// Fill Inputs
|
||||||
Cypress.Commands.add('selectOption', (selector, option, timeout = 5000) => {
|
Cypress.Commands.add('selectOption', (selector, option, timeout = 10000) => {
|
||||||
cy.waitForElement(selector, timeout);
|
cy.waitForElement(selector, timeout); // Esperar a que el selector sea visible
|
||||||
cy.get(selector).click();
|
cy.get(selector).click().invoke('data', 'url').as('dataUrl');
|
||||||
cy.get(selector).invoke('data', 'url').as('dataUrl');
|
|
||||||
cy.get(selector)
|
// Escribir la opción deseada
|
||||||
.clear()
|
cy.get(selector).clear().type(option);
|
||||||
.type(option)
|
cy.get('.q-menu', { timeout }).should('be.visible').and('exist');
|
||||||
.then(() => {
|
|
||||||
cy.get('.q-menu', { timeout })
|
// Si hay una URL, espera a que el menú desaparezca y vuelva a aparecer
|
||||||
.should('be.visible') // Asegurarse de que el menú está visible
|
|
||||||
.and('exist') // Verificar que el menú existe
|
|
||||||
.then(() => {
|
|
||||||
cy.get('@dataUrl').then((url) => {
|
cy.get('@dataUrl').then((url) => {
|
||||||
if (url) {
|
if (url) {
|
||||||
// Esperar a que el menú no esté visible (desaparezca)
|
cy.get('.q-menu').should('be.visible').and('exist');
|
||||||
|
|
||||||
cy.get('.q-menu').should('not.be.visible');
|
cy.get('.q-menu').should('not.be.visible');
|
||||||
// Ahora esperar a que el menú vuelva a aparecer
|
|
||||||
cy.get('.q-menu').should('be.visible').and('exist');
|
cy.get('.q-menu').should('be.visible').and('exist');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// Finalmente, seleccionar la opción deseada
|
// Finalmente, seleccionar la opción deseada
|
||||||
cy.get('.q-menu:visible') // Asegurarse de que estamos dentro del menú visible
|
cy.get('.q-menu:visible').find('.q-item').contains(option).click();
|
||||||
.find('.q-item') // Encontrar los elementos de las opciones
|
|
||||||
.contains(option) // Verificar que existe una opción que contenga el texto deseado
|
|
||||||
.click(); // Hacer clic en la opción
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Cypress.Commands.add('countSelectOptions', (selector, option) => {
|
Cypress.Commands.add('countSelectOptions', (selector, option) => {
|
||||||
|
|
Loading…
Reference in New Issue