Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

572
Visualizações
Pasar variable en varios archivos js usando Cypress

Para las pruebas de Cypress, estoy configurando una dirección de correo electrónico en un archivo js. Entonces me gustaría usar esta variable en otro archivo. Con importar/exportar ejecuta todo el script del archivo anterior, solo necesito la variable

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puede mover el valor de su correo electrónico a /cypress/support/index.js e importarlo en ambas pruebas.

O defina un comando personalizado en /cypress/support/commands.js y evite tener que importarlo.

 // cypress/support/commands.js Cypress.Commands.add('getEmail', () => 'random@gmail.com')
 // all tests cy.getEmail().then(email => { ... })

Desafortunadamente, eso hace que una variable simple sea asíncrona y debe acceder a ella con .then() .


Variables de entorno para datos estáticos

Si los datos son estáticos, puede definirlos como una variable de entorno,

En ciprés V9

 // cypress.json { ... "env": { "email": "random@gmail.com", } }

En ciprés V10

 // cypress.config.js const { defineConfig } = require('cypress') module.exports = defineConfig({ projectId: '128076ed-9868-4e98-9cef-98dd8b705d75', env: { email: 'random@gmail.com', } })
 // all tests const email = Cypress.env('email')

En realidad, en Cypress v10 , la configuración ahora es un archivo javascript, por lo que debería poder configurar el email a través de una función

 // cypress.config.js const { defineConfig } = require('cypress') module.exports = defineConfig({ projectId: '128076ed-9868-4e98-9cef-98dd8b705d75', env: { getEmail: () => { return 'random@gmail.com'; }, } })
 // all tests const email = Cypress.env('getEmail')() // invoke the function
about 4 years ago · Juan Pablo Isaza Relatório

0

Debería poder usar una exportación con nombre para evitar ejecutar las pruebas en el archivo de exportación.

 export const email = ...
 import {email} from ...
about 4 years ago · Juan Pablo Isaza Relatório

0

Posible solución usando Fixtures:

soporte/comandos.js:

 Cypress.Commands.add('generateFixtureEmail', () => { cy.writeFile('cypress/fixtures/email.json', { 'hits':Cypress._.times(1, () => { let randomNumber= Math.floor(Math.random() * 1001); const email ='random+'+randomNumber+'@mail.com'; return { 'Email': email } }) })

se crea un archivo json: fixtures/email.json

 "hits": [ { "Email": "random+475@mail.com" }

]

soporte/index.d.ts:

 declare namespace Cypress { interface Chainable<Subject = string> { generateFixtureEmail(): Chainable<Element>; }

integración/test-scripts/test.js:

 describe('Test', function() { before(() => { cy.generateFixtureEmail() cy.fixture('email').then(function (data) { this.data = data; }) }) it('testcase 1', function () { cy.loginWithEmail(this.data.hits[0].Email)

nota: no confirme el archivo json generado

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda