frlp-utn-ingsoft / orderingg

Aplicación utilizada en la cursada 2018 de Ingenieria de Software. UTN-FRLP
4 stars 20 forks source link

consulta assert de selenium #52

Open SantiClausen opened 6 years ago

SantiClausen commented 6 years ago

mi consigna para selenium es verificar is al ingresar un producto con cantidad negativa. Logre escribir el codigo para poder hacer que selecciones un producto y escriba la cantidad negativa: image pero tengo un problema en el assert. ¿Cual debería usar para poder verificar is el botón guardar se inhabilita al escribir una cantidad negativa? Según veo al inspeccionar el código, el campo en donde se encuentra el botón guardado aparece un nuevo atributo llamado -disabled="disabled"- al ingresar algo erroneo. Lo que no se es como poder verificar si existe, ya que no existe dentro del id: image

ivanduva commented 6 years ago

Buenas Santi, debería funcionar con la función "is_enabled()" https://stackoverflow.com/questions/23498151/how-to-verify-if-a-button-is-enabled-and-disabled-in-webdriver-python

RodrigoJacznik commented 6 years ago

Ojo que estas testeando con la base de datos vacía y por lo tanto no tenes productos. No testees con el servidor de desarrollo corriendo. Los metodos find_* retornan una instancia de WebElement y tiene varios metodos. Para controlar que este habilitado podes usar is_enabled(). Te paso link con la documentacion de WebElement: http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.is_enabled

SantiClausen commented 6 years ago

utilize una condicion de assert para verificarlo, pero me dio un error: image no entiendo por que este assert no esta definido, mientras que los demás funcionan

SantiClausen commented 6 years ago

al intentar importar TestCase (que es lo que parece que necesita para correr assertFalse, me rompe el código durante el testeo, y no reconoce el select_product.select_by_visible_text("silla") como debiera

RodrigoJacznik commented 6 years ago

No tenes que importar nada. assertFalse es un método de la clase padre. Tenes que usar self.assertFalse

SantiClausen commented 6 years ago

ahora me funciono correctamente. Sin embargo, hay algo raro que he estado notado con el test de selerium, y el uso de la pagina orderingg: hay veces en el cual orderingg no permite valores negativos, y veces que si lo permite. No se si es algún error en el código, pero por ejemplo, durante el testeo del selerium, me salto el error de que el botón estaba no estaba inhabilitado. Esto va mas allá de lo que estaba intentado hacer, y es solo una observación que note con el comportamiento de orderingg