Что значит “решения там нет”? Решение там как раз есть.
Приложение реально меняет размер экрана. Если вы считаете, что это неправильно (ведь половина элементов становится невидимой) - заводите баг. Ваш тест нашёл баг - это же здорово!
я, конечно, заведу его, когда руками воспроизведу, я до сих пор не понимаю природу происходящего
при прогоне кейса руками, новая вкладка открывается в том же окне с тем же разрешением
Значит, проблема в браузере на линухе, может, обновить? Либо, попробовать другую версию, браузер.
Больше похоже что открывается именно другое окно, как всякие там казино в фоне, а не закладка.
Вы локально же в инкогнито проверяете? С пустым профилем? Я к тому что у вас локально может стоит что новые окна открывать только в закладках, а по умолчанию эта настройка, вроде, выключена.
кстати локально хром 86 стоит, на линухе 85, попробую завтра
сначала еще проверю какое разрешение становится у первой вкладки
а может ли быть такое что там открывается новая вкладка вообще в новом инстансе хрома?
а если там открывается в новом окне, то switchTo().window(1); может и между окнами переключать? а не только между вкладками?
А свитчу не важно, да он может и так.
понял,спасибо
Как вариант, проверьте capabilities. Я знаю, что у FF есть настройка “открывать страницу в новой табе / новом окне”. Уверен, что у хрома есть похожая настройка и она, вполне возможно, управляется capabilities или флагами.
обновил браузер и хромдрайвер - проблема та же, в одном чате подсказали, что за это отвечает атрибут у ссылки - target, но локально она не открывается в новой вкладке
Нашел только такое, получается чтоб открывалось в новом окне , надо указывать это, а я не указываю
--new-window
Launches URL in new browser window.
@asolntsev @BabyRoot Проблему решил так:
удалил из метода-сетапа браузера строку
Configuration.browserSize = "1366x768";
и добавил
System.setProperty("chromeoptions.args", "--window-size=1366x768");
после этого оба окна браузера открываются в этом размере
Спасибо за помощь
Совершенно непонятно, как это могло повлиять.
Значит, в изначальной постановке проблемы вы что-то важное недоговорили.
а устанавливая размер окна через
Configuration.browserSize = "1366x768";
под капотом это все равно сетится в “chromeoptions.args” ?
вы на линуксе то проверяли руками ваш кейс?
а по поводу прокидывания значений – дебаг есть ведь, все селениумные переменные доступные в IWebDriver, там капабилити все увидеть можно, может что-то по пути переопределяется
на линуксе нет GUI - не могу там проверить руками
ну поставьте любой гуй менеджер туда и проверьте, ей богу.
представьте, что вашим сервисом кто-то с убунту будет пользоваться, и ваш переход по ссылке откроет новый браузер в расширении 800х600. я бы посмеялся, а кто-то плюнет и уйдёт
Не совсем так. Селенид при открытии нового браузера учитывает и параметр Configuration.browserSize, и chromeoptions.args. Но только Селенид.
Если добавление chromeoptions.args повлияло на размер второго окна, это может означать только одно: это второе окно открывалось не автоматически по клику, а его тоже открывал Селенид. Причём с какими-то очень нестандартными настройками (chromeoptions.args учитывает, а Configuration.browserSize не учитывает).
здесь вы предлагаете поставить брейкпойнт в методе присвоения значения свойству browserSize, например?
зачем? ставьте дебаг в моменте работы на второй вкладке, и смотрите, что там лежит в переменной драйвера
если оно отличается от того, что вы ожидаете,то надо искать, почему так. может дефолтные значения откуда-то прилетают
Тоже столкнулся с такой проблемой. Я — начинающий автоматизатор, и сценарий в моём случае очень простой: на главной странице проверяется десяток ссылок, ведущих в другие разделы сайта. Все тесты идентичные: открывается главная, нажимается кнопка, проверяется, что открылось то, что должно.
Далее происходит вот что: 6 тестов проходят, а 4 падают — потому что главная начинает открываться размером 800x600. И такое поведение только в режиме headless и в CI. Прописал явно browserSize — не помогло. А если ещё добавить startMaximized — во всех тестах окно начинает открываться в 800x600. Задержка между тестами также не решила проблему, а вот closeWindow после каждого теста сработало.
Возможно, эта информация чем-то поможет 