es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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() 
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que faltan dos argumentos cuando se llama a select_class() en tu método test_login_valid(). El método select_class() requiere dos argumentos: select y driver, los cuales no estás proporcionando. Puedes proporcionar estos dos argumentos cuando llamás a select_class() o modificar la firma del método para quitar los argumentos.

Comments are closed.