este es el codigo de mi elemento
<input type="text" class="nameOfClass" id="someid" name="somename" maxlength="255" placeholder="justholder" ng-model="model" tooltip-placement="top" tooltip-trigger="mouseenter" tooltip-animation="false" style="">como puede ver, no hay valor de atributo, pero puedo ver claramente que hay texto en ese campo de texto en la aplicación web que estoy tratando de automatizar.
Entonces mi problema es que no sé cómo obtener el valor del campo de texto. Probé el inspector de Google Chrome para encontrar dónde está el valor, pero sin suerte. En algún lugar leí que el almacenamiento en caché puede causar este problema, pero en la consola de red puedo ver los valores en la respuesta a la solicitud.
Gracias
Suponiendo que desea obtener el valor escrito en el campo de texto, puede obtenerlo invocando val .
cy.get('#someid') .invoke('val') .then((value) => { cy.log(value) //logs the value })Si desea aplicar alguna aserción sobre el valor, puede:
cy.get('#someid').should('have.value', 'your-value')Si se refiere a type="text" , ese no es el texto que escribe el usuario, es un atributo que le dice a la entrada qué valores permitir.
También puede tener type="number" , type="date" , type="color" , etc.
La verificación de que la entrada es de tipo "texto" se haría con esto,
cy.get('input#someid').should('have.attr', 'type', 'text')Verificar la propiedad de valor se haría así
cy.get('input#someid') .type('entering a value') // there's nothing in value yet .should('have.value', 'entering a value')