WebDriver를 사용한 학생들은 WebDriver가 브라우저에서 페이지의 스크린 샷을 찍을 수 있음을 알고 있습니다. 예를 들어:
public byte [] takescreenshot ()는 ioexception {takessscreenshot takessscreenshot = (takessscreenshot) driver (outputtype.bytes);}
이러한 방식으로 제작 된 그림은 전체 웹 페이지입니다. 그러나 때로는 전체 웹 페이지가 필요하지 않으며 간섭을 피하기 위해 특정 웹 요소 만 있으면됩니다.
WebDriver 자체는 그러한 API를 제공하지는 않지만 다음과 같이 전체 화면의 스크린 샷을 자르면 스스로 올 수 있습니다.
Public BufferedImage CreateElementimage (WebElement WebElement)는 ioexception {// WebElement의 위치와 크기를 얻습니다. 포인트 위치 = webElement.getLocation (); BufferedImage OriginalImage = imageio.ream buffredimage cruppedimage = originalImage.getSubimage (locality.getx (), liction.get (), size.getWidth (), 옵션 옵션;};
imageio 및 bufferedimage는 각각 javax.imageio 및 java.awt.image에서 나온 것입니다.
이 방법은 스크린 샷의 크기를 잘 줄이고 테스트에서 스크린 샷을 저장하는 좋은 방법입니다.
참고 : 테스트 웹 페이지에 iframe이 포함되어있는 경우 자세한 내용은 WebElement의 위치를 계산해야합니다. 웹 페이지에서 특정 요소의 위치를 계산하십시오.