¿Cuál es el significado de las líneas 3,16,17,18 y 19 que están resaltadas con *. ¿Alguien puede explicar lo que hacen? Soy nuevo en python y en la progtwigción.
import unittest from selenium import webdriver **class Iframe(unittest.TestCase):** def setUp(self): self.driver = webdriver.Firefox() def test_Iframe(self): driver = self.driver driver.maximize_window() driver.get('http://www.toolsqa.com/iframe-practice-page/') iframe1 = driver.find_element_by_id('IF1') driver.switch_to.frame(iframe1) driver.find_element_by_name('email').send_keys('xyz') driver.switch_to.default_content() list = driver.find_elements_by_tag_name('iframe') print(len(list)) **def tearDown(self): self.driver.quit()** **if __name__ == '__main__': unittest.main()**
Como has elegido para usar la prueba de unidad de Python, aquí está la información relevante:
import unittest
: debe importar el módulo de prueba de unidad requerido como una medida obligatoria. class Iframe(unittest.TestCase):
:: la clase testcase se hereda de unittest.TestCase . Heredarse de la clase TestCase es la manera de decirle al módulo de prueba de unidad que se trata de un caso de prueba. def setUp(self):
el setUp es la parte de la inicialización y este método se llamará antes de cada función de prueba que escribirá en esta clase de caso de prueba. def test_Iframe(self):
:: este es el método real de testcase . El método testcase siempre debe comenzar con la prueba de caracteres. def tearDown(self):
:: el método tearDown se llamará después de cada método de prueba. Este es el método para hacer todas las acciones de limpieza. if __name__ == '__main__':
Esta línea establece la variable __name__
para que tenga un valor "__main__"
. Si este archivo se está importando de otro módulo, __name__
se establecerá en el nombre del otro módulo. Encontrará una discusión detallada en ¿Qué hace si nombre == “ principal ”: hacer? unittest.main()
: Invoca las funciones de prueba del módulo configurado. Nota A : Para obtener más detalles, consulte Uso de Selenium para escribir pruebas y Ver el ejemplo.
Nota B : Consulte el __name__ de un módulo para obtener detalles completos.
El primer argumento de cada método de clase, incluido init
es siempre una referencia a la instancia actual de la clase . Por convención, este argumento siempre se llama self. En el método init
, self se refiere al objeto recién creado, mientras que en otros métodos de clase, se refiere a la instancia cuyo método fue llamado.
La auto variable en python explicada
Solo tres líneas en este código están resaltadas con un *, pero esto es lo que significan:
class Iframe(unittest.TestCase):
Esto es declarar la clase para las funciones ( test_Iframe y tearDown ) que siguen. Una clase se utiliza para crear “objetos” en la progtwigción orientada a objetos . Piense en la clase como la abstracción de datos / procedimientos, mientras que el objeto es la instancia particular de la clase.
def tearDown(self): self.driver.quit()
Esta sección primero declara una función con la palabra clave def
, y la función sale del controlador, que se estableció como:
driver = self.driver driver.maximize_window() driver.get('http://www.toolsqa.com/iframe-practice-page/')
en la función test_Iframe()
if __name__ == '__main__': unittest.main()
Esta sección simplemente ejecuta la función principal del progtwig. Más detalles sobre esto se pueden encontrar aquí .
Déjame saber si tienes más preguntas!