da4de439e0
This uses the current dev build by default but can be overidden with CODE_SERVER_TEST_ENTRY (for example to test a release or some other version). Each instance has a separate state directory. This should make parallelization work. This also means you are no longer required to specify the password and address yourself (or the extension directory once we add a test extension). `yarn test:e2e` should just work as-is. Lastly, it means the tests are no longer subject to yarn watch randomly restarting.
37 lines
834 B
TypeScript
37 lines
834 B
TypeScript
import { PlaywrightTestConfig } from "@playwright/test"
|
|
|
|
import path from "path"
|
|
|
|
// Run tests in three browsers.
|
|
const config: PlaywrightTestConfig = {
|
|
testDir: path.join(__dirname, "e2e"), // Search for tests in this directory.
|
|
timeout: 60000, // Each test is given 60 seconds.
|
|
retries: process.env.CI ? 2 : 1, // Retry in CI due to flakiness.
|
|
globalSetup: require.resolve("./utils/globalSetup.ts"),
|
|
reporter: "list",
|
|
// Put any shared options on the top level.
|
|
use: {
|
|
headless: true, // Run tests in headless browsers.
|
|
video: "on",
|
|
},
|
|
|
|
projects: [
|
|
{
|
|
name: "Chromium",
|
|
use: { browserName: "chromium" },
|
|
},
|
|
|
|
{
|
|
name: "Firefox",
|
|
use: { browserName: "firefox" },
|
|
},
|
|
|
|
{
|
|
name: "WebKit",
|
|
use: { browserName: "webkit" },
|
|
},
|
|
],
|
|
}
|
|
|
|
export default config
|