0

Меня попросили использовать Selenium, чтобы написать несколько тестов для веб-сайта. На некоторых страницах есть графики, которые генерируются библиотекой «chart.js». Тесты требуют от меня:Как использовать селен с «chart.js»

  • Прочитайте размер некоторых из значений данных в таблице
  • Нажмите на некоторых барах на графике.
  • Наведите указатель на некоторых барах и проверить, что инструмент подсказки

Проблема в том, график выполнен в виде одного HTML canvas элемент, поэтому нет DOM для деталей графика, что селен может манипулировать.

ответ

0

Вы не сможете получить доступ к диаграмме напрямую, используя Selenium, потому что нет DOM, как вы отметили. Может быть способ получить доступ к данным диаграммы с помощью JavascriptExecutor для запуска JS-команд. Я не знаком с chart.js, но я написал автоматизацию против элементов CANVAS. Я получил с Dev и поговорил с ними о том, к чему мне нужен доступ, и они дали мне указания на методы и т. Д., Которые я мог бы назвать, чтобы получить то, что мне было нужно. Я использую объектную модель страницы, поэтому в итоге я написал некоторые функции Java, которые обернуты вокруг JS-кода, который обратился к CANVAS.

+0

Я думаю, что это, вероятно, единственный способ пойти. В случае с chart.js, я даже не уверен, что можно проверить текст наведения и клики, поскольку библиотека, похоже, не имеет способа сказать нам, ГДЕ нажать/навести на определенный элемент данных. Мне показалось странным, что библиотека сделает ее самотестируемой! – Stormcloud

Смежные вопросы