00:00 / 00:00
Ejecutando diferentes pruebas en varias URLs
Normalmente en este tipo de pruebas, se suelen comprobar varias URLs de la aplicación para ver como se comporta diferentes puntos de ella.
¿Cómo podríamos ejecutar las pruebas en varias URLs al mismo tiempo?
Manos a la obra
Para ello, Github Actions ofrece una configuración para poder ejecutar el mismo job sustituyendo variables por los diferentes valores que le indiquemos:
./.github/workflows/load-test.workflow.yml
name: Pruebas de carga
on:
workflow_dispatch:
jobs:
load-test:
runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ url:
+ - https://www.basefactor.com/
+ - https://www.basefactor.com/blog
steps:
- name: Clonar repositorio
uses: actions/checkout@v2
- name: Ejecutar pruebas de carga
uses: ./load-test-action
with:
- url: https://www.basefactor.com/
+ url: ${{matrix.url}}
number-of-requests: 10
concurrency: 2
Además, también podríamos alimentar diferentes valores de los parámetros de
number-of-requests
y concurrency
cuando ejecutemos el flujo de trabajo:
./.github/workflows/load-test.workflow.yml
name: Pruebas de carga
on:
workflow_dispatch:
+ inputs:
+ number-of-requests:
+ description: 'Número de peticiones en total'
+ required: false
+ default: '1000'
+ concurrency:
+ description: 'Número de peticiones concurrentes'
+ required: false
+ default: '50'
jobs:
load-test:
runs-on: ubuntu-latest
strategy:
matrix:
url:
- https://www.lemoncode.tv/
- https://www.lemoncode.tv/curso/graficas-con-d3js
steps:
- name: Clonar repositorio
uses: actions/checkout@v2
- name: Ejecutar pruebas de carga
uses: ./load-test-action
with:
url: ${{matrix.url}}
- number-of-requests: 10
+ number-of-requests: ${{github.event.inputs.number-of-requests}}
- concurrency: 2
+ concurrency: ${{github.event.inputs.concurrency}}
Subimos los cambios al repositorio:
git add .
git commit -m "pruebas con multiples urls"
git push
Y por último, volvemos a ejecutar el flujo, con los valores que queramos.
Esta acción la hemos estado ejecutando de manera local a éste proyecto. Como punto final, se podría publicar en el Marketplace de Github donde la comunidad y el propio equipo de Github publican todas las acciones disponibles y se podría utilizar de la misma manera que hemos usado la acción checkout anteriormente.
Para más información podéis consultarla en el siguiente enlace.
¿Te gusta el mundo Devops?
En Lemoncode impartimos un Bootcamp Devops Online, en él encontrarás todos los recursos necesarios: clases de los mejores profesionales del sector, tutorías en cuanto las necesites y ejercicios para desarrollar lo aprendido en los distintos módulos. Si quieres saber más puedes pinchar aquí para más información sobre este Bootcamp Devops.