Proyecto base de Pragma.
Este proyecto base proporciona una estructura inicial para el desarrollo de automatizaciones web en Java que involucran el manejo de bases de datos. Incluye configuraciones básicas, como la conexión a la base de datos la cual es privada y esta sobre un motor de base de datos web, en caso de requerir mas info contacte al colaborador, tambien se trabajo con un esquema general para organizar y desarrollar las funcionalidades relacionadas con la base de datos de manera eficiente y estructurada. Utiliza las mejores prácticas y patrones de diseño para garantizar la escalabilidad, mantenibilidad y robustez del sistema. Este proyecto sirve como punto de partida para construir aplicaciones Java que requieren interacción con bases de datos de diversos tipos y tamaños.
Topicos • Tecnologias • Consideraciones • Descarga • Instalación y ejecución • Autores • Relacionados • Roadmap
- Java
- Bases de datos
- SQL
- Cucumber
- Serenity
- Selenium
- [JDK java] version 16
- [Serenity] version 4
- [Gradle] last version
Nota:
- Se requiere Selenium posterior a la version 4.11 para la descarga automatica de algunos drivers de los navegadores La version de Serenity implementada (4.0.0) ya incluye Selenium 4.12 lo cual soporta los navegadores a Octubre del 2023 si el proyecto presenta problemas relacionados a las version del driver descargado de forma automatica y la version de su navegador vale la pena revisar que este trabajando con versiones recientes de Serenity y checkear las versiones de Selenium incluidas en dicha version de Serenity
- Con Selenium Manager incluido en Serenity 4.0.0 ya no se requiere WebDriverManager de Boni Garcia, razon por la cual ya serenity no lo incluye dentro de sus dependencias
-
Para hacer uso de la la utilidad de Base de Datos es importante que se instacie una Base de datos y se configura en el archivo de configuración ubicado en:
./src/main/resources/configs/congig.properties En las dependencias del proyecto esta agregada la dependencia del driver de MySQL, si no desea realizar mayores ajustes respecto al motor de BD use MySQL. Si desea usar otro motor, adiciones la dependencia del driver al build.gradle y configure este driver como observa se realizo para MySQL en: ./src/main/java/utils/ConectionBD.java Nota: Algunos motores de BD no requieren agregar la dependencia del driver como Oracle o MSserver
Para clonar está aplicación desde la linea de comando:
git clone https://github.com/somospragma/qa-transversal-proyecto-base-manejo-base-de-datos-java
cd qa-transversal-proyecto-base-manejo-base-de-datos-java
git remote remove origin
git remote add origin URL_DE_TU_NUEVO_REPOSITORIO
git push -u origin master
Nota: Asegúrate de reemplazar URL_DE_TU_NUEVO_REPOSITORIO con la URL del repositorio que creaste en tu cuenta de GitHub.
Puedes descargar el proyecto en el enlace download
Para ejecutar está aplicación, necesitas Gradle and Java JDK instalados en tu equipo, ten en cuenta que tu IDE puede gestionar la instalación de estos dos requerimientos. Desde la linea de comando:
gradle clean build
gradle clean test -Dcontext=chrome -Dwebdriver.driver=chrome
gradle clean test --info --stacktrace --tests "ruta.nameRunner" -Dcontext=chrome -Dwebdriver.driver=chrome
gradle clean test -Dcucumber.options="--tags @someTag" -Dcontext=chrome -Dwebdriver.driver=chrome
gradle clean test -Dcucumber.options="--tags '@someTag or @someTag'" -Dcontext=chrome -Dwebdriver.driver=chrome
Nota:
- Si ejecuta en la consola de gradle no debe usar comillas simples '...' para encerrar '-Dwebdriver.driver=chrome'
- Si ejecuta en la consola estándar de la máquina quizás si deba utilizar '...' en las porciones del comando que incluyan puntos
- Con "./gradlew test ..." ejecuta el gradle compilado del proyecto
- Con "gradle test ..." ejecuta el gradle de su maquina, el configurado en las variables de entorno de su sistema operativo
./gradlew clean test --info --stacktrace --tests "co.com.pragma.runners.CompareImageRunner" -Dcontext=chrome '-Dwebdriver.driver=chrome'
./gradlew clean test --info --stacktrace --tests "co.com.pragma.runners.LoginRunner" -Dcontext=chrome '-Dwebdriver.driver=chrome'
./gradlew clean test -Dcontext=firefox '-Dwebdriver.driver=firefox'
./gradlew test --tests "runners.RunnerTags" '-Dcontext=firefox -Dwebdriver.driver=firefox'
./gradlew clean test --info --stacktrace --tests "runners.RunnerTags" '-Dcontext=firefox -Dwebdriver.driver=firefox'
gradle command... -Denvironment=defaul
gradle command... -Denvironment=dev
gradle command... -Denvironment=qa
gradle command... -Denvironment=prod
- The default environment will be used if no other value is provided
- Could modify the environment urls in .../test/resources/serenity.conf
gradle command... -Dwebdriver.driver=chrome
gradle command... -Dwebdriver.driver=firefox
gradle command... -Dwebdriver.driver=edge
Mauro L. Ibarra P. |
Javier D. Duran |
---|
- Guia QA - (En construcción) Una guia de proyectos Orientados a la Calidad de Software