Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Давайте поговорим о canvas на конкретном примере


(Дмитрий Маковский) #1

Дорогие, коллеги, помогите разобраться с canvas. Расписываю все очень подробно, ведь как вопрос задашь, так ответ и получишь:

  1. http://mrrgis.nca.by/ заходим логинимся eviltech\111111
  2. Выбираем область -> Брестская
  3. Выбираем район-> Кобринский

Осуществляется переход на карту

  1. Справа выбираем табу Заявку
  2. Кликаем Оставить заявку (см.скрин)
  3. В выпадающем списке “Выберите объект” выбираем точка (или полигон, но с ним я думаю будет сложнее)
    И вот теперь нужно кликнуть по карте. Желательно на java или js(его чуть что исполню executeScript(script)) . Так же подключен selenide


(Ray Romanov) #2

Первое что приходит на ум, это:
Получить положение на страниц (координаты левого верхнего угла) XPath //canvas[@class=“ol-unselectable”] и размеры (в атрибутах стоят)
Переместить мышь (mouseMove) в координаты = положение + ((размеры / 2) + рандом до 100 точек.
И сделать событие mouseKeyDown + mouseKeyUp или click()


(Ray Romanov) #4

Я на java тесты не пишу, поэтому спрошу есть такая функция moveTo(x, y)?


(vmaximv) #5

А можно поинтересоваться откуда и зачем вы взяли ActionChainsGenerator, который был @Deprecated аж в Selenium 2.0, а нынче полностью “выпилен”?


(Дмитрий Маковский) #6

Я лучше удалю позорную свою пробу)


(Дмитрий Маковский) #7

public void coordinatesClicker() throws AWTException {
Robot robot = new Robot();
robot.mouseMove(500, 550);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}

можно кликнуть вот так, но что-то не очень хочется


(vmaximv) #8

Вы бы таки показали, как пытались решить вашу проблему используя selenium, прежде чем переходить к “бомбардировкам” приложения через робот или автоИт.