- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 750
Closed
Description
Have this config:
import { setHeadlessWhen, setCommonPlugins } from '@codeceptjs/configure';
// turn on headless mode when running with HEADLESS=true environment variable
// export HEADLESS=true && npx codeceptjs run
setHeadlessWhen(process.env.HEADLESS);
// enable all common plugins https://github.com/codeceptjs/configure#setcommonplugins
setCommonPlugins();
export const config: CodeceptJS.MainConfig = {
  tests: './*_test.ts',
  output: './output',
  helpers: {
    Playwright: {
      browser: 'chromium',
      url: 'http://localhost',
      show: true
    }
  },
  include: {
    I: './steps_file'
  },
  plugins: {
    htmlReporter: {
      enabled: true
    }
  },
  name: 'my'
}and this test:
Feature("My");
Scenario("Test national characters", ({ I }) => {
  I.type("Oprávněné"); // Czech characters
});Run the test. It fails (keyboard.press: Unknown key: "á" undefined) 🐛 .
mirao@rog:~/workspace/my$ codeceptjs run --verbose
***************************************
nodeInfo:  20.19.5
osInfo:  Linux 6.14 Ubuntu 24.04.3 LTS 24.04.3 LTS (Noble Numbat)
cpuInfo:  (16) x64 AMD Ryzen 7 9700X 8-Core Processor
chromeInfo:  141.0.7390.122
edgeInfo:  "N/A"
firefoxInfo:  undefined
safariInfo:  N/A
playwrightBrowsers:  "chromium: 141.0.7390.37, firefox: 142.0.1, webkit: 26.0"
If you need more detailed info, just run this: npx codeceptjs info
***************************************
CodeceptJS v3.7.5 #StandWithUkraine
Using test root "/home/mirao/workspace/my"
Helpers: Playwright
Plugins: screenshotOnFail, htmlReporter, retryFailedStep, eachElement
My --
/home/mirao/workspace/my/My_test.ts
    [1]  Starting recording promises
    Timeouts: 
 › [Session] Starting singleton browser session
  Test national characters
 › [New Session] {"ignoreHTTPSErrors":false,"acceptDownloads":true}
  Scenario()
    I type "Oprávněné"
    [1]  Error (Non-Terminated) | Error: keyboard.press: Unknown key: "á" | err => { step.status = 'failed' step.endTime = +Da...
    [1] Error | Error: keyboard.press: Unknown key: "á" undefined...
HTML Reporter: Test finished - Test national characters, State: failed, Retries: 0
HTML Reporter: Test Test national characters artifacts at test.finished: []
HTML Reporter: Added new test - Test national characters, State: failed
    [1] <teardown>  Stopping recording promises
 › <screenshotOnFail> Test failed, try to save a screenshot
 › [Screenshot] output/Test_national_characters.failed.png
  ✖ FAILED in 163ms
    [2]  Starting recording promises
-- FAILURES:
  1) My
       Test national characters:
     
  keyboard.press: Unknown key: "á"
  
      at Playwright.type (node_modules/codeceptjs/lib/helper/Playwright.js:1879:32)
  
  
  ◯ File: file:///home/mirao/workspace/my/My_test.ts
  
  ◯ Scenario Steps:
  ✖ I.type("Oprávněné") at Test.<anonymous> (./My_test.ts:4:5)
  
  ◯ Artifacts:
  - screenshot: /home/mirao/workspace/my/output/Test_national_characters.failed.png
  
  ◯ Metadata:
  - browser: chromium
  - browserVersion: 141.0.7390.37
  - windowSize: 1280x720
  FAIL  | 0 passed, 1 failed   // 448ms
A problem is that the helper method type() uses the Playwright's API page.keyboard.press() and it allows only simple characters and modificators.
Workaround: Use page.keyboard.type() for strings.
This works ✔️ :
Feature("My");
Scenario("Test national characters", ({ I }) => {
  I.usePlaywrightTo("Test typing national characters", async ({ page }) => {
    await page.keyboard.type("Oprávněné"); // Czech characters
  });
});Used SW:
- CodeceptJS 3.7.5
- Playwright 1.56.1
Metadata
Metadata
Assignees
Labels
No labels