Soy nuevo en cypress y Javascript. Por favor, ayúdenme. Quería leer el texto dentro de la etiqueta y necesito validar/afirmar que el texto debe estar con la cadena "Guardado". Esta etiqueta div es super secundaria de <div role=" fila"...> etiqueta
A continuación se muestra el fragmento de código HTML
<div ng-repeat="(rowRenderIndex, row) in rowContainer.renderedRows track by $index" class="ui-grid-row ng-scope" ng-style="Viewport.rowStyle(rowRenderIndex)" ng-class="{'ui-grid-row-selected': row.isSelected}" style=""> <div role="row" ui-grid-row="row" row-render-index="rowRenderIndex" class="ng-isolate-scope"> <div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid" ui-grid-one-bind-id-grid="rowRenderIndex + '-' + col.uid + '-cell'" class="ui-grid-cell ng-scope ui-grid-disable-selection ui-grid-coluiGrid-0009" ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader }" role="gridcell" ui-grid-cell="" id="1634105595764-0-uiGrid-0009-cell"> <div class="ui-grid-cell-contents ng-binding ng-scope">Saved</div></div>Pero no puedo obtener la posición del elemento. Por favor, ayúdenme a obtener el elemento web del tercer texto de la etiqueta div.
Usé el código anterior pero Cypress arroja un error
cy.get(div).contains('Saved')Se esperaba encontrar el elemento: #31 634108833080-0-uiGrid-0009-cell > .ui-grid-cell-contents, pero nunca lo encontró.
En el ejemplo de código que proporcionó, ¿ div es alguna variable o qué?
Si tomo su fragmento de html, lo cargo con cypress y llamo a cy.get('div').contains('Saved').should('exist') la prueba es exitosa.
Puede usar directamente contiene y luego verificar si el texto existe o está visible.
cy.contains('.ui-grid-cell-contents', 'Saved').should('exist') cy.contains('.ui-grid-cell-contents', 'Saved').should('be.visible')Está buscando la identificación al final de la tercera división, que tiene esta expresión
id="1634105595764-0-uiGrid-0009-cell"pero el mensaje de error tiene un 3 delante Se esperaba encontrar el elemento: #31 634108833080-0-uiGrid-0009-cell .
Entonces, ¿agregó 3 en el frente del selector para obtener el tercer elemento?
tal vez quieras
cy.get('div[role="gridcell"]') // will give all cells .eq(2) // pick the 3rd cell (indexes start at 0) .contains('Saved')o
cy.get('div[role="gridcell"]') // will give all cells .eq(2) // pick the 3rd cell (indexes start at 0) .find('.ui-grid-cell-contents') .contains('Saved') Estos le dan el div más interno. Si desea el div gridcell en su lugar, agregue .parent() .