Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

199
Views
Cambie la URL de .page según el entorno en el que necesito ejecutar la suite

Hemos estado construyendo nuestra suite de automatización utilizando nuestro entorno de ensayo, pero pronto lo pondremos en marcha y queremos estar listos para decirle al proyecto dónde ejecutarlo (escenario, producción).

La única diferencia entre los sitios en los entornos es la URL. Mi pregunta es, de principio a fin, ¿cómo puedo configurar la URL de .page a través de una opción CLI?

En este momento, he creado un archivo de configuración de entorno que contiene nuestras URL de preparación y producción y luego invoco los datos en mis archivos de prueba. Esto está bien por ahora, pero tendré que crear un script con una opción para configurar el entorno en tiempo de ejecución sin tener que buscar y reemplazar manualmente antes de iniciarlo.

Busqué en línea y encontré, lo que creo, fragmentos de código e instrucciones generales, pero no soy un desarrollador de corazón y soy bizco. Si pudiera obtener un ELI5 para esto, sería increíble.

Ejemplo de lo que estoy haciendo ahora:

 const env = require('../environment_variables.json') fixture `blog` .page `${env.production}`

Y luego cambio la producción a la puesta en escena o viceversa manualmente antes de iniciar la suite.

Dado que el proyecto se ejecutará desde CICD, me gustaría poder hacer algo como esto en mi CLI y script:

 testcafe env=production

El valor env se establecerá donde está la llamada .page para cada archivo de prueba.

¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Hay diferentes maneras de hacer esto. He usado variables de entorno con éxito en esta situación, así que compartiré esta solución ya que resolverá su problema.

Creo config.json en la raíz del proyecto:

 { "baseUrl": { "dev": "https://dev.com/", "staging": "https://staging.com/", "prod": "https://prod.com/" } }

Luego creo dos funciones auxiliares en algún lugar como Helpers/env.js :

 import config from '../config'; function getEnv () { return process.env.TESTCAFE_ENV; } function getBaseUrl () { return config.baseUrl[getEnv()]; } export { getEnv, getBaseUrl };

Luego, en mis archivos de prueba en Tests/ :

 import { getBaseUrl } from '../Helpers/env'; const baseUrl = getBaseUrl(); fixture `Test Suite` .page(baseUrl);

Y eso es. Luego, cuando necesito ejecutar pruebas en el desarrollador, ejecuto:

 $ TESTCAFE_ENV=dev testcafe

para puesta en escena:

 $ TESTCAFE_ENV=staging testcafe

y para la producción:

 $ TESTCAFE_ENV=prod testcafe
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!