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.

Appium+Robot Framework: el localizador de elementos resource-ID no funciona como variable. Funciona como variable xpath.

Estoy utilizando Robot Framework 4.1.1 y Appium-Python-Client 1.2.0 para ejecutar una prueba en una aplicación nativa de Android. Intenté usar el localizador Resource-ID (=welcome.pages.welcome.title) de diferentes maneras:

  1. ${Welcome_element} = welcome.pages.welcome.title
  2. ${Welcome_element} = id=welcome.pages.welcome.title
  3. ${Welcome_element} = id=”welcome.pages.welcome.title”
  4. ${Welcome_element} = //android.widget.TextView[@id=welcome.pages.welcome.title”]
  5. ${Welcome_element} = //android.widget.TextView[@resource-id=welcome.pages.welcome.title”]

Obtengo los siguientes resultados:

  1. El localizador de elementos ‘welcome.pages.welcome.title’ no coincidió con ningún elemento después de 30 segundos
  2. El localizador de elementos ‘id=welcome.pages.welcome.title’ no coincidió con ningún elemento después de 30 segundos
  3. El localizador de elementos ‘id=”welcome.pages.welcome.title”‘ no coincidió con ningún elemento después de 30 segundos
  4. El localizador de elementos ‘//android.widget.TextView[@id=welcome.pages.welcome.title”]’ no coincidió con ningún elemento después de 30 segundos
  5. La palabra clave funciona como se esperaba

Entonces, encontré una solución alternativa. Pero ¿cómo puedo usar solo el valor de ID en la variable? El primer caso no funciona y no entiendo por qué.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según los resultados que proporcionaste, parece que el localizador del ID de recurso “welcome.pages.welcome.title” no es un valor válido para el elemento que estás intentando localizar. Por eso las primeras tres opciones no funcionaron.

    La opción 4 también es incorrecta porque la sintaxis para usar el atributo ID en el localizador XPath es “@resource-id” en lugar de “@id”.

    La opción 5, que utiliza XPath con la sintaxis “@resource-id”, funcionó como se esperaba. Por lo tanto, puedes usar esta opción para localizar el elemento por su ID de recurso.

    Para usar solo el valor del ID en la variable, puedes intentar usar la siguiente sintaxis:

    ${Welcome_element} = id:welcome.pages.welcome.title
    

    Esto utiliza el prefijo “id” para especificar que estás utilizando el atributo ID para localizar el elemento.

    Si esta sintaxis aún no funciona, podría ser que el elemento que estás intentando localizar no tenga un ID de recurso o atributo ID. En este caso, es posible que debas intentar utilizar otras estrategias de localización como el nombre de clase, el ID de accesibilidad o el contenido de texto.

Comments are closed.