chromedriver selenium tutorial
Chrome 브라우저에서 Selenium Webdriver 테스트를 실행하기위한 ChromeDriver에 대한 심층 자습서 :
이 기사에서는 Selenium을 통해 자동화하는 동안 브라우저 경고 처리에 대해 설명합니다.
또한 적절한 예제 및 의사 코드와 함께 Google Chrome 브라우저 용 Selenium 스크립트 설정에 대해 자세히 설명합니다.
이 기사를 살펴보면 Selenium 용 Chrome을 설정할 수도 있으며 브라우저 별 경고를 처리 할 수 있습니다.
학습 내용 :
Selenium 용 ChromeDriver를 다운로드하는 방법은 무엇입니까?
Google Chrome 브라우저를 이미 설치했다고 가정합니다. 다음 단계는 적절한 버전의 ChromeDriver를 찾는 것입니다. Chromedriver는 WebDriver 인터페이스가 Google Chrome 브라우저를 시작하는 데 사용하는 .exe 파일입니다.
이것은 개방형 도구이므로 공식 웹 사이트 또는 Selenium 커뮤니티에서 다운로드 할 수 있습니다. 고려해야 할 유일한 점은 Chrome 브라우저 버전이 다운로드 할 chromedriver.exe와 호환되어야한다는 것입니다.
다음은 Selenium 용 크롬 설정을 구성하는 동안 따라야 할 단계입니다.
#1) 크롬 버전을 확인하세요.
Chrome 브라우저 열기-> 도움말-> Google 크롬 정보
#두) 열다 Chromedriver.exe 다운로드 최신 Google 크롬 버전 용 최신 ChromeDriver를 볼 수 있습니다. chromedriver.exe의 75 버전을 다운로드합니다.
#삼) 각 OS에 대한 chromedriver.exe 파일을 다운로드하고 해당 .exe 파일을 로컬에 복사합니다.
가짜 이메일을받는 방법
# 4) chromedriver 경로 (C : webdriver chromedriver.exe)가 프로그램에서 사용됩니다.
ChromeDriver로 Selenium 설정
이제 ChromeDriver 설정이 완료되었으므로 Selenium 코드를 실행하기위한 Eclipse 소프트웨어를 시작합니다.
다음은 Eclipse에서 Selenium 코드를 만들고 실행하기 위해 따라야 할 단계입니다.
새 Maven 프로젝트 만들기
이 단계를 통해 Selenium 코드를 실행할 수있는 빈 Maven 프로젝트를 만들 수 있습니다.
당신이해야 할 일은 File-> New-> Others-> Maven Project를 클릭합니다.
종속성 추가
위 다이어그램에서는 그룹 ID와 이슈 ID를 추가했습니다. 마침 버튼을 클릭하면 동일한 내용이 pom.xml에 반영되거나 필요합니다.
Pom.xml은 종속성을 포함하는 파일입니다. 여기에서 원하는만큼 종속성을 추가 할 수 있습니다. 종속성은 Selenium, GitHub, TestNG 등일 수 있습니다.
프로젝트 BuildPath 및 Jar 가져 오기
다음 단계는 jar 파일을 다운로드하여 프로젝트로 가져 오는 것입니다. 모든 셀레늄 병은 Google 또는 공식 메이븐 사이트
모든 jar를 다운로드 한 후 아래 단계를 순서대로 따라야합니다.
- 마우스 오른쪽 버튼으로 Maven 프로젝트 그리고 클릭 속성 .
- 클릭 Java 빌드 경로-> 라이브러리-> Jar 추가-> 적용 및 닫기.
Chrome 경고 처리
Maven을 설정했습니다. 이제 자동화를 통해 브라우저 경고 처리를 진행합니다.
브라우저 경고가 무엇인지 생각할 수 있습니까? 브라우저 경고는 브라우저에 특정한 경고이며 다른 브라우저를 사용할 때 동일한 경고가 표시되거나 표시되지 않을 수 있습니다.
예: Facebook의 예를 들어 보겠습니다. 자동화를 시도 할 때마다 www.facebook.com Chrome을 사용하면 다음과 같은 경고가 표시됩니다.
위 스크립트에서 우리는 ChromeDriver 경로를 system.setProperty ()의 인수로 전달했습니다. 이렇게하면 WebDriver가 Google 크롬을 제어 할 수 있습니다.
위의 스크립트를 실행하면 이메일 ID와 비밀번호를 사용하여 Facebook에 로그인됩니다. 그러나 스크립트를 통해 웹 사이트에서 수행 할 작업을 추가로 거부하는 경고가 나타납니다.
아래는 팝업이 어떻게 보이는지 이미지입니다.
자바 인터뷰 질문에 SOAP 웹 서비스
동일한 유형의 경고가 Myntra, Flipkart, Makemytrip, Bookmyshow 등에서 볼 수 있습니다. 이들은 ChromeOptions 클래스를 사용하여 처리 할 수있는 브라우저 별 경고입니다.
ChromeOptions 클래스
ChromeOptions 클래스는 다양한 ChromeDriver 기능을 활성화하는 메서드가있는 ChromeDriver 용 클래스입니다. 이러한 기능 중 하나는 일부 상업용 웹 사이트에 로그인하는 동안받는 알림을 비활성화하는 것입니다.
다음은 이러한 경고를 처리하기위한 의사 코드입니다.
# 1) 버전이있는 Google 크롬의 경우<= 50
ChromeOptions options = new ChromeOptions(); options.addArguments(“--disable--notifications”);
실습을위한 완전한 코드 :
package tests; import java.util.HashMap; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; public class HandlingAlerts { public static void main(String() args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'C:\webdriver\chromedriver.exe'); ChromeOptions options = new ChromeOptions(); options.addArguments('--diable--notifications'); WebDriver driver = new ChromeDriver(options); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.get('https://www.facebook.com'); WebElement element = driver.findElement(By.xpath('//*(@id = 'email')')); element.sendKeys('email id'); WebElement element2 = driver.findElement(By.xpath('//*(@id = 'pass')')); element2.sendKeys('password'); element2.submit(); } }
# 2) 버전이 50 이상인 Google 크롬의 경우
HashMap map = new HashMap(); map.put('profile.default_content_setting_values.notifications', 2); ChromeOptions options = new ChromeOptions(); options.setExperimentalOption('prefs', map); WebDriver driver = new ChromeDriver(options);
실습을위한 완전한 코드 :
package tests; import java.util.HashMap; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; public class HandlingAlerts { public static void main(String() args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'C:\webdriver\chromedriver.exe'); HashMap map = new HashMap(); map.put('profile.default_content_setting_values.notifications', 2); ChromeOptions options = new ChromeOptions(); options.setExperimentalOption('prefs', map); WebDriver driver = new ChromeDriver(options); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.get('https://www.facebook.com'); WebElement element = driver.findElement(By.xpath('//*(@id = 'email')')); element.sendKeys('email id'); WebElement element2 = driver.findElement(By.xpath('//*(@id = 'pass')')); element2.sendKeys('password'); element2.submit(); } }
두 코드 조각에 대한 설명 :
첫 번째 코드는 버전이 50 미만인 모든 Chrome 브라우저 용입니다. ChromeOptions라는 클래스의 인스턴스를 만들고 ChromeDriver에 전달한 매우 간단한 코드입니다.
두 번째 코드는 컬렉션 클래스를 사용했습니다. 우리 모두가 Java 컬렉션을 알고 있기 때문에 키와 값을 String 및 Object로 사용하는 HashMap을 사용했습니다. 그런 다음 브라우저의 기본 설정을 재정의하기 위해 put () 함수를 사용했습니다.
마지막으로 setExperimentalOption () 메서드를 사용하여 브라우저에 대한 기본 설정을 지정했습니다.
결론
Maven 프로젝트를 처음부터 만들고 설정하는 방법, pom.xml에 종속성을 추가하고 빌드 경로를 구성하는 방법과 같은 위의 개념을 살펴보면 Maven 프로젝트를 만들 수 있습니다.
또한 Google Chrome 브라우저로 Selenium을 쉽게 구성하고 Chrome 브라우저에서 모든 유형의 경고, 알림 및 팝업을 처리 할 수 있도록 도와주는 ChromeDriver 및 Chromeoptions 클래스와 관련된 개념에 대해 자세히 설명했습니다.
이 ChromDriver Selenium 튜토리얼을 즐겁게 읽으 셨기를 바랍니다 !!
추천 도서
- Cucumber Selenium 튜토리얼 : Cucumber Java Selenium WebDriver 통합
- Selenium WebDriver 소개 – Selenium Tutorial # 8
- 첫 번째 WebDriver 스크립트 구현 – Selenium WebDriver Tutorial # 10
- Selenium WebDriver에서 경고 / 팝업을 처리하는 방법-Selenium Tutorial # 16
- Eclipse로 WebDriver 전체 설정 및 설치 – Selenium Tutorial # 9
- 다양한 유형의 WebDriver 명령을 사용하여 웹 요소의 가시성 확인 – Selenium Tutorial # 14
- Selenium Vs Katalon Studio : Katalon Studio에서 Selenium 테스트를 단순화하는 방법
- GeckoDriver Selenium 튜토리얼 : Selenium 프로젝트에서 GeckoDriver를 사용하는 방법