#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);
Комментариев нет:
Отправить комментарий