13.8 Agregando las colecciones de postman al pipeline

Para poder ejecutar las colecciones de postman con newman en Azure Devops vamos a crear un archivo .bat para agregarlo en el pipeline.

Crear un archivo .bat para correr las colecciones

En la carpeta Postman crea un archivo .bat por cada servidor al que deseas agregarle las pruebas de los serivicios. En este ejemplo agregaré la de AzureWin.

  1. Dentro del proyecto CaducaRest.IntegrationTest en la carpeta Postman crea un nuevo archivo con el nombre azure.test.bat

  2. Agrega lo siguiente:

newman run Categorias.postman_collection.json -e Login/Login.Azure.postman_environment.json -x --reporters junit Results\CategoriasJunit.xml
call newman run Login/Login.postman_collection.json -e Login/Login.Azure.postman_environment.json -d Login/login.data.csv -x -r junitfull --reporter-junitfull-export Results/junitReport3.xml 
call newman run Login/Login.postman_collection.json -e Login/Login.Azure.postman_environment.json -d Login/login.data.csv -x -r htmlextra --reporter-htmlextra-skipSensitiveData --reporter-htmlextra-showMarkdownLinks Results/report.html
call newman run Login/Login.postman_collection.json -e Login/Login.Azure.postman_environment.json -d Login/login.data.csv -x --reporters cli,junit --reporter-junit-export Results\junitReport.xml 

Con la opción -r creas los archivos requeridos por Junit el cual es utilizado en Azure Devops para generar el reporte de las pruebas. En este ejemplo agregué diferentes herramientas a Azure devops que se verán en la sección de Despliegue Continu con Azure DevOps y Azure

Configurar el pipeline

  1. Ve a la opción de pipelines y busca la opción Copy Files

2. Teclea lo siguiente y da clic en el botón Add

  • Source Folder: La ruta donde se encuentran las colecciones de postman. En este ejemplo: CaducaRest.IntegrationTest/postman

  • Contents: Deja la opción por defecto ** para que se copien todos los archivos.

  • Target Folder: La ruta donde se copiara la carpeta. En este ejemplo: $(Build.ArtifactStagingDirectory)/postman

3. La tarea debe estar después del publish del Code Coverage

- task: PublishCodeCoverageResults@1
  displayName: 'Publish code coverage report'
  inputs:
    codeCoverageTool: 'Cobertura'
    summaryFileLocation: '$(Build.SourcesDirectory)/**/coverage.cobertura.xml'

- task: CopyFiles@2
  displayName: Copy postman scripts
  inputs:
    SourceFolder: 'CaducaRest.IntegrationTest/postman'
    Contents: '**'
    TargetFolder: '$(Build.ArtifactStagingDirectory)/postman'

4. Al final agrega otra tarea para publicar la carpeta de postman como Artifact. Puedes ver la sección de Integración continua o copiar directamente en el archivo .yaml lo siguiente.

- task: PublishBuildArtifacts@1
  displayName: "Upload Artifacts postman"
  inputs:
        pathtoPublish: '$(Build.ArtifactStagingDirectory)/postman' 
        artifactName: 'postmanTesting' 

Para practicar puedes agregar colecciones para probar los servicios con odata, y graphQL y cambiar el nombre de la colección a regresssion para correr las pruebas a los diferentes tipos de servicios, por lo general hay una etapa de regresión antes del releasse para ejecutar todas las pruebas para comprobar que todo siga funcionando correctamente.

Last updated