Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Не работает ховер, если страницу нужно просколлить #779

Closed
AdelFattakhova opened this issue Jul 31, 2023 · 8 comments
Assignees

Comments

@AdelFattakhova
Copy link

Привет! Не уверена, что ишью к вам, а не к webdriverio, но пока попробую сюда, может быть подскажете)

Проблема следующая:

  1. нужно проверить состояние какого-либо элемента на ховер
  2. нужный элемент находится вне вьюпорта, до него нужно доскроллить
  3. на скриншоте с этого элемента – элемент в обычном состоянии, без ховера

Пример:

it('test', async ({ browser }) => {
    await browser.url('https://translate.yandex.ru');

    await browser.assertView('doc', '.header-nav-link:nth-child(2)');
    await browser.$('.header-nav-link:nth-child(2)').moveTo();
    await browser.assertView('doc-hovered', '.header-nav-link:nth-child(2)', {
      screenshotDelay: 200
    });
    await browser.$('a[href*="0488000000"]').scrollIntoView();
    await browser.$('a[href*="0488000000"]').moveTo();
    await browser.assertView('footer-text-hovered', 'a[href*="0488000000"]', {
      screenshotDelay: 200
    });
});

Получается, что ссылка из навигации в шапке скриншотится как нужно, с ховером. А та, что в футере, без ховера, хотя должна:

Снимок экрана 2023-07-31 в 17 42 56

Вопрос: как это можно починить?

@DudaGod
Copy link
Member

DudaGod commented Aug 7, 2023

Привет.

А в каком браузере запускаешь и с какими настройками?
Проверил на chrome@101 и получил следующий результат:

Screenshot 2023-08-07 at 13 06 12

@AdelFattakhova
Copy link
Author

Браузер Chrome. Судя по логам, 115 версия. Или может я не там смотрю

image

Настройки вот такие:

{
  gridUrl: 'http://localhost:4444/wd/hub',

  compositeImage: true,
  screenshotsDir: 'references',
  sessionsPerBrowser: 5,

  tolerance: 5,
  antialiasingTolerance: 4,

  browsers: {
    chrome: {
      retry: 5,
      automationProtocol: 'devtools',
      desiredCapabilities: {
        browserName: 'chrome',
        'goog:chromeOptions': {
          args: [
            'headless',
            '--hide-scrollbars'
          ]
        }
      },
      windowSize: {
        width: 1440,
        height: 900
      }
    },
  }
}

@DudaGod
Copy link
Member

DudaGod commented Aug 8, 2023

Проблему воспроизвел. Действительно, при запуске теста с использованием devtools скриншот с текстом "Переводите в Яндекс Браузере" снимается как будто без ховера.

Постараюсь подебажить на днях.

@denisbalyko
Copy link

denisbalyko commented Dec 26, 2023

Похожая проблема, после обновления на 7.4.1 версию (и вероятно на webdriverio 8) выглядит будто метод moveTo не триггерит mouseover на элементе.

@denisbalyko
Copy link

Похожая проблема, после обновления на 7.4.1 версию (и вероятно на webdriverio 8) выглядит будто метод moveTo не триггерит mouseover на элементе.

Сам написал, сам решил проблему, сам отвечу (похоже у меня другой кейс), но проблема была в неверно выставленом mobileEmulation

@sipayRT
Copy link
Member

sipayRT commented Jan 29, 2024

Похожая проблема, после обновления на 7.4.1 версию (и вероятно на webdriverio 8) выглядит будто метод moveTo не триггерит mouseover на элементе.

Сам написал, сам решил проблему, сам отвечу (похоже у меня другой кейс), но проблема была в неверно выставленом mobileEmulation

привет

а покажи, плз, дифф твоих настроек (как не работало и что изменил, чтобы заработало). Думаю, что кому-то в истории это точно пригодится

@denisbalyko
Copy link

Помимо обновления версии мне нужно было оторвать пакет @какое-то-название-int/frontend-hermione-config, в нём был get-browsers, эти настройки дополнялись на уровне нашего проекта. Из-за бага всем браузерам доставился mobileEmulation в тч и 'linux-chrome'.
Вероятно, это крайне специфичная история. Но если не работает moveTo в том числе стоит проверить настройки браузера.

@DudaGod
Copy link
Member

DudaGod commented May 17, 2024

Fixed in:

  • testplane@8.11.3
  • hermione@8.9.3
  • hermione@7.5.7

@DudaGod DudaGod closed this as completed May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants