Я создал проект Maven/Java для автоматизации тестирования QA веб-приложения. Я использую Selenium, JUnit и кучу других зависимостей, таких как AShot, которые я использую для создания скриншотов.
Я разработал проект на своем домашнем компьютере (13-дюймовый MacBook Pro 2013 г.), и все было хорошо, когда я запускал проект, скриншоты выглядели нормально.
Однако, когда я загрузил проект на свой рабочий компьютер (13-дюймовый MacBook Pro 2017 года), у меня начали вырезаться скриншоты. Я бы на скринах видел только половину экрана. Очень странно. Для справки, вот как выглядит вырезанный скриншот:
Я попытался установить размеры и получить их в разных точках теста, чтобы увидеть, работают ли они. Единственная разница заключалась в том, что перед фактическим скриншотом у меня было больше белого.
В прошлом у меня была похожая проблема с этим же компьютером, но я исправил ее, указав фиксированные размеры экрана. Единственное отличие от того времени, когда я тестировал тогда, заключается в том, что в то время у меня не было настроено второго экрана.
Я протестировал проект на компьютерах друзей, и там он тоже работал корректно, скриншоты не выглядели обрезанными.
В тот момент я подумал, не связано ли это с различиями в наших установках, а именно:
- мне без проблем: 13-дюймовый MacBook Pro 2013 года (работает с 32-дюймовым вторым экраном и без него)
- я с проблемой: 13-дюймовый MacBook Pro 2017 года (работает с 32-дюймовым вторым экраном и без него)
- первый друг (без проблем): 13-дюймовый MacBook Pro 2019 года, 27-дюймовый экран с зеркальным расположением дисплеев
- второй друг (без проблем): 16-дюймовый MacBook Pro и работающий с 32-дюймовым вторым экраном.
Я подумал, что это может быть расположение зеркальных дисплеев, и когда я сделал это на компьютере, где у меня была проблема, скриншоты снова выглядели нормально.
Тем не менее, я до сих пор не знаю, почему (так как мой второй друг не использовал расположение зеркальных дисплеев) и, что более важно, как мне избежать этого в будущем, когда я, вероятно, не буду иметь власти над настройками, где мой проект работает?
Может кто-нибудь помочь мне? Я нигде не нашел информации по этому вопросу.
Заранее спасибо и, пожалуйста, дайте мне знать, если вам нужно больше (или меньше) информации.
Заранее спасибо!
.shootingStrategy()
. Я использую его таким образомScreenshot screenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(2000)).takeScreenshot(driver); BufferedImage image = screenshot.getImage();
без каких-либо проблем. - person pburgr   schedule 03.09.2020AShot fullScreenshot = new AShot(); BufferedImage img = fullScreenshot.shootingStrategy(ShootingStrategies.viewportPasting(100)).takeScreenshot(driver).getImage();
Вы имеете в виду, что я должен изменить 100 на 2000? Спасибо еще раз! - person AnaPM   schedule 03.09.2020viewportPasting
вы сможете захватить большую часть страницы. При значении 2000 он должен захватывать всю страницу на всех устройствах с «обычным» соотношением пикселей. - person pburgr   schedule 04.09.2020