Estoy tratando de elegir una opción aleatoria de una lista desplegable. Ninguna respuesta que encontré hasta ahora ayudó. No tengo problemas para seleccionar una opción específica, ya que todos los valores tienen identificadores establecidos.
Esto es simple/directo y funciona:
const log = new loginPage() log.visit() log.loginEmail('test') log.loginPassword('test') log.submit() cy.get('#link-new-application').click() cy.get('#control-nationality').click() cy.get('#option-nationality-DZA').click()¿Algún consejo para la selección aleatoria? Soy un principiante por lo que cualquier ayuda sería muy apreciada.
Cypress viene con Lodash horneado.
Lodesh trae muchos métodos de utilidad útiles, con el método de sample puede obtener un elemento aleatorio de una colección.
https://docs.cypress.io/api/utilities/_#Syntax
https://lodash.com/docs#muestra
cy.get('id^="option-nationality-"]') .then(options => { cy.get(Cypress._.sample(options)).click() })Un enfoque es obtener todas sus opciones y luego hacer clic en una al azar
cy.get('#control-nationality').click() // open the dropdown cy.get('id^="option-nationality-"]') // all elements with id starting "option-nationality" .then($options => { const count = $options.length const randomIndex = Math.floor(Math.random() * count) $options.eq(randomIndex).click() })