Install the vikingQA GitHub App on the repository that holds your Playwright tests. vikingQA reads the suite, runs it, and makes each change as a pull request. You merge it yourself, or you turn on automatic merge and vikingQA merges it for you. Your tests stay in your git.
Source & CI · Setup: three steps · Available on: Free, Team, Enterprise
import { test, expect } from '@playwright/test';
test('Guest checkout', async ({ page }) => {
await test.step('Add a product', async () => {
await page.goto('/products');
await page.getByRole('button', {
name: 'Add to cart'
}).first().click();
});
await test.step('Check the cart', async () => {
await expect(page.getByText('1 item'))
.toBeVisible();
});
});vikingQA reads your Playwright tests and lists them, with folders from your file paths and tags from your Playwright tags. It syncs on every push.
vikingQA commits the agent's work to a vikingqa/ branch and opens a pull request. You merge it yourself, or you turn on automatic merge and vikingQA merges it for you. Your branch protection and CI checks apply.
Each environment follows a branch. Staging can run the tests on main while Production runs the tests on your release branch.
The agent reads a pull request, its diff and the code around it. It tells you which tests the change affects and drafts the tests that are missing.
One workflow file starts a batch and fails the check when a test fails. Make the check required, or put your deploy behind it.
Start a new project in vikingQA and install the app on GitHub. Choose "Only select repositories" and select the repository with your tests. If you are not an owner of the GitHub organization, GitHub sends the request to an owner for approval.
Name your first environment and choose the branch it follows. vikingQA reads the suite and shows the number of tests it found.
Your tests are listed and ready to run. The first agent-written test arrives as a pull request.
vikingQA does not request access to Issues, Actions, Secrets, Administration or organization members.
GitHub cannot limit write access to one branch, so vikingQA enforces the limit itself. vikingQA pushes only to branches whose name starts with vikingqa/. It never pushes to your default branch and never force-pushes. It deletes only its own merged or idle vikingqa/ branches. It merges its own pull request only when automatic merge is on for the project, and only into the branch the pull request was opened against. For a second guard, add a branch protection rule on your default branch.
Each access token is limited to the repository of the project that uses it. An organization owner can remove the app in GitHub at any moment. Access stops at once.
| Permission | Why vikingQA needs it |
|---|---|
| Metadata: read | To list the repositories you selected and their branches |
| Contents: read and write | To read your tests, and to commit test files to vikingqa/ branches |
| Pull requests: read and write | To open pull requests for agent-written tests, to merge them when automatic merge is on, and to read pull requests and diffs |
Three steps, no change in your repository
A vikingQA admin and a GitHub organization owner
Free, Team, Enterprise
Setup guide in the docs Roadmap
Yes. Choose "Only select repositories" during the installation. vikingQA sees the repositories you select and no others.
main?No. vikingQA pushes only to vikingqa/ branches and opens a pull request. You merge it yourself, or you turn on automatic merge and vikingQA merges it for you.
Yes. GitLab is a repository source in the same way. Connect GitLab, select the project, and each change arrives as a merge request. You merge it yourself, or you turn on automatic merge and vikingQA merges it for you.
No. The connection needs nothing in your repository. The GitHub Actions workflow is optional, for teams that want a check on each push.
Yes. Run in the vikingQA cloud, or in your own CI: the tests are plain Playwright in your repository. Pull requests from vikingQA run your checks like any other pull request.
GitHub Enterprise Cloud works like github.com. Support for GitHub Enterprise Server, and private runners inside your network, are on our roadmap.
vikingQA reads the repository to list and run your tests at a commit. It stores the list of tests and their results. Your repository stays the only source of the test code.
Connect a repository and see your suite in vikingQA in minutes.