javascript - attribute - (Transportador) ¿Comprobar si una entrada está deshabilitada al hacer clic?
time html (3)
Tengo dos campos de entrada, nombre de usuario y contraseña y un botón giratorio. Cuando hago clic en este botón giratorio, estos dos campos de entrada se deshabilitan y me redireccionan a otra página. Estoy escribiendo una prueba de extremo a extremo para verificar si estos campos de entrada están deshabilitados.
element(by.model(''username'')).sendKeys(''rabi'');
element(by.model(''password'')).sendKeys(''rabi'');
/* click on spin button */
spinBtn = element(by.className(''call-to-action''));
spinBtn.click();
/* check if input is disabled */
var loginInput = element(by.id(''login-username''));
expect(loginInput.isEnabled()).toBe(false);
El ejemplo anterior de
expect(loginInput.getAttribute(''disabled'')).toEqual(''disabled'');
No funcionará para comprobar si algo está habilitado.
Deberías usar
expect(loginInput.isEnabled()).toBe([true|false]);
para verificar con precisión si algo está habilitado / deshabilitado.
Si eso no te funciona, probablemente haya algo más en juego.
Puedes usar el método de obtener atributo:
expect(loginInput.getAttribute(''disabled'')).toEqual(''disabled'');
Quiero agregar que la respuesta de TaylorRose (la respuesta más votada) es muy buena y se lo agradezco.
// passes when the button does not have ''disabled'' attribute
expect($(''#saveChangesBtn'').isEnabled()).toBe(true);
Sin embargo, cuando intenté ejecutar esto recibí un error:
Error: TSError: ⨯ Unable to compile TypeScript e2e/specs/element.e2e-spec.ts:
Argument of type ''false'' is not assignable to parameter of type ''Expected<Promise<boolean>>''.
Existen múltiples soluciones para este problema y aquí hay dos de ellas:
1.Cast su espera para escribir ''cualquiera''
expect<any>($(''#saveChangesBtn'').isEnabled()).toBe(true);
2.Agregue @ types / jasminewd2 a su paquete json (y ejecute ''npm install'' por supuesto) (gracias a aktraore @ github )
"devDependencies": {
...,
"@types/jasminewd2": "2.0.6",
...
}
Y luego no hay más errores de mecanografía y resuelve este problema. La versión 2.0.6 de Ps es la última versión de esta publicación y la versión mágica podría ser diferente para su caso.
Así que esta es una adición a la respuesta más votada si alguien aquí tiene este problema.