div attribute javascript angularjs protractor angularjs-e2e

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.