repo_description: Opensource IDE For Exploring and Testing API's (lightweight alternative to Postman/Insomnia)
repo_topics: api-client api-testing automation developer-tools git graphql-client http-client javascript openapi openapi3 opensource rest-api testing testing-tools
code: import { defineConfig } from '@playwright/test';
  
  const reporter: any[] = [['list'], ['html'], ['json', { outputFile: 'playwright-report/results.json' }]];
  
  if (process.env.CI) {
    reporter.push(['github']);
  }
  
  export default defineConfig({
    fullyParallel: false,
    forbidOnly: !!process.env.CI,
    retries: process.env.CI ? 2 : 0,
    workers: process.env.CI ? undefined : 1,
    reporter,
  
    use: {
      trace: process.env.CI ? 'on-first-retry' : 'on'
    },
  
    projects: [
      {
        name: 'default',
        testDir: './tests',
        testIgnore: [
          'ssl/**', // custom CA certificate tests require separate server setup and certificate generation
          'auth/**' // auth tests have their own project
        ]
      },
      {
        name: 'auth',
        testDir: './tests/auth'
      },
      {
        name: 'ssl',
        testDir: './tests/ssl'
      }
    ],
  
    webServer: [
      {
        command: 'npm run dev:web',
        url: 'http://localhost:3000',
        reuseExistingServer: !process.env.CI,
        timeout: 10 * 60 * 1000
      },
      {
        command: 'npm start --workspace=packages/bruno-tests',
        url: 'http://localhost:8081/ping',
        reuseExistingServer: !process.env.CI,
        timeout: 10 * 60 * 1000
      }
    ]
  });
  