Quiero usar, cada vez que ejecuto el traje de prueba, un conjunto diferente de parámetros:
{ "Company": { "Name": "CompnayName1040", "FullName": "FullName1040", "phone": "0505551040"} }Lo que significa que después de cada ejecución de prueba, estoy ejecutando la última prueba que incrementará en 5 las variables anteriores
Al ejecutar este código, el número de teléfono resultante es: 05055510405
cy.readFile('cypress.env.json', ).then( (envVars) => { cy.log('Old cypress.env.json.Employee.phone: '+envVars.Employee.phone); envVars.Employee.phone = String(envVars.Employee.phone).replace(/(\d{4})$/, function(n){ return n+=5 }); cy.log('New cypress.env.json.Employee.phone: '+envVars.Employee.phone); }esperaba que el número de teléfono fuera 0505551045
Si está buscando usar cadenas únicas, también puede usar la función lodash, que se incluye con Cypress, .random() . Ejemplo
Name = `CompanyName${Cypress._.random(9999)}` // random number between 0 and 9999Para cambiar el número de teléfono, trabaje con los últimos 7 dígitos.
Esto preservará su "0" inicial.
const head = envVars.Employee.phone.substr(0,3) const tail = envVars.Employee.phone.substr(3) const bumped = +tail+5 envVars.Employee.phone = `${head}${bumped}`Usando la idea de @jjhelguero para números aleatorios, puede intentar usar fakerjs phoneNumber
envVars.Employee.phone = faker.phone.phoneNumber('05055510##')