0

How can I convert my merged mochawesome JSON report into a CSV/Excel file? The merged JSON report is approximately 300KB and was generated using the following commands in a GitHub Actions workflow:

Run Cypress E2E Tests

  - name: Cypress end-to-end tests
    uses: cypress-io/github-action@v2
    timeout-minutes: 20
    with:
      install: false
      wait-on: 'http://localhost:3000'
      wait-on-timeout: 320
      start: npm run serve
      browser: chrome
      headless: true
      parallel: true
      record: true
      group: 'UI - Chrome'
      tag: node-14.x,ui

  - name: report check
    if: always()
    run: |
     echo "listing root dir"
     ls ${{ github.workspace }}
     echo "listing cypress dir"
     cd ${{ github.workspace }}/cypress/results
     ls -R
              
  - name: Upload Cypress HTML Reports
    if: always()
    uses: actions/upload-artifact@v2
    with:
      name: cypress-reports${{ matrix.containers }}
      path: cypress/results
    

gen_report: needs: test if: always() runs-on: ubuntu-latest steps: - name: Install dependencies run: npm install mochawesome-merge mochawesome-report-generator - name: Create reports directory run: mkdir reports

  - name: Download cypress-reports1
    uses: actions/download-artifact@v2
    with:
        name: cypress-reports1
        path: reports/1
        
  - name: Download cypress-reports2
    uses: actions/download-artifact@v2
    with:
        name: cypress-reports2
        path: reports/2
        
  - name: Download cypress-reports3
    uses: actions/download-artifact@v2
    with:
        name: cypress-reports3
        path: reports/3
        
  - name: Download cypress-reports4
    uses: actions/download-artifact@v2
    with:
        name: cypress-reports4
        path: reports/4
        
  - name: Download cypress-reports5
    uses: actions/download-artifact@v2
    with:
        name: cypress-reports5
        path: reports/5
        
  - name: Download cypress-reports6
    uses: actions/download-artifact@v2
    with:
        name: cypress-reports6
        path: reports/6
        
  - name: Download cypress-reports7
    uses: actions/download-artifact@v2
    with:
        name: cypress-reports7
        path: reports/7
        
  - name: Move all reports into one directory
    run: |
      mkdir -p mochawesome-report
      i=0
      for file in $(find reports -type f -name mochawesome\*.json); do
        filename=$(basename "$file" .json)-"$i".json
        mv "$file" mochawesome-report/"$filename"
        ls mochawesome-report
        i=$((i + 1))
      done
      
  - name: Merge and generate reports
    run: |
      mkdir report
      npx mochawesome-merge > report/report.json
      jq '.results|=sort_by(.fullFile)' report/report.json > report/output.json
      npx marge --inline report/output.json -o report/
      
  - name: Upload report
    uses: actions/upload-artifact@v2
    with:
      name: E2E Test Reports
      path: report/

NPM PACKAGE:

"mochawesome": "^7.1.3", "mochawesome-merge": "^4.2.2", "mochawesome-report-generator": "^6.2.0",

CONFIGURATION IN cypress.json

"reporter": "mochawesome", "reporterOptions": { "reportDir": "cypress/results", "overwrite": false, "html": false, "json": true

0 Answers0