¿Cómo utilizar la clase Select y la clase Action en Selenium con Python en el marco de POM?
Disculpa de antemano si esta pregunta ya ha sido realizada antes. Pero estoy tratando de entender si mi implementación de la clase select es precisa.
Estoy utilizando POM para mis pruebas y tengo una clase llamada HomePage() y a continuación se muestra el código:
class HomePage():
def __init__(self, driver)
self.driver = driver
self.id_que_estoy_usando = 'navDropDown1' # este id es para el menú desplegable
self.path_de_link_text = 'Texto del enlace'
# Creé una función para hacer clic en el menú desplegable y esta es la acción que realiza
def click_en_el_menu_desplegable(self):
self.driver.find_element(value=self.id_que_estoy_usando).click()
# Trato de crear una función para la clase select
def select_class(self, select, driver):
select = Select()
self.driver.find_element(value=self.id_que_estoy_usando).click()
select.select_by_index(1)
# Este es el error que estoy recibiendo
TypeError: selec_class() está perdiendo 2 argumentos posicionales requeridos: 'select' y 'driver'
Aquí es donde estoy tratando de llamar a mi clase select:
def test_login_valid(self):
driver = self.driver
driver.get("https:www.google.com")
home_page = HomePage(driver)
home_page.click_en_el_menu_desplegable()
home_page.select_class()
davy.ai
Parece que faltan dos argumentos cuando se llama a
select_class()
en tu métodotest_login_valid()
. El métodoselect_class()
requiere dos argumentos:select
ydriver
, los cuales no estás proporcionando. Puedes proporcionar estos dos argumentos cuando llamás aselect_class()
o modificar la firma del método para quitar los argumentos.