¿Cómo se compara el ancho y la altura del elemento con la function getSize () con la testing de protractor?

Buenos días queridos colegas. Tengo una pregunta sobre los methods de Selenio. En mi caso estoy probando la aplicación angular con protractor y quiero comparar el valor de getSize function getSize con los valores establecidos en la testing my. Aquí está el código a continuación:

 var searchForm = element(by.id('search')); it('searchForm must have width: 400px and height: 400px', function(){ //expect(browser.driver.manager().window().getSize()).toEqual(400, 400); searchForm.getSize(); searchForm.width.toEqual(400); searchForm.height.toEqual(400); }); 

por favor ayúdame a resolver problemas. Espero que me ayudes.

La getSize() transporter getSize() devuelve una promise con el object de dimensiones que contiene width, height, hcode and class del elemento especificado. Espere hasta que se devuelva la promise y luego resuelva la promise de get las dimensiones del elemento. Así es cómo –

  it('searchForm must have width: 400px and height: 400px', function(){ var searchForm = element(by.id('search')); searchForm.getSize().then(function(eleSize){ console.log('element size: '+eleSize); //eleSize is the element's size object expect(eleSize.width).toEqual(400); expect(eleSize.height).toEqual(400); }); }); 

Tampoco se recomienda escribir nada fuera de una especificación en automation con jasmine. Espero eso ayude.

Hay un método útil para todo tipo de attributes de elementos:

 var elemHeight = element.getAttribute('height') 

devuelve una promise para el atributo del elemento, por lo que puede usar

 elemHeight.then(function (height) {... 

o simplemente expect(elemHeight).toEqual(400); en tu caso