Подскажите, почему локально на машине тест проходит, а на тимсити фейлится на одном из элементов?

Возможно размер браузера у вас локально и на сервере разный, из-за этого сайт может по разному отображаться.
Скриншот на падении теста делаете ?

1 лайк

неа, не делаю пока

Попробуйте тогда вывести в консоль текущий размер окна браузера (при прогоне на сервере) и запустите у себя локально с таким же разрешением. Сразу поймете в этом ли проблема, или нет)

1 лайк

У нас такое бывало при низком разрешении на виртулках. При этом, на экране присутствует некий условный компонент, который ездит вместе со страницей при скролле. В итоге, часть элементов может быть перекрыто, что и приводит к выше указанному exception.

Решали принудительным скроллированием к элементу перед непосредственным взаимодействием.

1 лайк

Проблема в разрешении и скроле. Скрольте к необходимому элементу.

1 лайк

эммм…

1 лайк

ахах) норм)

точно) просто я тут запутался слегка)

Попробуйте headless браузер. По идее, проблема должна решиться.

1 лайк

А можно ли в этот headless браузер прикрутить плагин типа jinn-client (криптоподпись), и который по вызову открывается в отдельном win окне?

Не знаю. Никогда с jinn не работал.

А вообще плагины какие-нибудь с headless браузером юзали?

Скролю к необходимому элементу, но все равно косяки возникают.
Он то не видит его, то ли что-то заслоняет его и т.п…

А пробовали на тачке с Тимсити резолюшн поставить fullHD?

Как скроллите?

driver.executeScript("arguments[0].scrollIntoView(true);", element);

а кто знает как проскроллить до элемента, но сделать так, чтобы он не у края видимой границы был, а как бы ближе к центру?

а то у меня ситуация такая: я скроллю до нужного элемента, он становиться видимым, но он у края… а на этом месте как раз у края вылазиет какой-то информационный элемент =) получается, что тест именно по нему кликает, а не по нужному элементу…

Скрольте к элементу, который находится ниже необходимого.
Или как вариант скрольте к координатам

спасибо)
интересно, все методом скроллинга решают данную проблему?)
какой-то уж больно не симпатичный костыль.

Мы у себя на сервере запарились и выставили разрешение экрана больше (на сервере нет монитора). Делали это вообще для того что бы тесты которые Сикули юзают работали, так как им нужен экран, но это соответственно решило и проблему размера окна браузера.

1 лайк

Многое зависит от приложения. У нас, к примеру, на UI навесили кастомный фреймворк, с которым корректно работает только

arguments[0].scrolIntoView(true)

Раньше работал вариант с получением элемента средствами драйвера, взятием его y координаты с небольшим offset (e.g. 50 px), и выполнением

window.scrollTo(0, y)

В случае с jquery, если известен парент элемент, можно скроллить при помощи, к примеру,

$(parent).scrollTop(y)

Вариантов масса.

2 лайка