gradio/.config/playwright.config.js
Freddy Boulton 7928c6edaa
Run streaming e2e tests on firefox (#8919)
* Add code

* devices import

* Add requirements

* Fix config
2024-07-29 16:15:25 -04:00

62 lines
1.6 KiB
JavaScript

import { defineConfig, devices } from "@playwright/test";
const base = defineConfig({
use: {
screenshot: "only-on-failure",
trace: "retain-on-failure",
bypassCSP: true,
launchOptions: {
args: [
"--disable-web-security",
"--use-fake-device-for-media-stream",
"--use-fake-ui-for-media-stream",
"--use-file-for-fake-audio-capture=../gradio/test_data/test_audio.wav"
]
}
},
expect: { timeout: 15000 },
timeout: 30000,
testMatch: /.*\.spec\.ts/,
testDir: "..",
workers: process.env.CI ? 1 : undefined,
retries: 3
});
const normal = defineConfig(base, {
globalSetup: process.env.CUSTOM_TEST ? undefined : "./playwright-setup.js",
projects: [
{
name: "firefox",
use: { ...devices["Desktop Firefox"] },
testMatch: /.stream_(audio|video)_out\.spec\.ts/
},
{
name: "chrome",
use: {
...devices["Desktop Chrome"],
permissions: ["clipboard-read", "clipboard-write", "microphone"]
},
testIgnore: /.stream_(audio|video)_out\.spec\.ts/
}
]
});
const lite = defineConfig(base, {
webServer: {
command: "python -m http.server 8000 --directory ../js/lite",
url: "http://localhost:8000/",
reuseExistingServer: !process.env.CI
},
testMatch: [
"**/file_component_events.spec.ts",
"**/kitchen_sink.spec.ts",
"**/gallery_component_events.spec.ts",
"**/image_remote_url.spec.ts" // To detect the bugs on Lite fixed in https://github.com/gradio-app/gradio/pull/8011 and https://github.com/gradio-app/gradio/pull/8026
],
workers: 1,
retries: 3,
timeout: 60000
});
export default !!process.env.GRADIO_E2E_TEST_LITE ? lite : normal;