public static Dimension getWindowSize() { return new Dimension(windowWidth, windowHeight); }
Сборка с тестами собирается через ant. При локальном запуске все ок, размер окна устанавливается корректно.
В Jenkins настроены задачи, которые вызывают ant, соответсвенно, собирают проект и прогоняют тесты.
Проблема в том, что при этом команды изменения размера не срабатывают. И окно остается минимального размера.
Это важно для меня так как тесты снимают скриншоты и сравнивают текущий внешний вид страницы с сохраненным примером для установленного размера окна браузера. И при запуске тестов через Jenkins все подобные тесты валятся.
Может быть есть какая-то настройка самого Jenkins или, возможно, плагин, который бы управлял размером окна бразузера?
На каких ОС и браузерах запускаете? Знаю точно, что под маком ресайз для того же хрома вообще не работает. А максимизировать пробовали? Работает нормально?
Таки в чём проблема? Любой приличный фреймворк для оконного тестирования на винде подойдёт.
К примеру, у меня на Win 7 запущено: 1 инстанс файрфокса, 2 инстанса хрома, 1 инстанс сафари (полноэкранный режим) - всё основано на реальных событиях и даже происходит прямо сейчас.
Допустим, MS UI Automation. Очевидный код
Get-UIAWindow -pn firefox | Invoke-UIATransformPatternResize -TransformResizeWidth 500 -TransformResizeHeight 500 Get-UIAWindow -pn chrome | Invoke-UIATransformPatternResize -TransformResizeWidth 500 -TransformResizeHeight 500 Get-UIAWindow -pn safari | Invoke-UIATransformPatternResize -TransformResizeWidth 500 -TransformResizeHeight 500 уменьшает габариты файрфокса и хромов. Сафари на полный экран. Лечим так: переводим в нормальный режим и меняем размеры следующей строчкой кода (заодно сделаем больше браузеров в виде нескольких окон):
в чем тут может быть проблема, это ОС или браузер и его состояние, а также положение на экране
еще возможный вариант для вас, напрямую выполнить изменение размера окна через javascript
если посмотреть на ньюансы использования
Each of these commands accept the window handles returned by "getWindowHandles" and "getWindowHandle". In addition, the window handle may be "current", in which case the window that commands are currently being handled by must be acted upon.
The "width" and "height" values refer to the "window.outerheight" and "window.outerwidth" properties. For those browsers that do not support these properties, these represent the height and width of the whole browser window including window chrome and window resizing borders/handles.
After setWindowSize, the browser window must not be in the maximised state.
After maximizeWindow, the browser window must be left as if the maximise button had been pressed; it is not sufficient to leave the window "restored", but with the full screen dimensions.
After fullscreenWindow, the browser window must be in full-screen mode. For those operating systems that support the concept, this must be equivalent to if the user requested the window be full screen. If the OS does not support the concept of full-screen, then this command is a synonym for "maximizeWindow".
If a request is made to resize a window to a size which cannot be performed (e.g. the browser has a minimum, or fixed window size, or the operating system does not support resizing windows at all as is the case in many phone OSs), an UnsupportedOperation status code must be returned.
то видим, что не вовсем случаях изменение размера может сработать
в общем, я еще вам рекомендую попробовать через javascript