Как открыть меню с помощью сочетания клавиш? - PullRequest
2 голосов
/ 02 февраля 2020

У нас есть контекстное меню, которое, если пользователь нажимает клавишу ., открывает контекстное меню. Как я могу имитировать поведение пользователя? Из документов t.keyPress работает только на входах и не может быть инициировано вне его

1 Ответ

3 голосов
/ 03 февраля 2020

Вам не нужен элемент ввода для t.keyPress для работы.

Редактировать:

Вот простой тест с использованием t.pressKey('.'):

import { Selector } from 'testcafe';

fixture`Press key`
  .page`./index.html`;

test('Press dot', async t => {
    await t        
        .pressKey('.')
        .expect(Selector('p').textContent).eql('Dot is pressed');
});

index. html

<html>
    <body>
        <p id='paragraph'>Press key</p>
        <script>
            document.addEventListener('keydown', event => {
                if (event.key === '.')
                    document.getElementById('paragraph').textContent = 'Dot is pressed';
            });
        </script>
    </body>
</html>
...