import { test, expect, chromium } from "@playwright/test"; test("test: get a phonetic accuracy evaluation from an uploaded audio file.", async () => { const testAudioEnvPath = `${import.meta.dirname}/../../tests/events/test_de_easy.wav` console.log(`testAudioEnvPath: ${testAudioEnvPath}...`); const browser = await chromium.launch({ args: [ "--use-fake-device-for-media-stream", ], ignoreDefaultArgs: ['--mute-audio'] }) const context = await browser.newContext(); context.grantPermissions(["microphone"]); const page = await browser.newPage({}); await page.goto('http://localhost:7860/'); const radioLanguageSelectedDE = page.getByRole('radio', { name: 'de' }) await radioLanguageSelectedDE.check(); const textboxStudentTranscriptionInput = page.getByLabel('Phrase to read for speech recognition') await textboxStudentTranscriptionInput.fill('Ich bin Alex, wer bist du?'); await page.getByRole('button', { name: 'TTS backend', exact: true }).click(); const buttonPlay = page.getByLabel('Play', { exact: true }) await buttonPlay.click(); const waveFormTTS = page.locator('.scroll > .wrapper').first(); await waveFormTTS.waitFor({ state: 'attached' }); await waveFormTTS.waitFor({ state: 'visible' }); await expect(waveFormTTS).toBeVisible(); const fileChooserPromise = page.waitForEvent('filechooser'); await page.getByLabel('Upload file').click(); await page.getByRole('button', { name: 'Drop Audio Here - or - Click' }).click(); const fileChooser = await fileChooserPromise; await fileChooser.setFiles(testAudioEnvPath); await page.getByRole('button', { name: 'Recognize speech accuracy' }).click(); await page.waitForTimeout(300); const errorsElements = page.getByText(/Error/); const ErrorText = errorsElements.all() console.log("ErrorText:", (await ErrorText).length, "#"); await expect(errorsElements).toHaveCount(0); console.log("end"); await page.close(); });