2015-09-11 3 views
0

Есть ли способ выделить компоненты в скриншоте, когда тестовый случай прошел или не прошел для конкретного теста.Как выделить область при съемке с экрана?

Я использую метод снизу, чтобы сделать снимок экрана.

private void writeScreenshotToFile(WebDriver driver, File screenshot) { 
     try { 
      FileOutputStream screenshotStream = new FileOutputStream(screenshot); 
      screenshotStream.write(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES)); 
      screenshotStream.close(); 
     } catch (IOException unableToWriteScreenshot) { 
      System.err.println("Unable to write " + screenshot.getAbsolutePath()); 
      unableToWriteScreenshot.printStackTrace(); 
+0

Вы можете просто взять скриншот только определенной области страницы. Вы должны иметь возможность google и находить код, который сделает это за вас. – JeffC

ответ

0

Пожалуйста, имейте в виду, что есть много причин, которые могут вызвать сбой, как тайм-аут, Wedbriver исключением, несвежего элемент, элемент не найден, и т.д ..

Я не могу видеть, как от этого ничего список может быть выделен, поэтому это будет иметь смысл. Что вы можете выделить, если элемент, который вы искали, не существует? Или что выделить, когда происходит тайм-аут? Целая страница?

Независимо от того, если вы хотите выделить конкретный элемент, посмотрите на этот ответ here.

0

Просто чтобы дать вам несколько советов и идей. Экранный снимок - это изображение, которое содержит компонент, который вы знаете как текст, например список результатов какого-либо текста. Если вам известно текстовое значение элемента, и вы знаете, что ошибка исходит из ожидаемого результата, который не соответствует странице и НЕ относится к другим основным исключениям селена; есть java-библиотека, которая называется Java OCR , которая извлекает текст из изображения. Теперь, имея текст, найденный на изображении, он предоставит вам текстовое местоположение; используя java 2D api, вы делаете некоторые из установленных и размещаете вокруг области текста текстовое местоположение внутри файла изображения.

Надеюсь, это поможет.

Алан Mehio Лондон, Великобритания