1.Selenium 튜토리얼(웹 페이지 상의 요소 선택하기 1: HTML태그의 속성값)

이번포스트는 Selenium을 하나하나 코드를 통해 배워보는 시리즈가 될것입니다.이 포스팅 시리즈는 세 가지 목적을 가지고 있습니다.

존경하는 많은 선배 개발자 분들처럼 과인 중에 이 포스팅 기반으로 한 교안을 만들어 Selenium 강의를 시점에 유튜브에 강의를 올려보고 싶다. 2) 1년반 동안 사용해 온 Selenium 스킬을 정리하여 과자만의 라이브러리화 시키는 것 3) 일본취업 국비교육을 어느 정도 이해하고 마친 분들이 SI회사에 취직했을 때 빠른 시간에 준비할 수 있는 무기를 만들어 주고 싶은 희망사항이 포스팅의 목표는 보고 계신 분들이 Selenium을 활용한 자동화 테스트 코드를 작성할 수 있도록 하는 것입니다. 이 포스팅의 테스트 코드 대상은 아래 URL에서 확인할 수 있는 포스팅 결과물입니다.그리고 저의 예제 코드를 변경하지 않고 사용해보고 싶은 분은 아래 URL 포스팅에서 결과는 Clone하여 준비하시기 바랍니다.blog.naver.com/rudnfskf2/221526085453

github.com/leeyoungseung/spring_board

본인의 웹 프로젝트가 있다면 제 예제 코드를 변경해서 본인의 웹 프로젝트에 적용해 보는 것도 나쁘지 않다고 생각합니다.목차 1. Selenium에 대한 설명 – Selenium이란 무엇인가? 왜 필요한가.● 프로젝트 환경 설정 2. 웹 페이지 상의 요소 선택(webdriver의 findElement메서드)3.실행하고 결과 확인 4. 매듭 소음 운기 5. 참고 ———————————————————————————————————————————————————————————————————————————————————————————————————–

위의 URL은 selenium의 웹페이지이다.이 페이지에 자신이 있는 Selenium이 무엇인지에 대한 설명을 보면 알 수 있듯이 Selenium은 “Web Application의 테스트를 자동화하기 위한 도구”임을 알 수 있습니다.왜 필요한가.Selenium이 왜 필요한지에 대해서는 나의 전 직장 상사로부터 들은 말과 나의 사견으로는 아래와 같습니다. 1) 테스트의 코스트 및 Q&A팀의 효율화-수천, 수만번을 반복해도 정확하게 같은 결과를 보장해야 하는 조작 패턴이 단순한 기본적인 기능은 사람이 하기보다 프로그램이 대신하고 사람은 복잡하고 변수가 있는 기능을 테스트-밤을 활용하여 테스트를 계속할 수 있다-테스트 코드가 안정화되면 코드 리팩토링을 통해 전체 테스트 시절을 줄일 수 있다 2)Japan취업을 SI로 할 때 무기가 될 수 있다-Japan취업을 자체 개발하는 어느 정도 규모가 있는 중소기업으로 하면 상관없지만 블랙회사 자신에게 좋은 회사는 단순하면 노동력이 높은 회사가 될 수 있다.(게다가 사수 자신의 동료 혼자 서서…) 그렇다면 일단 살아남기 위해서는 어떤 종류의 것이든 보유한 기술의 폭이 넓은 쪽이 엔지니어로서 경력을 잇는데 유리하다고 소견합니다.Japan의 규모가 큰 중소기업에 확실한 서비스를 가진 중소기업이라면 독자적인 Q&A팀을 운영하는 동시에 테스트를 전문적으로 다음에 수행하는 중소기업과의 협업이 사실상 당연합니다.이들 중소기업에서는 복잡하고 어려운 논리를 작성하는 것, 테스트 설계는 본사 직원이 자체 테스트를 전문 중소기업 정규직으로 하는 경우가 많지만 단순 테스트코드 양산의 경우 경력이 없는 신입사원이 해도 무방할 정도의 난이도이다.규모가 큰 중소기업일수록 워라벨이 보장될 확률이 높고, 파견회사의 복지는 겐바를 따라잡는 것이 일반적이므로 철수할 수 있는 실현성이 높아집니다. 그래서 비교적 다양한 툴과 환경을 체험해 볼 수 있다는 점. CI 환경 구축을 위한 Jenkins나 테스트용 Linux 서버 관리 등 단순히 테스트 코드만 작성하는 것이 아니라 내 장기 캐리어에도 사용할 수 있는 기술을 사용할 수 있습니다.물론 제 경우와 다른 분들의 경험이 다를 수 있다고 소견합니다.하지만 10주 정도 투자해서 Selenium을 알고 있는 것은 자신이 없다고 소견합니다.2 프로젝트 환경설정 – 내가 실습 동안 사용한 프로젝트는 문장적 시리즈가 완성되면 전체 소스코드를 공개한다.그리고 해보시는 분은 이 환경설정법을 참조해 주세요.1) JDK 및 이클립스, 프로젝트의 설정 아래 URL의 기입을 참고하여 이클립스(Eclipse)의 인스톨까지 해주세요.

blog.naver.com/rudnfskf2/221492566262

이클립스 설치까지 완료되면 저는 Gradle을 사용하여 라이브러리를 관리하는 이클립스 플러그인을 설치해야 합니다.이클립스 실행 → Help → Market place..클릭 → gradle 검색 → Buildship Gradle Integration 3.0 설치

>

gradle 프로젝트를 발발합니다.

>

>

발생이 완료된 gradle 프로젝트에서 build.gradle 파일을 닷소리처럼 수정합니다.

수정 후, gradle Project Refresh 를 꼭 해주세요 – build.gradle 파일에서 마우스 우클릭 -> Gradle -> Refresh Gradle Project 클릭

>

2)Chrome Driver 설정 – 저의 경우 Chrome 드라이버는 C:@selenium 폴더 안에 위치시켜 사용하고 있습니다.

>

제가 실습 중에 사용하는 chromedriver는 이 포스팅 첨부파일에서 다운받을 수 있습니다. 2. 웹페이지상의 요소를 선택한다(webdriver의 find Element 메서드)-요소 란? 웹페이지를구성하고있는HTML태그로생각하세요.

>

Selenium은 웹페이지를 구성하고 있는 HTML의 태그를 선택하여 선택된 태그를 조작할 것이다.findElement 메서드를 사용해 요소를 선택하는 방법으로 8가지가 존재할 것이다.1. HTML 태그의 id 속성값: id는 주로 유일한 요소의 값으로 설정되는 2. HTML 태그의 class 속성값: 표와 같은 연속으로 나타나는 요소의 값으로 설정되는 3. HTML 태그의 tag Name 4. HTML 태그의 name 속성값 5. HTML 태그가 가진 모든 문자열이 경우(link Text)+a 태그 전용 6. HTML 문자열이 조작하기 위한 객체의 값으로 이해한다.​​

3)실행하여 결과확인

4. 후기-요소를 선택하는 것은 Selenium으로 웹페이지를 조작하는데 사실상 가장 중요한 것이라고 생각합니다.쉽지만 기본이 안돼 있으면 응용은 무리겠죠.더서리 포스팅은 웹 페이지상의 요소를 선택하는 2xpath와 CssSelector를 사용한 요소선택이 됩니다.5. 참고 자료 www.amazon.co.jp/dp/4774178942/ref=asc_df_47741789422630814/?tag=#pgo-22_creative=9303_creative ASIN=4774178942_linkCode=df0_hvadid=295706574430_hvpos=1o3_hvnetw=g_hvrand=17586436753933972124_hvpone=#hvpos=#hvphvpos=1hv=1hv=1=1=1,08080808080=1=1=1vv=1

www.amazon.co.jp/dp/4873116953/ref=asc_df_48731169532630814/?tag=“#pgo-22″|creative=9303|creativeASIN=4873116953|linkCode=df0|hvadid=295719984664|hvpos=1o6|hvnetw=g|hvrand=1758643675393124||hvpone=#hvptw=”#hvptw=”#hvdetw=”330323723723727272727272722″|||||322″||