FirefoxDriver делает скриншоты с размерами, отличными от размеров окон - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь сделать снимок экрана в браузере Firefox и сравнить его с уже сохраненным на моем изображении p c.

1) Мой вариант firefox:

            FirefoxOptions options = new FirefoxOptions();
            options.setHeadless(true);
            options.addPreference("dom.disable_beforeunload", true);
            System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE, "true");
            System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE, "/dev/null");
            driver = new FirefoxDriver(options);
            driver.manage().window().setSizes(1440, 900);

2) Метод, который я использую для создания снимка экрана:

            driver.getScreenshotAs(OutputType.FILE);

Окончательные размеры изображения составляют 1440 x 826 вместо ожидаемых 1440 x 900 пикселей.

Разница составляет 74 пикселя. (1,96 см).

Мои вопросы:

1) Почему это произошло?

2) Как решить эту проблему?

Примечание:

  • версия селена: 4.0.0-alpha-3

  • версия testNG: 7.0.0

  • firefox версия: 74.0.0

  • эта проблема воспроизводится только в браузере Firefox.

1 Ответ

0 голосов
/ 03 апреля 2020

Я решил проблему. Для этого я изменил размер клиентской области в Firefox, используя JavaScript и Selenium WebDriver. Следующая статья была очень полезной для меня при разрешении.

Но есть одна вещь, на которую я хочу обратить ваше внимание - до изменения просмотрите размер порта и убедитесь, что браузер не находится в полноэкранном режиме (если он есть - у вас могут быть некоторые неточности с окончательными размерами). Так что это действительно важно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...