Quiero verificar si la primera columna del texto de cada fila comienza con "AA", "BB" o "CC". Pero no pude manejarlo en la tabla div. Solo puedo seleccionar y verificar la primera fila (código a continuación). Pero también intenté seleccionar toda la columna e intenté usar cy.each & cy.wrap y también obtuve errores.
¿Cómo puedo verificar la primera columna para el texto de cada fila? (La tabla tiene 40-45 filas).
La tabla se ve así:
En este momento solo puedo verificar la primera fila con el código a continuación. ¿Cómo puedo verificar todas las filas como esta? ¿Te queda claro el siguiente código por cierto?
cy.get('div[row-index="0"]') .eq(1) .invoke('text') .then(text => { const productID = text.trim(); let correctProductIDPrefix = false; ['AA', 'BB', 'CC'].forEach(possibleProductIDPrefix => { if (!correctProductIDPrefix) { correctProductIDPrefix = productID.startsWith(possibleProductIDPrefix); } }); expect(correctProductIDPrefix).to.be.true; });¡Gracias por adelantado!
Para realizar la misma prueba en todas las filas
[row-index="0"] a [row-index] ).each() para ejecutar la prueba en todas las filasArray.some() para verificar al menos una coincidencia de prefijo const possibleProductPrefixes = ['AA', 'BB', 'CC'] // define once outside test cy.get('div[row-index]') // selects every row .each($row => { const $col = $row.find('[col-id="orderNumber"]') // pick out the column const productId = $col.text().trim() const correctProductIDPrefix = possibleProductPrefixes.some(prefix => { return productId.startsWith(prefix) }) expect(correctProductIDPrefix).to.be.true; });Matriz de referencia.prototipo.algunos ()
El método some() prueba si al menos un elemento de la matriz pasa la prueba implementada por la función proporcionada. Devuelve verdadero si, en la matriz, encuentra un elemento para el cual la función proporcionada devuelve verdadero; de lo contrario, devuelve falso. No modifica la matriz.
Puedes hacer algo como esto:
let prefix = ['AA', 'BB', 'CC'] cy.get('.ag-cell-value').each(($ele, index) => { expect($ele.text().trim().startsWith(prefix[index])).to.be.true })