Testcafe Hover и jQuery: селектор выбора - PullRequest
2 голосов
/ 06 ноября 2019

У меня возникла проблема с TestCafé при тестировании функции мегадропадации.

В моем тесте я использую .hover() TestCafé, который правильно запускает событие mouseenter моей навигационной ссылки. В этом mouseenter я получил следующее выражение if с jquery (2.1.4):

if ($(this).parent().find(':hover').length > 0) {
...
}

Теперь, когда я запускаю наведение через testCafe, это утверждение никогда не выполняется, длина остается 0Я вижу mouseenter событие, я вижу курсор, нарисованный TestCafé, но jQuery(': hover').length всегда равен нулю.

Я не знаю, почему эта функция была реализована таким образом, и я не знаюЯ хочу изменить код, я просто хотел запустить автоматический тест для проверки работоспособности. Кто-нибудь имеет представление о том, как может выглядеть обходной путь / исправление?

Обновление для правильного воспроизведения https://jsbin.com/bivuzabala

import { Selector } from 'testcafe';

fixture `Hover issue`.page `https://jsbin.com/bivuzabala`;

test('Hover Test', async t => {
    const testroot = Selector('#testroot');
     await t.hover(testroot.find('li'));

    await t.expect(Selector('.dropdown').visible).ok('dropdown should be visible');
});
...