728x90
지난 포스팅에 이어서..
타임아웃, 입력, 클릭, 창 사이즈, 스크린샷, 슬립, 프롬프트 출력, 판정을 추가해본다 (명시적 대기, 스크롤 스크린샷, 얼럿창 제어, 밤부 연결 등은 추후에..)
네이버에서 서태지 검색 후 출생년도가 나오는지 확인 후 화면캡쳐!
XPath는 다음과 같이 얻어오면 된다
- 크롬 > F12 > 돋보기 > 검색어 입력란 클릭 > 소스 우클릭 > XPath 복사
- 이클립스에 붙여넣기 후 큰 따옴표를 작은 따옴표로 바꾼다
import org.apache.commons.io.FileUtils; import org.junit.*; import static org.junit.Assert.*; import java.io.File; import java.io.IOException; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.junit.runners.MethodSorters; @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class SearchTest { private static WebDriver driver; private static StringBuffer verificationErrors = new StringBuffer(); private static String CHROMEDRIVER_FILE_PATH; private static String SCREENSHOT_FOLDER_PATH; @BeforeClass public static void setUp() throws Exception { //크롬 드라이버 및 스크린샷 경로 CHROMEDRIVER_FILE_PATH = "D:/Utility/eclipse/selenium/chromedriver.exe"; SCREENSHOT_FOLDER_PATH = "D:/AHA/"; System.setProperty("webdriver.chrome.driver", CHROMEDRIVER_FILE_PATH); driver = new ChromeDriver(); //브라우저 로딩 타임아웃 1분 driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); //웹브라우저 창 사이즈 driver.manage().window().setSize(new Dimension(1024, 768)); } @Test public void T01() throws Exception { driver.get("http://naver.com"); //프롬프트 출력 System.out.println("T01 end"); } @Test public void T02() throws Exception { //검색어 입력 driver.findElement(By.xpath("//*[@id='query']")).sendKeys("서태지"); //2초간 슬립 sleep(2); //검색 버튼 클릭 driver.findElement(By.xpath("//*[@id='search_btn']")).click(); sleep(2); //판정 assertTrue(driver.getPageSource().contains("1972년")); //스크린샷 captureScreen("screenshot"); System.out.println("T02 end"); } @AfterClass public static void tearDown() throws Exception { driver.close(); String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } System.out.println("Tatal end"); } //슬립 함수 private void sleep(int sec) { try { Thread.sleep(sec * 1000); } catch (InterruptedException e) { e.printStackTrace(); } } //스크린캡쳐 함수 public void captureScreen(String filename) { String path; try { File source = ((TakesScreenshot) driver) .getScreenshotAs(OutputType.FILE); path = SCREENSHOT_FOLDER_PATH + filename + ".png"; FileUtils.copyFile(source, new File(path)); } catch (IOException e) { e.printStackTrace(); } } }
728x90
'기타' 카테고리의 다른 글
[autoit] 치트 시트 (0) | 2015.08.13 |
---|---|
Selenium Grid 셋팅하기 (1) | 2015.08.10 |
[autoit] 부팅 후 네이트온 창 닫기 (0) | 2015.08.03 |
파일명 길이 제한 (0) | 2015.07.29 |
[Mac] iOS 시뮬레이터에 app 설치하기 (0) | 2015.06.29 |