Basado en datos: DDT

Ddt es una biblioteca de terceros para Python y su instalación es muy sencilla:

Instalación de canalización ddt

Dirección del archivo oficial de Ddt: /'

self. controlador = controlador web. chrome()

self.driver.maximize_window()

self controlador . get(self . URL)

self controlador . /p>

@data(*testdata()) #Agregar * aquí dividirá los datos devueltos en tuplas.

@unpack

def test_login (self, nombre de usuario, contraseña, resultado):

''Prueba de inicio de sesión de correo electrónico'''

self.driver.find_element_by_id('nombre libre'). clear()

self controlador. buscar _ elemento _ por _ id ('nombre libre'). send_key(nombre de usuario)

self controlador buscar _ elemento _ por _ id ('contraseña libre'). clear()

self controlador. buscar _ elemento _ por _ id ('contraseña libre'). send_keys(contraseña)

self controlador buscar _ elemento _ por _ enlace _ texto ("iniciar sesión"). click()

error libre = self . buscar _ elemento _ por _ XPath '//div [@ clase = "error libre"] // span ''. texto

self . afirmar igual(error libre, resultado)

definir desmontaje(self):

self.driver.quit()

if _ _ nombre _ _ = ='_ _ main _ _':

unittest.main (verbosity=2)

Resultado:

Prueba _ iniciar sesión _ 1 _ _ _ _ _ _ _Ingrese su nombre de correo electrónico_ _ (_ _ principal _ _). MiCorreoIniciar sesión).

Pruebe el inicio de sesión por correo electrónico...Está bien

pruebe _ iniciar sesión _ 2 _ _ _ _ _ 123456 _ _ _Por favor, introduzca su nombre de correo electrónico_ _ (_ _ principal _ _ ). MiCorreoIniciar sesión).

Probar inicio de sesión de correo electrónico...OK

prueba _ iniciar sesión _ 3 _ _ 123456 _ _ _ _ _El nombre de correo electrónico que ingresaste no está en el formato correcto_ _(_ _ principal _ _). MiCorreoIniciar sesión).

Prueba el inicio de sesión por correo electrónico... Está bien

Cabe señalar que @data(*testdata()) agregará * aquí y dividirá los datos devueltos en tuplas; de lo contrario, descomprimir no se puede descomponer. los datos e informará un error, como se muestra a continuación:

def testdata():

return (('', '', 'Ingrese un nombre de correo electrónico' ), ( '','',123456','Ingrese un nombre de correo electrónico'),

('123456','','El nombre de correo electrónico que ingresó no tiene el formato correcto'))

print(*testdata())#Triple

print(testdata())#Tuple

Resultado:

( """" ,"Ingrese un nombre de correo electrónico")("","123456","Ingrese un nombre de correo electrónico")("123456","","El nombre de correo electrónico que ingresó no tiene el formato correcto") ("" ,",",")

El autor creó un grupo de comunicación de prueba. Si está interesado en pruebas de software, pruebas de interfaces, pruebas automatizadas e intercambio de experiencias de entrevistas, puede agregar el grupo de intercambio de pruebas: 829792258, donde habrá intercambios técnicos con pares.