dlqorgod
396
2015-12-18 16:53:50
14
8849

웹페이지 스크린샷




웹페이지 스크린샷


프로그램 사양서 작성할 때 사용하세요!


svn checkout --username anonsvn https://dev.naver.com/svn/godsoft

The password is 'anonsvn'


https://dev.naver.com/svn/godsoft/trunk/godsoft.screenshot

/godsoft.screenshot/pom.xml
		<dependency>
			<groupId>egovframework.rte</groupId>
			<artifactId>egovframework.rte.fdl.string</artifactId>
			<version>${egovframework.rte.version}</version>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>

		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-firefox-driver</artifactId>
			<version>2.48.2</version>
		</dependency>

		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>
/godsoft.screenshot/src/test/java/godsoft/screenshot/GodsoftScreenshotTest.java

package godsoft.screenshot;

import java.io.File;
import java.util.Date;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.SystemUtils;
import org.junit.Test;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

import egovframework.rte.fdl.string.EgovDateUtil;

public class GodsoftScreenshotTest {

	@Test
	public void test() throws Exception {
		WebDriver driver = new FirefoxDriver();

		driver.get("http://blog.naver.com/dlqorgod");
		getScreenshotAs(driver);

		driver.get("http://blog.naver.com/dlqorgod/220564514526");
		getScreenshotAs(driver);
		
		driver.get("http://blog.naver.com/dlqorgod/220563062116");
		getScreenshotAs(driver);

		driver.quit();
	}

	private void getScreenshotAs(WebDriver driver) throws Exception {
		System.out.println("Page title is: " + driver.getTitle());

		File srcFile = ((TakesScreenshot) driver)
				.getScreenshotAs(OutputType.FILE);

		File destFile = new File(SystemUtils.USER_HOME
				+ "/Desktop/screenshot "
				+ EgovDateUtil.toString(new Date(), "yyyy-MM-dd HH시mm분ss초",
						null) + ".png");

		FileUtils.copyFile(srcFile, destFile);
	}

}
2
  • 댓글 14

  • 쯔앙구
    281
    2015-12-18 18:23:35
    웹페이지를 다 불러온후에 스크린 캡쳐를 찍는건가 보네요???
  • dlqorgod
    396
    2015-12-18 18:42:24

    네! 셀레늄에 브라우저 띄우고 캡처하는 기능이 있네요. 웹으로 단위테스트, 통합테스트 할 때 쓰면 좋을 것 같습니다. 시연이나, 감리 받을 때도...

  • 앙앙이
    4k
    2015-12-20 12:39:03

    라이센스  명확하게 밝혀주시면  감사하겠습니다.

    현재 아파치  라이센스로 개인프로젝트  진행하는데 gpl 이러시면 ㅠㅠ  버릴수밖에없기때문입니다.

  • dlqorgod
    396
    2015-12-21 12:46:24
  • cyj0110
    923
    2015-12-22 10:12:04

    IE8도 되나요?

  • dlqorgod
    396
    2015-12-22 12:49:24

    AndroidDriver, ChromeDriver, EventFiringWebDriver, FirefoxDriver, HtmlUnitDriver, InternetExplorerDriver, PhantomJSDriver, RemoteWebDriver, SafariDriver

    브라우저별로 다 있습니다.

    IE8로 해보진 않았지만 될 것 같은데요.

    Selenium WebDriver

  • cyj0110
    923
    2015-12-22 13:03:55

    샘플로 해보니까 IE8도 되는거같네요.

    근데..이거 원래 브라우저 기동해서 화면캡쳐 되는건가요?

    웹화면에서 버튼 클릭했을때 화면 캡쳐 브라우저 하고싶은데 ..

    좀 찾아봐야겠네요.

  • dlqorgod
    396
    2015-12-22 13:15:04
  • cyj0110
    923
    2015-12-22 13:17:24

     dlqorgod 감사합니다.. 근데 안되요... todataurl 을 쓰고싶은데 안되거든요..ㅜ.ㅜ IE9면 좋을텐데..

    IE8라..ㅜ.ㅜ

  • cyj0110
    923
    2015-12-22 17:19:01

    dlqorgod 


    플레쉬설치해야하는게 ActiveX랑.. 별차이없어서..중간에 관둔 ...

     IE8 이기땜에 <a ~~~ download=""> A태그  다운로드 속성은

    못쓰고..헤더 정보를 추가 해주면 움직일거같네요. (canvas2png.js NG)

    결론은.. 빌어먹을 IE7,8..ㅜ.ㅜ


    아 수고스럽게 찾아주셔서 감사합니다..   


  • dlqorgod
    396
    2015-12-23 09:21:42
    저도 버튼 눌러서 화면 캡처하고 싶거든요. 성공하시면 알려주세요~~~
  • cyj0110
    923
    2015-12-24 10:45:12
  • nanamix
    34
    2015-12-31 10:04:33

    버튼 눌러 화면캡쳐된것을 클립보드로 옮겨보고 싶은데....

    혹시 관련 샘플 예제 가 있을 까요??

  • 로그인을 하시면 댓글을 등록할 수 있습니다.