¿Cómo ejecutar pruebas una por una utilizando Selenium y Python en una pestaña?
Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdownSoy bastante nuevo en las pruebas automatizadas, así que no me golpees demasiado fuerte.
Entonces tengo 2 archivos separados con 2 pruebas diferentes:
1. Inicio de sesión exitoso
2. Creación de una solicitud
Puedo ejecutar con éxito el caso de inicio de sesión, pero no puedo ejecutar el segundo, ya que requiere estar conectado. ¿Hay alguna manera de ejecutar el primero (Usuario inicia sesión) y ejecutar el siguiente en la misma ventana del navegador sin cerrar esta ventana, para que la siguiente prueba sea como una continuación de la anterior?
Entonces, aquí hay una prueba para iniciar sesión
from selenium import webdriver
from pages.base_element import BaseElement
from pages.login_page import LoginPage
# Configuración de la prueba
browser = webdriver.Chrome()
currentURL = None
# Inicio de sesión exitoso
log_page = LoginPage(driver=browser)
log_page.go() <-------------------------------------------Va a la página de inicio de sesión
log_page.user_name_field.input_text('mail@gmail.com')
log_page.password_field.input_text('Pass123')
log_page.login_button.click()
Y aquí está para crear una solicitud
from selenium import webdriver
from pages.base_element import BaseElement
from pages.med_page import LoginPage
from pages.med_page import MedPage
# Configuración de la prueba
browser = webdriver.Chrome()
currentURL = None
# Prueba
med_page = MedPage(driver=browser)
med_page.go() <----------------- Debe redirigir a la página de solicitud, pero se redirige al inicio de sesión ya que es una nueva sesión del navegador, por lo que el usuario no ha iniciado sesión
davy.ai
Sí, puedes lograr esto utilizando la misma sesión del navegador y las cookies para ambos tests. Puedes modificar tu código de la siguiente manera:
Usa esta instancia global del navegador para ejecutar el primer test (Inicio de sesión exitoso). Después de que el inicio de sesión sea exitoso, el usuario será redirigido a la página del panel de control.
En el mismo test, guarda la URL actual de la página del panel de control en una variable global.
En el segundo test (Creación de una solicitud), usa la misma instancia global del navegador para navegar a la URL almacenada en la variable global (URL del panel de control). Esto asegurará que el usuario ya haya iniciado sesión.
Aquí tienes un fragmento de código actualizado que demuestra este enfoque:
Nota: Asegúrate de modificar las funciones de configuración y cierre para configurar y cerrar la instancia del navegador según sea necesario en tu framework de test.