공부방/셀레니움_Java 5

5. 셀레니움 동작 코드

1. ChromeDriver 자동다운과 특정 url을 파라미터로 받아 실행하게끔 필자가 만든 ChromeApp클래스이다. 기본적으로 static void setup()은 클래스로부터 인스턴스가 만들어질 때 한번 세팅되며, 이때, chromeDriver가 생성된다. setChromeUrl : 접속할 url을 설정한다. startChrome : 옵션을 세팅하여 브라우저를 연다. getDriver : 변수로 저장하고 있는 driver객체를 넘긴다. setChromeUrl : 파라미터로 받은 URL로 이동한다. closeChrome : driver 자원을 close한다. 2. Java AWT와 연계하여 Korail(코레일) 홈페이지의 자동 로그인 테스트를 해보았다. (일부코드는 보안상 지움) 리소스 관련한 코드..

4.셀레니움 setup 코드

필자는 이전 Dependency 설정에 셀레니움 4버전을 사용하였다. 기존 3버전과의 큰 차이라고 함은 ChromeDriver에 대한 설정을 따로 안하며, 동적으로 자신의 Chrome 버전에 맞게 다운해주고 연결하는 설정이 가능하다는 것이다. 기존 소스와 현재 나의 소스를 비교하는 방식으로 작성하겠다. [기존] 1. 자신의 크롬 버전에 맞는 크롬 드라이버를 설치한다. (https://chromedriver.chromium.org/downloads) 2. Java코드에 셀레니움 import를 위한 jar를 다운받는다.(maven, gradle의 경우 dependency 설정으로 가능함) 3. 아래 소스를 통하여 다운받은 크롬드라이버로 브라우저를 통제한다. WebDriver driver = webdriver..

2.셀레니움의 동작원리

1. 개발자는 Python, Java와 같은 언어를 이용하여 개발을 하게 된다. 2. 위의 개발을 통해 만들어진 프로그램은 구동시 JSON 형식을 통하여 Selenium WebDriver 모듈을 작동시키는 것으로 보임 (import, dependency를 동하여 모듈을 끌어와야 함) 3. WebDriver는 실제 브라우저를 통제하게 되는데, 프로토콜은 HTTP로 보임. https://kadensungbincho.tistory.com/75 셀레니움 내부구조 (Selenium Internals) 이 글에서는 자동화 웹 테스트나 웹 스크래핑을 진행해보셨다면, 한 번쯤은 들어보셨을 셀레니움(Selenium)의 내부구조를 살펴보려 합니다. 먼저 넓은 범위의 아키텍쳐를 살펴보고, 실제 주요 로 kadensungbi..

1.셀레니움이란

셀레니움이란 셀레니움은 웹 애플리케이션 테스트를 위한 프레임워크입니다. 웹에 하는 명령을 코드화시켜서 작동시킵니다. 다양한 브라우저 작동을 지원하며 크롤링에도 활용됩니다. 현존하는 거의 모든 웹브라우저를 다양한 언어를 통해 제어 가능합니다. 크롤링에서는 정적, 동적 페이지 크롤링으로도 접근이 불가능한 데이터에 접근할 때 유용하게 사용됩니다. -> 브라우저(웹)에서 사용자가 화면(클릭, 입력, 화면, 데이터) 에 대하여 코드로 통제할 수 있는 자동화 테스트 툴이다. 필자는 크롤링, 매크로를 위하여 해당툴을 사용하였다. 참조한 사이트 : https://luminitworld.tistory.com/90 셀레니움(selenium)으로 크롤링(스크래핑) ( 본 글의 크롤링은 크롤링이라기보다 스크래핑이 더 가깝습니..

3.셀레니움 Java Dependency

Java에서 셀레니움을 사용하기 위해서는 jar파일들이 필요하다. 다음은 필요한 jar파일들을 위한 gradle dependency 설정이다 compile group: 'org.seleniumhq.selenium', name: 'selenium-support', version: '2.43.1' implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '4.8.0' implementation("io.github.bonigarcia:webdrivermanager:5.3.3") selenium-java : 셀레니움을 기동하는 Driver와 같은 필수 요소들을 포함한 jar(필수임) selenium-support : 셀레니움..