반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리


반응형

HTML 에 보면 Select 태그가 있습니다.

그 안에 여러 Option 들이 있고 유저들은 DropDown 메뉴에서 그 Option 중 하나를 선택하게 되죠.





여기서 이 Option을 선택하도록 하는 것을 Selenium WebDriver로 구현할 때 아래 두가지 방법을 사용할 수 있습니다.


new Select(WebDriverAction.getElement(By.cssSelector("select[name='state']"))).selectByVisibleText("North Carolina");


이렇게 하면 select 메뉴 중 name인 태그안에 있는 옵션 중에서 blue인 텍스트를 찾아서 선택을 해 줍니다.



이 방법을 아래와 같이 조금 복잡하게 처리할 수도 있습니다.


    WebElement select = driver.findElement(By.cssSelector("select[name='state']"));
    List<WebElement> options = select.findElements(By.tagName("option"));
    for(WebElement option : options){
        if(option.getText().equals("North Carolina")) {
            option.click();
            break;
        }
    }

이 로직은 name이 color 인 select 라는 tag를 찾아서 이것을 select라는 WebElement 변수에 담아 놓습니다.
그리고 이 select 안에서 tagName 이 option인 것들을 List<WebElement> type으로 options라는 변수에 담아 놓습니다.

이 리스트를 for문으로 돌려서 option의 text가 blue 인 것을 찾아서 그 WebElement를 click 합니다.

그러면 원하는 blue가 선택이 됩니다.



반응형

JAVA DATE 함수 사용. 날짜 계산하기

2014. 1. 27. 07:25 | Posted by 솔웅


반응형

예전에 JAVA DATE 함수 사용법과 일/월/년 계산하는 로직을 블로그에 정리했던것 같은데...


얼마전에 월 계산하는 로직을 구현해야 되서 찾아보니까 없더군요.


이번 기회에 정리해 두어야 겠습니다.



이번에 제가 구현해야할 로직은 웹 페이지에서 유저가 두 날짜 범위를 입력하는 것을 Selenium WebDriver로 대신 처리하는 겁니다.


3개월 전 날짜와 오늘 날짜를 넣으면 됩니다.


    public static void enterDates() throws Exception {

        Date date = new Date();
        SimpleDateFormat sdformat = new SimpleDateFormat("MM/dd/yyyy");

        Date before3Mon = addMonth(date,-3);

        String today = sdformat.format(date);
        String before3Months = sdformat.format(before3Mon);
    }


today를 구하는 것은 쉽습니다.

첫번째는 오늘 날짜를 구하는 거고 두번째 줄은 날짜 포맷을 정해주는 겁니다.

월일년으로 포맷을 정했습니다.


그러면 date에는 오늘 날짜가 들어가 있습니다. Date type으로요.

밑에서 두번째 줄을 보면 만들어 두었던 Date Format을 사용해서 오늘 날짜를 월/일/년 포맷으로 만들어서 String으로 저장해 두는 부분이 나옵니다.



그 전줄에는 addMonth() 를 호출해서 3개우러 전 날짜를 date  포맷으로 받아오는 부분이 있습니다.

이 addMonth() 메소드를 보겠습니다.


    public static Date addMonth(Date date, int months) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.add(Calendar.MONTH, months);
        return cal.getTime();
    }


이 메소드는 Date 와 int 값을 파라미터로 받습니다.

그 내용을 보면..

처음에 Calendar 인스턴스를 변수에 담습니다.


이 Calendar 메소드가 날짜 계산하기 위해 자바에서 사용하는 API 입니다.

이 Calendar API의 setTime 메소드를 사용해서 전달받은 date를 세팅합니다.

그리고 add() 메소드를 사용해서 월을 계산합니다.



위에서 이 함수를 호출할 때 오늘 날짜와 -3을 인수로 전달했습니다.

이렇게 되면 오늘로부터 3개월 전의 날짜를 구할 수 있습니다.

이 값을 getTime() 메소드를 사용해서 Date 형식으로 만든 다음에 return 을 합니다.


이렇게 하면 오늘로부터 3개월 전 날짜를 구할 수 있습니다.

인수를 달리하면 1달 후 던지 10개월 전이던지 원하는 날짜를 얻을 수 있겠죠.




반응형


반응형
San Diego 에서 좋은 행사가 있어 소개 드립니다.
저는 샌디에고에서 이곳 미네소타로 얼마전 이사와서 참석하지는 못하지만, 샌디에고에 사시는 분들이나 이 기간에 샌디에고에 방문하시는 분들은 참여바랍니다.

=================================================

< 샌디에고 행사 안내 >


[1] 1/24 금 6pm. 샌디에고 시장선거 결선 후보자 시온마켓 방문


[2] 발보아 파크에 한국관 설립 추진
참여 및 문의: info@house-of-korea.orgwww.house-of-korea.org
(위 이메일주소와 웹주소는 곧 activate 될 예정)


[3] 2/14 금 7pm. 사사세 샌디에고 주최, UCSD 정치학과 유종성 교수님 강연. UCSD, Robinson 
Complex, IR/PS, Gardner Room. 1부 "박정희 신화의 재검토", 2부 "한국 민주주의와 표현의 자유"


[4] 한국정부로부터 기금을 받아 시작하는 UCSD 한국학 프로그램 행사일정.

4.1. 1/22 수 5pm. 손학규 전 민주당 대표 강연. UCSD, Robinson Complex, IR/PS, #3201. 
"Changing Dynamics in East Asia and Korean Politics"

4.2. 1/23 목 4pm. 김동춘 성공회대 교수님 강연. UCSD, Price Center, Green Table Room. "An 
Assessment on the Truth and Reconciliation, ROK" 
(바로 이 분! https://www.youtube.com/watch?v=uhPYhMzbVhg&feature=youtu.be)

4.3. 1/30 목 5pm. Adam Johnson 스탠포드대학 교수 / 퓰리쳐상 수상 작가 강연. UCSD, 
Robinson Complex, IR/PS, Auditorium. "The Human Consequences of Totalitarianism"

4.4. 2/24 월 "Cultures of Hot War Korea" 심포지움. "Remembering War and Militarizing Life: 
The Korean Peninsula," "Guilt by Association: Political Life of Kinship after the Korean War," 
"Budae Jjigae Cinema" (세부사항 추후공고) 

4.5. 4/8 화 Bruce Cumings 시카고대학 교수 (세부사항 추후공고)

4.6. 4/21 월 Charles Armstrong 컬럼비아대학 교수 

4.7. 4/30 수 Steve Lee 브리티시 컬럼비아대학 교수 "The Korean Armistice and the End 
of Peace" (세부사항 추후공고)


* UCSD 지도와 유료 주차장 안내 * 
http://irps.ucsd.edu/experience/our-campus/driving-directions.htm
(주차장의 자판기에서 주차권을 구입하신 후 차 밖에서도 확인이 쉬운 곳에 놓아두셔야 합니다.)


반응형