selenium framework creation
En el último tutorial, lo familiarizamos con el conceptos básicos de marcos de automatización de pruebas , sus componentes y tipos. Los marcos ilustrados en el tutorial anterior fueron algunos de los marcos más populares utilizados por la fraternidad de pruebas.
Discutimos brevemente los marcos basados en módulos, el marco basado en la arquitectura de bibliotecas, el marco impulsado por palabras clave, el marco impulsado por datos y el marco híbrido. Hay varios otros marcos también en el lugar.
Por favor, tome nota de que adoptaríamos Marco de automatización de pruebas basado en datos para el resto de nuestros tutoriales.
En la corriente tutorial en esta serie , le daremos a conocer un marco de muestra, el Excels que almacenaría los datos de prueba y sus manipulaciones de Excel . En la misma línea, avanzaríamos e introduciríamos nuevas estrategias y recursos para madurar nuestro marco.
Así que aprendamos:
- Estrategia de creación de marco utilizando un proyecto de muestra
- Acceda a los datos de prueba almacenados en la fuente de datos externa
Continuando, comenzaríamos con la descripción de la jerarquía del proyecto que estaríamos creando para segregar los diversos componentes del proyecto.
Consulte la imagen a continuación para ver la jerarquía de proyectos creada para el proyecto de muestra. El siguiente proyecto de Java se puede crear fácilmente dentro del eclipse de la forma en que hemos creado los proyectos en los tutoriales anteriores.
Lo que vas a aprender:
- Estructura de carpetas del proyecto Selenium: tutorial
- Creación de datos de Prueba
- Conclusión:
- Lectura recomendada
Estructura de carpetas del proyecto Selenium: tutorial
# 1) src - La carpeta contiene todos los scripts de prueba, genéricos, lectores y utilidades. Todos estos recursos no son más que simples clases de Java. Debajo de la carpeta de origen (src), hemos creado una jerarquía de carpetas.
una prueba - La carpeta de 'prueba' se compone principalmente de dos ingredientes: el conjunto de pruebas y las carpetas que representan los distintos módulos de la aplicación bajo prueba. Por tanto, cada una de estas carpetas contiene los scripts de prueba específicos del módulo al que está asociado. Testsuite es una combinación lógica de más de un guión de prueba. Por tanto, el usuario puede marcar una entrada de cualquiera de los scripts de prueba dentro del conjunto de pruebas que desee ejecutar en las ejecuciones posteriores.
preguntas y respuestas de la entrevista del centro de calidad de hp
b) utilidades - La carpeta 'utilidades' está constituida por varios genéricos, constantes, lectores y clases para implementar excepciones definidas por el usuario. Cada una de las carpetas de utilidades tiene su propio significado.
- Lector de Excel - Se ha creado una clase genérica y común para leer los datos de la prueba (parámetros de entrada y resultados esperados) de las hojas de Excel.
- Medio Ambiente Constantes - La carpeta es la integración de las clases java que almacenan las variables estáticas que hacen referencia a las rutas y otros detalles del entorno. Estos detalles pueden ser la URL de la aplicación, la URL de las bases de datos, las credenciales de las bases de datos y la URL de cualquier herramienta de terceros que se utilice. Las URL de aplicaciones dispares se pueden configurar para diferentes entornos (dev, prod, test, master, slave, etc.).
- DataSetters - La carpeta incorpora las clases que implementan los captadores y definidores de los datos de prueba obtenidos de Excels. Para cargar varios conjuntos de datos de prueba, creamos ArrayLists.
- Roles del usuario - La carpeta contiene las clases que se ocupan de los criterios de acceso basados en roles, si los hay, para los usuarios instintivos.
- FunctionLibrary - La carpeta está constituida por las clases que contienen funciones y métodos que se pueden compartir y usar entre las múltiples clases. Muy a menudo, se supone que debemos realizar ciertos procedimientos antes y después de la ejecución real de la prueba, como iniciar sesión en la aplicación, configurar entornos, actividades relacionadas con los rollos, manipulaciones de datos, escribir resultados, métodos que generan condiciones previas / posteriores a otros métodos. . Dado que tendemos a realizar estas actividades para todo o la mayor parte del guión de prueba. Por lo tanto, siempre se recomienda crear una clase separada para tales actividades en lugar de codificarlas repetidamente en cada uno de los scripts de prueba.
- Métodos precondicionales
- PostConditionalMethods
Muy a menudo, se supone que debemos realizar ciertos procedimientos antes y después de la ejecución real de la prueba, como iniciar sesión en la aplicación, configurar entornos, actividades relacionadas con los roles de usuario, manipulaciones de datos, escribir resultados, métodos que generan condiciones previas / posteriores a otros métodos. Dado que tendemos a realizar estas actividades para todo o la mayor parte del script de prueba, siempre se recomienda crear una clase separada para tales actividades en lugar de codificarlas repetidamente en cada uno de los scripts de prueba.
Métodos comunes
Al igual que las condiciones previas y posteriores, puede haber métodos y funciones que pueden ser utilizados por más de un script de prueba. Por tanto, estos métodos se agrupan en una clase. El script de prueba puede acceder a estos métodos utilizando el objeto de la clase común.
# 2) archivos de Excel - Los archivos de Excel se consideran la fuente de datos / proveedores de datos para la ejecución del script de prueba. Estos archivos almacenan los datos de prueba en pares clave-valor. Tenga en cuenta que creamos una hoja de Excel separada para cada uno de los scripts de prueba, es decir, cada script de prueba tiene su propio archivo de datos de prueba. El nombre del script de prueba y los archivos de datos de prueba correspondientes / hoja de Excel se han mantenido iguales para la perspectiva de la trazabilidad. Consulte el formato de datos de prueba de muestra a continuación:
Formato de datos de prueba
Cada una de las columnas representa una clave y cada una de las filas representa un valor / datos de prueba. Especifique las múltiples filas para ejecutar el mismo script de prueba con múltiples conjuntos de datos.
Marque que los formatos de datos de prueba son definidos únicamente por el usuario. Por lo tanto, en función de sus requisitos, puede personalizar los archivos de datos de prueba.
# 3) biblioteca - La carpeta actúa como un repositorio / artefacto para todos los archivos jar, bibliotecas, controladores, etc. necesarios para construir con éxito el entorno de prueba y ejecutar los scripts de prueba. Consulte la siguiente figura para ver las bibliotecas que utilizaríamos en nuestro proyecto.
# 4) registros - La carpeta contiene un archivo .txt que almacena la información de registro en cada ejecución.
# 5) material de prueba - La carpeta contiene los datos de prueba reales que deben cargarse, si corresponde. Esta carpeta entraría en escena cuando nos encontremos con escenarios de prueba en los que el usuario deba cargar archivos, documentos, imágenes, informes, etc.
c ++ número aleatorio entre 0 y 10
# 6) build.xml - El archivo xml es utilizado por el 'Ant Server' para automatizar todo el proceso de construcción.
# 7) log4j.xml - Este archivo xml es utilizado por una utilidad basada en Java llamada 'Log4j' para generar los registros de ejecución.
Nota : Estudiaríamos más sobre los registros, las excepciones definidas por el usuario y Ant en detalle en los próximos tutoriales. Así que no entre en pánico si se confunde entre las nociones.
Ahora, a medida que avanzamos, comprendamos el fenómeno en el que accedemos a los archivos de Excel y rellenamos los datos de prueba en nuestros scripts de prueba.
Para comprender el proceso más fácilmente, dividiríamos el proceso en los siguientes pasos.
Creación de datos de Prueba
Paso 1 : El primer paso y el más importante es crear los datos de prueba con los que estaríamos ejecutando los scripts de prueba. Teniendo en cuenta el formato de datos de prueba mencionado anteriormente, creemos un archivo de Excel llamado 'TestScript1'. Proporcione los valores en los elementos.
Paso 2 : El siguiente paso es descargar una API / biblioteca estándar basada en Java denominada “Biblioteca de Excel de Java” (jxl) para poder acceder a los métodos genéricos ya creados para la manipulación de Excel.
Paso 3 : Cree una clase de lector de Excel genérica llamada 'ExcelReader.java'. Copie el siguiente código en ExcelReader.java.
|_+_|Paso 4 : Cree una clase genérica: 'CommonMethods.java'. Cree un método común dentro de la clase que leería las celdas de la hoja de Excel utilizando los métodos implementados en ExcelReader.java.
|_+_|Paso 5 : Cree una nueva clase Java denominada 'TestData.java'. Esta clase actuaría como getter y setter para datos de Excel. Copie y pegue el siguiente código en la clase TestData.java.
|_+_|Paso 6 : El siguiente paso es crear instancias de clases java “TestData.java” y “CommonMethods.java” dentro del script de prueba para acceder y completar los datos de prueba. Consulte el siguiente fragmento de código para la inicialización del objeto, leer datos de Excel y completar los valores donde sea necesario.
|_+_|Por lo tanto, al usar la instancia de la clase testData.java junto con los captadores, cualquier valor de datos de prueba se puede completar dentro del script.
Conclusión:
El tutorial giraba principalmente en torno a nociones como la creación de marcos y el acceso a datos de prueba de los excels. Te familiarizamos con la estrategia de creación de Framework mediante un proyecto de muestra. Explicamos brevemente los diversos componentes y aspectos de nuestro marco.
Para acceder a los datos de prueba almacenados en la fuente de datos externa, usamos una API basada en Java - jxl. También creamos el código de muestra para leer y completar los datos de Excel en los scripts de prueba.
Siguiente tutorial n. ° 22 : En el siguiente tutorial, basaríamos nuestro tutorial en el conceptos de genéricos y su mecanismo de accesibilidad . Creamos algunos métodos genéricos de muestra y luego accedemos a ellos dentro de los scripts de prueba. También le presentaremos el concepto de Testsuite y el desarrollo de código de muestra.
Lectura recomendada
- Introducción a JUnit Framework y su uso en Selenium Script - Tutorial de Selenium n. ° 11
- Marco basado en datos en Selenium WebDriver con Apache POI
- Tutorial de Cucumber Selenium: Integración de Cucumber Java Selenium WebDriver
- Introducción a Selenium WebDriver - Tutorial de Selenium n. ° 8
- Tutoriales detallados de Eclipse para principiantes
- Cómo utilizar el marco de trabajo de TestNG para crear scripts de Selenium - Tutorial n. ° 12 de TestNG Selenium
- Scripts eficientes de Selenium y escenarios de resolución de problemas - Tutorial de Selenium n. ° 27
- Depuración de scripts de Selenium con registros (Tutorial de Log4j) - Tutorial de Selenium n. ° 26