https://github.com/somospragma/qa-transversal-proyecto-base-manejo-base-de-datos-java
Este proyecto base proporciona una estructura inicial para el desarrollo de automatizaciones web en Java que involucran el manejo de bases de datos.
https://github.com/somospragma/qa-transversal-proyecto-base-manejo-base-de-datos-java
cucumber db java screenplay serenity sql
Last synced: 8 months ago
JSON representation
Este proyecto base proporciona una estructura inicial para el desarrollo de automatizaciones web en Java que involucran el manejo de bases de datos.
- Host: GitHub
- URL: https://github.com/somospragma/qa-transversal-proyecto-base-manejo-base-de-datos-java
- Owner: somospragma
- Created: 2024-05-23T17:30:03.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-27T14:32:50.000Z (over 1 year ago)
- Last Synced: 2025-02-11T11:38:26.230Z (8 months ago)
- Topics: cucumber, db, java, screenplay, serenity, sql
- Language: Java
- Homepage:
- Size: 3.23 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
Proyecto Base para el Manejo de Base de Datos en Java
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## Topicos
* Java
* Bases de datos
* SQL
* Cucumber
* Serenity
* Selenium## Tecnologias
### This project required:
- [JDK java] version 16
- [Serenity] version 4
- [Gradle] last versionNota:
* 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## Consideraciones
- 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## Descarga
Para clonar está aplicación desde la linea de comando:```bash
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](https://github.com/somospragma/qa-transversal-proyecto-base-manejo-base-de-datos-java)
## Instalación y ejecución
Para ejecutar está aplicación, necesitas [Gradle](https://gradle.org/install) and [Java JDK](https://www.oracle.com/java/technologies/downloads/) 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
```## 🛠️ Run tests Chrome gradle:
```
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### ejemplo
```
./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'
```## 🛠️ Run tests Firefox gradle:
```
./gradlew clean test -Dcontext=firefox '-Dwebdriver.driver=firefox'
./gradlew test --tests "runners.RunnerTags" '-Dcontext=firefox -Dwebdriver.driver=firefox'
```
### ejemplo
```
./gradlew clean test --info --stacktrace --tests "runners.RunnerTags" '-Dcontext=firefox -Dwebdriver.driver=firefox'
```## **Run tests in different environments:**
```
gradle command... -Denvironment=defaul
gradle command... -Denvironment=dev
gradle command... -Denvironment=qa
gradle command... -Denvironment=prod
```
### Note:
- The default environment will be used if no other value is provided
- Could modify the environment urls in .../test/resources/serenity.conf## **Run tests in different browser:**
```
gradle command... -Dwebdriver.driver=chrome
gradle command... -Dwebdriver.driver=firefox
gradle command... -Dwebdriver.driver=edge
```## Autores
| [
Mauro L. Ibarra P.](https://gitlab.com/mauro.ibarrap)
| [
Javier D. Duran](https://gitlab.com/javier.duran) |
:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|## Relacionados
- [proyecto-base-serenity-bdd-screenplay-browsers-and-utilities](https://github.com/somospragma/qa-web-proyecto-base-serenity-bdd-screenplay-browsers-and-utilities)
## Roadmap
- [Guia QA](https://github.com/amitmerchant1990/pomolectron) - (En construcción) Una guia de proyectos Orientados a la Calidad de Software