Страницы

Поиск по вопросам

пятница, 27 декабря 2019 г.

Скриншоты в Selenium

#java #selenium


Использую Java + Selenium Webdriver. Есть задача:


Сделать 4 скриншота (с интервалом в 5 секунд).
Для каждого скриншота получить и сохранить md5-хэш.
Сравнить полученные значения хэшей (все должны быть разным). 


Помогите разобраться, что и как зачем? 

Чтобы сделать скриншот можно вызвать метод getScreenshotAs(OutputType target):

File screenShot = ((TakesScreenshot) webDriver).getScreenshotAs(OutputType.FILE);
BufferedImage screenshotImage = ImageIO.read(screenShot);



В первой строке мы делаем скриншот.
Преобразовываем его в BufferedImage - Почему так нужно или не нужно делать?
Как мне сохранить скриншот на компьютер?

    


Ответы

Ответ 1



код для шарпа(практически идентичный с джавой) Screenshot myScreenShot = ((ITakesScreenshot)webDriver).GetScreenshot(); myScreenShot.SaveAsFile(screenShotFileAdress, System.Drawing.Imaging.ImageFormat.Png); закинь в цикл с Thread.Sleep(5000); в конце тела цикла. с хешами сам разберешься (и не уверен что тебе вообще нужно сохранять изображения, лучше закинь их в какой-нибудь Лист и генери мд5 с битмапов, что б потом просто сравнять =) Сохранять сами изображения не обязательно )

Ответ 2



Пример из моего кода: File srcfile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(srcfile, new File("path_to_save" + "Screenshot_" + getTimeStamp() + ".png"));

Ответ 3



// take a screen shot: File sceFile = driver.getScreenshotAs(OutputType.FILE); DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy__hh_mm"); String fileName = UUID.randomUUID().toString(); File targetFile = new File("path\\to\\screenshots\\" + dateFormat.format(new Date()) + fileName + ".jpg"); FileUtils.copyFile(sceFile, targetFile);

Комментариев нет:

Отправить комментарий