Как выполнить горизонтальную прокрутку в приложении React (ag grid) с помощью автоматизации пользовательского интерфейса (WebdriverIO / JavaScript)? - PullRequest
0 голосов
/ 20 февраля 2020

У нас есть сеточное приложение, точно похожее на это демонстрационное приложение: https://www.ag-grid.com/example.php

Я хочу прокрутить по горизонтали / вертикали любой элемент этого демонстрационного сайта.

Я попробовал следующие методы:

  1. browser.moveTo (): не работает и выдает ошибку ниже:

ссылка на устаревший элемент: элемент не прикреплен к странице документ

browser.scroll (1665, 147.12345): ничего не делает. Пройдите шаг.

browser or element.scrollIntoView (): показывает, что метод не существует. Появляется следующая ошибка:

Свойство 'scrollIntoView' не существует для типа 'Клиент> & RawResult'.t

и

Свойство' scrollIntoView ' не существует для типа «Клиент> & RawResult». t

Я использую webdriverio и машинопись для автоматизации пользовательского интерфейса.

версия wdio: "webdriverio": "^ 4.14.4"

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Хотя ни один из существующих методов не работал, но я решил это с помощью клавиши "Tab". Я выполнил следующие шаги:

  1. Я щелкаю / выбираю последний видимый элемент на текущем экране.
  2. Я нажимаю клавишу «Tab» (по одному или несколько при необходимости)

Это прокручивало страницу по горизонтали (что на данный момент решило мою задачу).

0 голосов
/ 24 февраля 2020

Попробуйте использовать прокрутку с javascript:

browser.execute(function() {
    document.querySelector('yourElementLocator').scrollIntoView()
})

Имейте в виду, что код внутри browser.execute не имеет доступа к внешнему контексту. Поэтому, если вы хотите передать свой элемент внутрь, вам нужно будет указать этот аргумент после исполняемого кода:

browser.execute(function(){}, selector)

https://webdriver.io/docs/api/browser/execute.html

...