При установке размера окна для хрома на максимальный или 1980x1080 с использованием
ChromeOptions.addArguments("--start-maximized");
or
driver.manage().window().setSize(new Dimension(1980,1080));
or
ChromeOptions.addArguments("window-size=1980,1080");
or
ChromeOptions.addArguments("--window-size=1980,1080");
окно Chrome настроено на правильный размер и отлично работает при запуске тестов либо с терминала, либо при запуске отдельных тестовых случаев из intellij (все тесты проходят)
Однако, когда мой конвейер GOCD подхватывает задание, все начинает работать (тесты начинают выполняться нормально), затем в журнале я вижу, что окно, используемое в тесте, имеет размер 1044 x 788.
Это вызывает проблему, так как кнопка, которая мне нужна, находится справа и вне поля зрения из-за размера экрана (я полагаю)
полученное сообщение
2018-11-28 13:38:52.542 WARN 4456 --- [ main] utils.PageUtils : element not interactable
(Session info: chrome=70.0.3538.110)
(Driver info: chromedriver=2.44.609538 (b655c5a60b0b544917107a59d4153d4bf78e1b90),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:25:02.294Z'
System info: host: 'DEV', ip: '192.168.1.177', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_191'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.44.609538 (b655c5a60b0b54..., userDataDir: C:\windows\TEMP\scoped_dir1...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:62401}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 70.0.3538.110, webStorageEnabled: true}
Session ID: e3f442486d9087e190e0954c5fcc19f5: Click(btnSearchDropMenu) failed! re trying...
2018-11-28 13:38:52.549 WARN 4456 --- [ main] utils.PageUtils : Screen dimentions: (1044, 788)
2018-11-28 13:38:52.550 INFO 4456 --- [ main] utils.PageUtils : Scrolling to move 'btnSearchDropMenu' to the middle of the screen
2018-11-28 13:38:53.619 ERROR 4456 --- [ main] BaseTestFolder.BaseTest : org.openqa.selenium.ElementNotVisibleException: element not interactable
(Session info: chrome=70.0.3538.110)
(Driver info: chromedriver=2.44.609538 (b655c5a60b0b544917107a59d4153d4bf78e1b90),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Я пытался передать команду set size в разных областях, в том числе непосредственно перед попыткой нажать отсутствующую кнопку и переупорядочить, когда параметры передаются моему объекту параметров chrome, прежде чем они будут переданы драйверу chrome.
Мне нужно, чтобы окно было не менее 1980x1080, но я не уверен, почему это нельзя установить при запуске тестов на GOCD.
Я в недоумении, почему возникает эта проблема. любая помощь будет принята с благодарностью
**РЕДАКТИРОВАТЬ 1**
Странно то, что я могу уменьшить размер окна и это свойство сохранится...
2018-11-28 15:47:02.754 INFO 19088 --- [ main] configuration.GoogleChrome : Window size: (1000, 600)
ИЗМЕНИТЬ 2
Добавил еще один аргумент, который я пробовал,
Это также проблема с jenkins - по умолчанию используется тот же размер окна: (1044, 788)
--
передwindow-size
, т.е.ChromeOptions options = new ChromeOptions(); options.addArguments("--window-size=1980,1080");
- person Kiril S.   schedule 28.11.2018xvfb
--screen=1980x1080x24` или около того. Скорее всего, хром выбирает какие-то странные значения по умолчанию, если не может обнаружить среду X, и xvfb (или, возможно, Xdummy) должен помочь с этим. - person moritz   schedule 05.12.2018