File size: 2,374 Bytes
ab57dda
85b7206
ab57dda
85b7206
ab57dda
 
85b7206
ab57dda
 
 
 
 
 
 
 
 
 
 
85b7206
ab57dda
 
85b7206
 
 
 
 
 
 
ab57dda
 
 
 
85b7206
 
 
ab57dda
85b7206
 
03112f1
ab57dda
85b7206
ab57dda
85b7206
ab57dda
 
85b7206
ab57dda
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import { test, expect, chromium,  } from "@playwright/test";
import {assertResponseOK, awaitAndExpectForSpinner} from "./helpers_tests";

test("test: German language, 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/', { waitUntil: 'commit' });
  await page.waitForSelector("textarea")

  // check for the sentence content
  let textboxStudentTranscription = page.getByRole('textbox', { name: 'Phrase to read for speech' })
  let textboxStudentTranscriptionInputText0 = textboxStudentTranscription.inputValue()
  console.log(`textboxStudentTranscriptionInputText inputValue: ${textboxStudentTranscriptionInputText0}...`);
  
  const textboxStudentTranscriptionInputContainer = page.getByLabel("Phrase to read for speech recognition");
  let studentTranscriptionScreenshot0 = await textboxStudentTranscriptionInputContainer.screenshot()

  const buttonRandom = page.getByRole('button', { name: 'Choose a random phrase' });
  await buttonRandom.click();
  await page.waitForTimeout(300);
  let textboxStudentTranscriptionInputText1 = await page.getByRole('textbox', { name: 'Phrase to read for speech' }).inputValue()
  console.log(`textboxStudentTranscriptionInputText1 inputValue: ${textboxStudentTranscriptionInputText1}...`);
  expect(textboxStudentTranscriptionInputText0).not.toEqual(textboxStudentTranscriptionInputText1);

  let studentTranscriptionScreenshot1 = await textboxStudentTranscriptionInputContainer.screenshot();
  console.log(`studentTranscriptionScreenshot0 vs studentTranscriptionScreenshot1...`);
  // assert that the Phrase to read for speech recognition screenshots (converted both to base64 strings) changed
  expect(
    studentTranscriptionScreenshot0.toString()
  ).not.toEqual(
    studentTranscriptionScreenshot1.toString()
  )

  await assertResponseOK(page, testAudioEnvPath, 250)

  console.log("end");
  await page.close();
});