Pregunta

Debo admitir que me enamoré de Selenium por su función de grabación y reproducción, así como por la función de generación de casos de prueba para esas acciones grabadas desde el IDE. Pero todavía dudo en avanzar a la etapa de implementación debido a los detalles incidentales (por ejemplo, la ubicación de los eventos con DOM, xpath..etc) que están integrados en el caso de prueba durante la grabación, lo que podría hacer el caso de prueba es propenso a fallar cada vez que hay un cambio de html una vez que se importa al RC. Entiendo completamente que es parte del trabajo de los probadores ajustar los resultados esperados de vez en cuando como parte de la prueba de regresión, pero tampoco deseo que el tiempo dedicado a esto sea mayor que el tiempo que lleva hacer la prueba manual .

Hasta donde yo sé, Selenium with Robot framework tiene la forma de palabras clave de casos de prueba. Supongo que nos permite extraer los detalles incidentales en varias palabras clave, lo que podría hacer que los casos de prueba se ajusten más fácilmente y sean más fáciles de mantener. (Corríjame si me equivoco)

Se agradecerá escuchar sugerencias sobre cómo se debe configurar un entorno de automatización de la interfaz de usuario eficaz. ¿Debería usar Selenium RC o Selenium con el marco de Robot? ¿Y por qué?

Gracias de antemano

¿Fue útil?

Solución

Tiene toda la razón en que los detalles incidentales y que a menudo cambian en los guiones producidos son el mayor problema de la automatización de grabación y reproducción. Obviamente, puede eliminar los detalles de los scripts después de la grabación, pero en mi opinión, es mejor crear bibliotecas reutilizables y scripts de código manualmente desde el principio.

Una buena alternativa para codificar scripts con lenguajes de programación "reales" es utilizar algún marco de automatización de nivel superior, como Robot Framework que mencionaste. Como especuló, las palabras clave reutilizables de Robot y también las variables facilitan la extracción de detalles de las pruebas. Los casos de prueba en demostración de SeleniumLibrary ilustran esto muy bien y la demostración también muestra cómo utilizar Selenium a través de Robot.

También preguntaste sobre Sikuli . Yo nunca lo he usado, pero seguro que parece interesante. Es posible que le interese este fantástico tutorial que explica cómo usarlo a través de Robot Framework.

Otros consejos

Nuestra empresa está utilizando Fitnesse, no Robot, para controlar el selenio, sin embargo, tenemos el mismo problema.Pasamos de hacer suposiciones sobre el DOM a acceder solo a los elementos por ID.Dado que esto es engorroso en Fitnesse, actualmente estamos trabajando para agregar un backend de Selenium a nuestro propio Framework (que anteriormente solo tenía backends para Java y Smalltalk).

Entonces, al requerir que los elementos con ciertos ID estén presentes en el DOM, por supuesto, romperemos nuestras pruebas si alguien elimina los elementos de la página;sin embargo, encontramos que este comportamiento es muy útil ya que hace cumplir el contrato de las pruebas realizadas con la implementación y es bueno que encontremos elementos faltantes tan pronto como alguien rompió la implementación.

Además, es una buena práctica mantener la automatización de la interfaz de usuario a fondo: solo pruebe lo que está presente en la página con Selenium y pruebe la lógica empresarial llamando directamente a las funciones subyacentes.

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