official descargar chrome testing selenium testng ui-automation qa

descargar - selenium testing



Selenium Web Test Automation Framework Buenas prácticas (5)

Me gustaría conocer sus comentarios sobre las mejores prácticas para desarrollar un marco de automatización de pruebas web.

  1. Básicamente, leí un par de blogs y finalmente me convencí con el enfoque de David Burns que figura en el libro: "Selenium 1.0 Testing Tools: Beginner''s Guide" en el capítulo 7 .

  2. Mantener todos los métodos, los verificadores de una página en particular en un archivo de clase separado lo hace refinado, mantenible.

  3. Me gustaría conocer las ventajas de diseñar un marco de automatización utilizando patrones de diseño. No estoy completamente convencido de cuál es el mejor enfoque. Por favor agregue sus sugerencias. Podría ser cada enfoque, podemos enumerar los pros y contras de él

  4. ¿Sería bueno si almacenamos todos los pasos en una tabla de base de datos, buscamos y ejecutamos los pasos? En este caso, si falla alguna de las pruebas, esto se habría actualizado en las tablas y solo podemos ejecutar selectivamente las pruebas fallidas.

  5. Además, la generación de informes se puede hacer consultando de forma selectiva las tablas y los datos se pueden limpiar desde esas tablas a través de un trabajo. Mantener los resultados / analizar los resultados de los archivos de salida de prueba también está bien.

  6. Si esta pregunta ya está respondida en publicaciones relacionadas, publique enlaces. Revisé algunas publicaciones antes de publicar esta pregunta.

  7. En un sitio web, la interacción del usuario con el sitio web se basa en eventos. La forma en que el usuario puede interactuar con el sitio puede ser una combinación múltiple de A-> B-> C o A-> C-> B. Hacer toda la combinación posible proporciona la máxima cobertura. Automatización de pruebas basada en modelos que cubre todos los estados posibles

  8. La suite de automatización que simula la regresión funcional para todos los estados posibles simularía todos los escenarios del usuario

  9. Por favor, comparta sus mejores prácticas / sugerencias para las preguntas anteriores. Para todos los proveedores de datos de implementación anteriores, podemos transferir datos en XML con respecto a la gestión de datos de prueba.

  10. Qué enfoque de diseño debemos tener en cuenta para desarrollar el conjunto de automatización de pruebas basado en modelos.

  11. ¿Alguien ha intentado usar framework http://www.w3qa.eu/framework.html . Cualquier comentario / comentario sobre el mismo por favor proporcione


Amigos míos, si están realizando pruebas de automatización, asegúrese de hacer lo siguiente:

  1. Escriba el caso de prueba claramente.
  2. Asegúrese de tener experiencia en JUnit.
  3. Asegúrese de conocer los requisitos de Negocio / Función de su proyecto y entorno de prueba.

Gracias.


David Burns es un tipo inteligente. Su libro es un buen punto de partida para cualquier persona que quiera aprender los principios básicos del Selenio y la automatización de pruebas. Por supuesto, tome su consejo (y el mío y el de los demás) con un grano de sal. Hay muchos expertos y muchas opiniones opuestas. Tendrás que descubrir qué funciona mejor para ti.

Sí. Definitivamente es una buena idea "mantener todos los métodos, los verificadores de una página en particular en una clase separada". Podría reformular eso como "acción e intención de separación" o "programación en el lenguaje del dominio". De cualquier manera, quiere evitar escribir pruebas en Selenese de bajo nivel. Una forma de hacerlo es mediante el uso del patrón de diseño de prueba de objeto de página . Muchos de los colaboradores de Selenium y otros expertos en selenio defienden el uso de objetos de página. Es una buena manera de hacer que el código de prueba sea más robusto, legible y reutilizable.

Conocer otros patrones de diseño también es útil y usarlos en el marco de prueba es probablemente una buena idea. Lamentablemente, no hay un solo ''mejor'' enfoque. Probablemente tendrá que usar múltiples patrones y una combinación de enfoques para lograr un buen código de prueba. Recomendaría empezar poco a poco, escribir algunas pruebas, notar el código de olores y volver a factorizar. Su marco de prueba crecerá. No tiene que diseñarlo todo por adelantado. Sé ágil. Use un enfoque iterativo e incremental. (No use el Selenium IDE)

youtube - Simon Stewart habla sobre patrones de prueba automatizados y selenio

En lugar de poner sus pasos de prueba en una tabla de base de datos, probablemente sea mejor usar una herramienta de prueba como Junit o TestNG para organizar sus pruebas. TestNG tiene funcionalidad incorporada para volver a ejecutar selectivamente las pruebas fallidas. También tiene muy buenas capacidades de informes. No reinventes la rueda aquí. Aprenda un marco de prueba como TestNG o Junit.

youtube TestNG

Oh, amigo ... No puedo publicar más de dos enlaces ahora ... Bueno ... Recomiendo buscar videos de GTAC en youtube, videos de salsa en viddler, blog de Simon Stewart, la documentación de TestNG, ejemplos de objetos de página y un documento de Brett Pettichord titulado Seven Steps for Automation Success.

¡Buena suerte!


He escrito marcos de prueba de código en cinco aplicaciones diferentes (WinRunner, LoadRunner, QuickTest Professional, TestComplete, Selenium WebDriver) y he encontrado varias cosas que me han funcionado:

  1. Si un conjunto de pruebas pretende ser rápido y malo, no necesita un marco. Mis primeras pruebas fueron en gran medida sin marco.
  2. Cuando entra en una aplicación más complicada, los repositorios de objetos (para aplicaciones GUI) y los Objetos de página (para Selenium WebDriver) hacen que el trabajo sea más efectivo.
  3. Tiendo a dedicar mi tiempo a trabajar en herramientas para ayudar en el proceso de prueba y suavizar los bordes de la herramienta.

Uso TestNG, WebDriver y Spring para construir mi marco de prueba actual. Estoy sacando segmentos de este marco en su propio conjunto de bibliotecas OSS para que otros puedan volver a utilizarlas. Ahora mismo puedo inyectar tipos de elementos personalizados, y tengo algunos tipos base agregados para hacer el trabajo. Es realmente difícil, y no es un marco que está solo; tienes que integrarlo en tu propio marco, pero intento mantener las dependencias al mínimo.


Oye.
Si realmente desea separar la lógica, al final desea construir un marco de automatización de prueba para su aplicación, y luego escribir pruebas de unidad que usarán esta nueva API, en lugar de simplemente escribir pruebas de unidades. La mayoría de los programadores pueden decir que ya no son pruebas unitarias ... y tal vez no. Pero eso no es importante. Todavía puedes hacerlo bien. A continuación hay enlaces, que deberían ayudarte a avanzar. Aunque hablan sobre la creación de pruebas funcionales que operan en una aplicación completa (nivel gui), creo que el mismo enfoque que puede aplicar para lograr su objetivo. En resumen, presenta cómo escribir pruebas de 3 capas, por lo que tendrá la separación de la lógica de la implementación.


http://mestachs.wordpress.com/2012/08/13/selenium-best-practices/

  • Usar el patrón de PageObjects
  • Habla con fluidez
    • devuelve esto, varargs, genéricos,
    • reutiliza tu modelo y jodatime
  • Ser robusto y portátil
    • Orden de selector preferida: id> nombre> css> xpath
    • Avoid Thread. Sleep prefiera Wait o FluentWait
    • Usa URLs relativas
    • No confíe en la implementación específica del controlador
    • Crea tu conjunto de datos
  • Conoce tu nueva herramienta
    • Mantenerse actualizado (versiones y patrones de uso)
    • Solución de problemas
      • jre 1.6
      • IE (zoom, configuración del modo protegido)
      • Página de inicio de Firefox / firebug
    • Cómo lidiar con los componentes de UI como ... fileupload, datepicker, ajaxtables, ...
    • Detecta cuando el selenio no es la buena herramienta para el trabajo
    • No tengas miedo de hackear el selenio