Pregunta

La xpath de mis elementos se está volviendo extremadamente difícil de leer.

// div [@ id = 'main_content'] / div [2] / div [2] / div [2] / div [4] / table / tbody / tr [2] / td / form / fieldset / p [1] / input

Sería bueno si pudiera almacenar la mayor parte de eso como una variable y usarlo más adelante de esta manera:

| assertElementPresent | $ {myForm}. / fieldset / p [1] / input |

¿Es algo como esto posible? ¡Haría mis exámenes mucho más fáciles de leer!

¿Fue útil?

Solución

Usted realmente debería anclar sus expresiones de selenio en ID de elementos en su lugar. En 2 meses, nadie tendrá la menor idea de lo que apunta xpath, especialmente si se rompe la prueba en el momento en que necesita averiguarlo. Rutinariamente añadimos id's a element solo para facilitar las pruebas. Hemos aprendido a aceptar que escribimos el código Java de una manera especial para que sea verificable, y creo que también está bien para HTML.

Otros consejos

Puedes escribir:

store | //div[@id='main_content']/div[2]/div[2]/div[2]/div[4]/table/tbody/tr[2]/td/form | myForm
assertElementPresent | xpath=${myForm}/fieldset/p[1]/input

Sin embargo, como dijo Krosenvold, las rutas largas pueden ser bastante frágiles. Si le preocupa la legibilidad de su código y desea que todos sus localizadores estén en un archivo donde pueda realizar cambios en cascada, es posible que desee considerar el uso de un mapa UI-Element.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top