├── .dockerignore ├── .env.example ├── .github └── workflows │ └── build.yaml ├── .gitignore ├── .nvmrc ├── .prettierignore ├── .vscode └── settings.json ├── Dockerfile ├── Dockerfile.dev ├── README.md ├── components.json ├── docker-compose.dev.yaml ├── docker-compose.yaml ├── drizzle.config.ts ├── drizzle ├── 0000_lively_krista_starr.sql └── meta │ ├── 0000_snapshot.json │ └── _journal.json ├── eslint.config.mjs ├── media ├── editor.png ├── run.png └── suite.png ├── next.config.ts ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── prettier.config.cjs ├── public ├── file.svg ├── globe.svg ├── next.svg ├── vercel.svg └── window.svg ├── src ├── app │ ├── actions.ts │ ├── api │ │ ├── export │ │ │ └── [suiteId] │ │ │ │ └── route.ts │ │ └── inngest │ │ │ └── route.ts │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ ├── loader.ts │ ├── page.tsx │ ├── suite │ │ └── [suiteId] │ │ │ ├── actions.tsx │ │ │ ├── loader.ts │ │ │ ├── page.tsx │ │ │ ├── run │ │ │ └── [suiteRunId] │ │ │ │ ├── actions.ts │ │ │ │ ├── loader.ts │ │ │ │ └── page.tsx │ │ │ └── test │ │ │ └── [testId] │ │ │ ├── actions.ts │ │ │ ├── edit │ │ │ ├── actions.ts │ │ │ ├── loader.ts │ │ │ └── page.tsx │ │ │ ├── loader.ts │ │ │ ├── page.tsx │ │ │ └── run │ │ │ └── [testRunId] │ │ │ ├── loader.ts │ │ │ └── page.tsx │ └── types.ts ├── components │ ├── Polling.tsx │ ├── shared │ │ ├── PageHeader.tsx │ │ ├── RunStatusBadge.tsx │ │ ├── RunStatusIcon.tsx │ │ ├── SectionHeader.tsx │ │ └── utils.ts │ ├── suite │ │ ├── HistoryTab.tsx │ │ ├── SuiteDetails.tsx │ │ ├── TestsTab.tsx │ │ └── run │ │ │ └── SuiteRunDetails.tsx │ ├── test │ │ ├── TestDetails.tsx │ │ ├── TestEditor.tsx │ │ └── run │ │ │ └── TestRunDetails.tsx │ └── ui │ │ ├── badge.tsx │ │ ├── button.tsx │ │ ├── dialog.tsx │ │ ├── input.tsx │ │ ├── select.tsx │ │ ├── table.tsx │ │ ├── tabs.tsx │ │ └── textarea.tsx ├── hooks │ └── useMounted.tsx └── lib │ ├── api │ ├── client.ts │ └── v1.d.ts │ ├── db │ ├── db.ts │ └── schema.ts │ ├── inngest │ ├── client.ts │ ├── crons.ts │ └── functions.tsx │ ├── resend │ ├── client.ts │ └── emails │ │ ├── SuiteFailedEmail.tsx │ │ └── SuiteNotificationsSetupEmail.tsx │ ├── testing │ ├── engine.ts │ └── mock.ts │ ├── types.ts │ └── utils.ts ├── static └── qa-use-banner.png └── tsconfig.json /.dockerignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /data -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/build.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/.github/workflows/build.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/.gitignore -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v23.10.0 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | src/components/ui/**/* -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/Dockerfile -------------------------------------------------------------------------------- /Dockerfile.dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/Dockerfile.dev -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/README.md -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/components.json -------------------------------------------------------------------------------- /docker-compose.dev.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/docker-compose.dev.yaml -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/drizzle.config.ts -------------------------------------------------------------------------------- /drizzle/0000_lively_krista_starr.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/drizzle/0000_lively_krista_starr.sql -------------------------------------------------------------------------------- /drizzle/meta/0000_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/drizzle/meta/0000_snapshot.json -------------------------------------------------------------------------------- /drizzle/meta/_journal.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/drizzle/meta/_journal.json -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /media/editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/media/editor.png -------------------------------------------------------------------------------- /media/run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/media/run.png -------------------------------------------------------------------------------- /media/suite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/media/suite.png -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/next.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /prettier.config.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/prettier.config.cjs -------------------------------------------------------------------------------- /public/file.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/public/file.svg -------------------------------------------------------------------------------- /public/globe.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/public/globe.svg -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/public/next.svg -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /public/window.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/public/window.svg -------------------------------------------------------------------------------- /src/app/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/actions.ts -------------------------------------------------------------------------------- /src/app/api/export/[suiteId]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/api/export/[suiteId]/route.ts -------------------------------------------------------------------------------- /src/app/api/inngest/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/api/inngest/route.ts -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/globals.css -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/layout.tsx -------------------------------------------------------------------------------- /src/app/loader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/loader.ts -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/page.tsx -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/actions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/actions.tsx -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/loader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/loader.ts -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/page.tsx -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/run/[suiteRunId]/actions.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/run/[suiteRunId]/loader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/run/[suiteRunId]/loader.ts -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/run/[suiteRunId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/run/[suiteRunId]/page.tsx -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/test/[testId]/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/test/[testId]/actions.ts -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/test/[testId]/edit/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/test/[testId]/edit/actions.ts -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/test/[testId]/edit/loader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/test/[testId]/edit/loader.ts -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/test/[testId]/edit/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/test/[testId]/edit/page.tsx -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/test/[testId]/loader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/test/[testId]/loader.ts -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/test/[testId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/test/[testId]/page.tsx -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/test/[testId]/run/[testRunId]/loader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/test/[testId]/run/[testRunId]/loader.ts -------------------------------------------------------------------------------- /src/app/suite/[suiteId]/test/[testId]/run/[testRunId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/suite/[suiteId]/test/[testId]/run/[testRunId]/page.tsx -------------------------------------------------------------------------------- /src/app/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/app/types.ts -------------------------------------------------------------------------------- /src/components/Polling.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/Polling.tsx -------------------------------------------------------------------------------- /src/components/shared/PageHeader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/shared/PageHeader.tsx -------------------------------------------------------------------------------- /src/components/shared/RunStatusBadge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/shared/RunStatusBadge.tsx -------------------------------------------------------------------------------- /src/components/shared/RunStatusIcon.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/shared/RunStatusIcon.tsx -------------------------------------------------------------------------------- /src/components/shared/SectionHeader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/shared/SectionHeader.tsx -------------------------------------------------------------------------------- /src/components/shared/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/shared/utils.ts -------------------------------------------------------------------------------- /src/components/suite/HistoryTab.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/suite/HistoryTab.tsx -------------------------------------------------------------------------------- /src/components/suite/SuiteDetails.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/suite/SuiteDetails.tsx -------------------------------------------------------------------------------- /src/components/suite/TestsTab.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/suite/TestsTab.tsx -------------------------------------------------------------------------------- /src/components/suite/run/SuiteRunDetails.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/suite/run/SuiteRunDetails.tsx -------------------------------------------------------------------------------- /src/components/test/TestDetails.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/test/TestDetails.tsx -------------------------------------------------------------------------------- /src/components/test/TestEditor.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/test/TestEditor.tsx -------------------------------------------------------------------------------- /src/components/test/run/TestRunDetails.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/test/run/TestRunDetails.tsx -------------------------------------------------------------------------------- /src/components/ui/badge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/ui/badge.tsx -------------------------------------------------------------------------------- /src/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/ui/button.tsx -------------------------------------------------------------------------------- /src/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/ui/dialog.tsx -------------------------------------------------------------------------------- /src/components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/ui/input.tsx -------------------------------------------------------------------------------- /src/components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/ui/select.tsx -------------------------------------------------------------------------------- /src/components/ui/table.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/ui/table.tsx -------------------------------------------------------------------------------- /src/components/ui/tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/ui/tabs.tsx -------------------------------------------------------------------------------- /src/components/ui/textarea.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/components/ui/textarea.tsx -------------------------------------------------------------------------------- /src/hooks/useMounted.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/hooks/useMounted.tsx -------------------------------------------------------------------------------- /src/lib/api/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/api/client.ts -------------------------------------------------------------------------------- /src/lib/api/v1.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/api/v1.d.ts -------------------------------------------------------------------------------- /src/lib/db/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/db/db.ts -------------------------------------------------------------------------------- /src/lib/db/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/db/schema.ts -------------------------------------------------------------------------------- /src/lib/inngest/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/inngest/client.ts -------------------------------------------------------------------------------- /src/lib/inngest/crons.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/inngest/crons.ts -------------------------------------------------------------------------------- /src/lib/inngest/functions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/inngest/functions.tsx -------------------------------------------------------------------------------- /src/lib/resend/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/resend/client.ts -------------------------------------------------------------------------------- /src/lib/resend/emails/SuiteFailedEmail.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/resend/emails/SuiteFailedEmail.tsx -------------------------------------------------------------------------------- /src/lib/resend/emails/SuiteNotificationsSetupEmail.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/resend/emails/SuiteNotificationsSetupEmail.tsx -------------------------------------------------------------------------------- /src/lib/testing/engine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/testing/engine.ts -------------------------------------------------------------------------------- /src/lib/testing/mock.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/testing/mock.ts -------------------------------------------------------------------------------- /src/lib/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/types.ts -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/src/lib/utils.ts -------------------------------------------------------------------------------- /static/qa-use-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/static/qa-use-banner.png -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/browser-use/qa-use/HEAD/tsconfig.json --------------------------------------------------------------------------------