Как сделать скриншот страницы целиком с помощью Selenium WebDriver
В этом посте «Как сделать скриншот страницы целиком с помощью Selenium WebDriver» рассматривается проблема, с которой мы сталкиваемся в браузерах, которые не могут сделать скриншот страницы целиком. из-за проблемы с окном просмотра. Разные WebDrivers делают скриншоты по-разному. Некоторые веб-драйверы предоставляют скриншот всей страницы, в то время как другие обрабатывают только область просмотра.
Ранее я публиковал подробный пост о том, как сделать скриншот неудачных тестов с помощью Selenium WebDriver. Если вы пропустили его, вы можете проверить подробный пост о том, как сделать снимок экрана неудачных тестовых случаев с помощью Selenium WebDriver.
После выпуска Selenium 3 у большинства из нас возникают проблемы с браузером Firefox. Чтобы решить проблемы с совместимостью, мы используем драйвер Gecko.
Обязательно посмотрите: запуск сценариев Selenium с помощью драйвера Gecko.
Переходя к этому сообщению о том, «как сделать полный скриншот страницы в Selenium WebDriver». Раньше (Selenium 2) мы могли получить полный скриншот страницы в Selenium только при использовании драйвера Firefox. Для других браузеров селен захватывает только видимую область веб-страницы. Что касается Selenium 3, мы также не можем сделать скриншот страницы целиком с помощью браузера Firefox.
Да, в Selenium 3 скриншот страницы целиком с помощью браузера Firefox не работает, как раньше.
Как это сделать. устранить эту проблему, чтобы сделать скриншот страницы целиком в Selenium WebDriver.
Для решения этой проблемы существует обходной путь. Нам нужна помощь сторонней утилиты под названием «aShot».
Что такое aShot?
aShot – это утилита для создания скриншотов WebDriver. Он делает снимок экрана WebElement на разных платформах (например, в настольных браузерах, iOS Simulator Mobile Safari, Android Emulator Browser).
aShot может быть настроен для обработки браузеров с проблемой области просмотра. Это дает скриншот всей страницы даже для Chrome, Mobile Safari и т. д.
Подробнее об aShot здесь.
Вот ссылка для скачивания файла aShot Jar.
Добавьте этот файл jar в в свой проект.
Примечание. Выберите проект и щелкните проект правой кнопкой мыши – перейдите к “Путь сборки” – перейдите к пункту “Настроить путь сборки” – щелкните раздел “lib” – добавьте внешний jar-файл
Ниже показан сценарий как сделать снимок экрана с полной страницей с помощью Selenium WebDriver:Снимок экрана с полной страницейJava
12345678910111213141516171819202122 | пакет softwareTestingMaterial;импорт java.io.File;импорт javax.imageio.ImageIO;импорт org.openqa.selenium.WebDriver;импорт org.openqa.selenium.firefox.FirefoxDriver;импорт ru.yandex.qatools.ashot.AShot;импорт ru .yandex.qatools.ashot.Скриншот;импорт ru.yandex.qatools.ashot.shooting.ShootingStrategies; public class FullPageScreenshot {public static void main(String args[]) throws Exception{ //Измените путь к GeckoDriver на следующем шаге в зависимости от вашего локального системного пути System.setProperty(“webdriver.gecko.driver”,”D: //Selenium Environment//Драйверы//geckodriver.exe”); //Создание объекта драйвера. Для запуска браузера Firefox WebDriver driver = new FirefoxDriver(); //Для открытия URL “http://softwaretestingmaterial.com” driver.get(“https://www.softwaretestingmaterial.com”); Thread.sleep (2000); Скриншот fpScreenshot = новый AShot().shootingStrategy(ShootingStrategies.viewportPasting(1000)).takeScreenshot(драйвер); ImageIO.write(fpScreenshot.getImage(),”PNG”,новый файл(“D:///FullPageScreenshot.png”)); }} |
Если вы не являетесь постоянным читателем моего блога, я настоятельно рекомендую вам подписаться на бесплатную рассылку по электронной почте по ссылке ниже.
Подпишитесь и получайте бесплатную электронную книгу и регулярные обновления от SoftwareTestingMaterial .com
TAG: qa