Возможно размер браузера у вас локально и на сервере разный, из-за этого сайт может по разному отображаться.
Скриншот на падении теста делаете ?
неа, не делаю пока
Попробуйте тогда вывести в консоль текущий размер окна браузера (при прогоне на сервере) и запустите у себя локально с таким же разрешением. Сразу поймете в этом ли проблема, или нет)
У нас такое бывало при низком разрешении на виртулках. При этом, на экране присутствует некий условный компонент, который ездит вместе со страницей при скролле. В итоге, часть элементов может быть перекрыто, что и приводит к выше указанному exception
.
Решали принудительным скроллированием к элементу перед непосредственным взаимодействием.
Проблема в разрешении и скроле. Скрольте к необходимому элементу.
эммм…
ахах) норм)
точно) просто я тут запутался слегка)
Попробуйте headless браузер. По идее, проблема должна решиться.
А можно ли в этот headless браузер прикрутить плагин типа jinn-client (криптоподпись), и который по вызову открывается в отдельном win окне?
Не знаю. Никогда с jinn не работал.
А вообще плагины какие-нибудь с headless браузером юзали?
Скролю к необходимому элементу, но все равно косяки возникают.
Он то не видит его, то ли что-то заслоняет его и т.п…
А пробовали на тачке с Тимсити резолюшн поставить fullHD?
Как скроллите?
driver.executeScript("arguments[0].scrollIntoView(true);", element);
а кто знает как проскроллить до элемента, но сделать так, чтобы он не у края видимой границы был, а как бы ближе к центру?
а то у меня ситуация такая: я скроллю до нужного элемента, он становиться видимым, но он у края… а на этом месте как раз у края вылазиет какой-то информационный элемент =) получается, что тест именно по нему кликает, а не по нужному элементу…
Скрольте к элементу, который находится ниже необходимого.
Или как вариант скрольте к координатам
спасибо)
интересно, все методом скроллинга решают данную проблему?)
какой-то уж больно не симпатичный костыль.
Мы у себя на сервере запарились и выставили разрешение экрана больше (на сервере нет монитора). Делали это вообще для того что бы тесты которые Сикули юзают работали, так как им нужен экран, но это соответственно решило и проблему размера окна браузера.
Многое зависит от приложения. У нас, к примеру, на UI навесили кастомный фреймворк, с которым корректно работает только
arguments[0].scrolIntoView(true)
Раньше работал вариант с получением элемента средствами драйвера, взятием его y
координаты с небольшим offset (e.g. 50 px), и выполнением
window.scrollTo(0, y)
В случае с jquery
, если известен парент элемент, можно скроллить при помощи, к примеру,
$(parent).scrollTop(y)
Вариантов масса.