2022년 Eclipse를 사용한 32개의 샘플 Selenium 프로젝트
게시 됨: 2021-01-04Selenium은 웹 테스트의 자동화 섹션에서 눈에 띄는 기술 중 하나입니다. Selenium을 적절하게 사용하면 테스트 프로세스를 매우 효율적으로 만들고 짧은 시간 내에 여러 작업을 완료할 수 있습니다.
그렇기 때문에 Selenium을 배우는 것이 많은 의미를 갖게 되었습니다. 이 기사에서는 Java 기반 프로젝트에 널리 사용되는 또 다른 기술인 Eclipse를 사용하여 Selenium 프로젝트에서 작업하는 방법을 배웁니다.
먼저 이러한 기술의 기본 사항에 대해 설명합니다. 그런 다음 Eclipse를 사용하여 Selenium 프로젝트를 시작하는 방법을 살펴보겠습니다. 영감을 얻을 수 있는 샘플 프로젝트도 공유했습니다. 시작하자.
목차
셀레늄이란 무엇입니까?
Selenium은 이식 가능한 프레임워크이자 웹 앱 테스트에 널리 사용되는 도구입니다. Python, C# 및 Java와 같은 여러 프로그래밍 언어와 호환됩니다. 이러한 언어를 사용하여 테스트 스크립트 생성과 같은 Selenium으로 다양한 작업을 수행할 수 있습니다. 여전히 대부분의 사용자는 이 프레임워크와 함께 Java를 사용하는 것을 선호합니다. 다른 프레임워크보다 사용자 친화적이기 때문입니다.
Selenium은 단일 소프트웨어 응용 프로그램이 아닙니다. 다양한 종류의 테스트를 수행하는 데 사용할 수 있는 다양한 도구 모음입니다.
Selenium에는 제품군에 다음 도구가 있습니다.

- Selenium IDE(통합 개발 환경)
- 셀레늄 웹드라이버
- 셀레늄 클라이언트 API
- 셀레늄 원격 제어(더 이상 사용되지 않음)
- 셀레늄 그리드
Jason Huggins는 2004년에 Selenium을 만들었습니다. 그는 반복적인 수동 테스트 프로세스를 자동화하고 싶어 JavaScript 프로그램을 만들었습니다. 같은 프로그램이 Selenium Core가 되었습니다. Jason 외에도 많은 다른 개발자들이 Selenium 제품군을 만드는 데 기여했습니다.
이름이 셀레늄인 이유
셀레늄은 농담에서 이름을 따왔습니다. 개발 당시 Mercury Interactive라는 또 다른 주요 자동화 테스트 프레임워크가 있었습니다. 제이슨은 셀레늄이 수은 중독에 대한 인기 있는 해독제이기 때문에 친구에게 셀레늄을 농담으로 제안했습니다. 그의 친구들은 그 제안을 받아들였고 지금의 이름을 지었습니다.
셀레늄의 특징
셀레늄에는 많은 기능이 있습니다. 가장 눈에 띄는 것은 다음과 같습니다.
- Selenium은 Chrome, Opera, Safari 등을 포함하여 업계의 거의 모든 주요 브라우저와 호환됩니다.
- 이 제품군에는 Selenese라고 하는 특정 명령 그룹이 있습니다. 그들은 모든 Selenium 명령의 순서를 유지합니다.
- Selenium의 요소 로케이터를 통해 웹 페이지에서 요소를 찾을 수 있습니다.
- Selenium을 사용하여 데스크톱 애플리케이션이나 모바일 앱을 테스트할 수 없습니다. 웹 앱 테스트에만 사용할 수 있습니다.
읽기: 셀레늄 프로젝트 아이디어
메이븐이란?
Maven은 개발자가 주로 Java 프로젝트에 사용하는 자동화 도구입니다. Java 외에도 C#, Scala, Ruby 등과 같은 여러 다른 프로그래밍 언어와 함께 사용할 수 있습니다. Apache Software Foundation의 제품이므로 오픈 소스 도구입니다.
Maven은 빌드 프로세스를 훨씬 더 간단하게 만들고 균일한 빌드 시스템을 제공합니다. 이는 Java 개발자가 Java 프로젝트에서 작업하는 동안 최고의 개발 사례를 따르도록 합니다. 2002년에 업계에 진출했으며 그 이후로 가장 중요한 Apache 프로젝트 중 하나가 되었습니다.
메이븐이라는 이름은 '지식의 축적자'를 의미하는 이디시어 'maven'에서 유래했습니다.
메이븐의 특징
- Maven은 다양한 프로젝트 간의 일관성을 보장합니다.
- 모듈 또는 프로젝트에 대한 상용구를 제공하여 프로젝트 설정을 단순화합니다.
- 한 번에 여러 프로젝트 작업 가능
- Maven은 많은 경우에 스크립팅 없이 WAR 또는 JAR과 같은 특정 출력 유형으로 프로젝트를 빌드할 수 있습니다.
- POM(프로젝트 개체 모델)을 기반으로 합니다.
이제 Selenium과 Maven에 대해 논의했으므로 Eclipse IDE를 이해해 보겠습니다. Eclipse를 사용하여 Selenium 프로젝트에서 작업하려면 이 세 가지에 대한 작업 지식이 중요합니다.
이클립스 IDE는 무엇입니까?
Eclipse는 개발자가 Selenium 및 관련 기술로 작업할 수 있도록 도와주는 IDE(통합 개발 환경)입니다. Eclipse를 사용하여 C++, Ruby, Python, C, Perl, Java 등으로 애플리케이션을 개발할 수 있습니다.
이클립스 IDE의 기능
- 무료로 사용할 수 있는 오픈 소스 도구입니다.
- Eclipse IDE의 기본 플랫폼에는 여러 플러그인이 있으며 더 많은 플러그인으로 확장할 수 있습니다.
- 해당 플러그인을 사용하여 Eclipse를 모든 프로그래밍 언어용 IDE로 변환할 수 있습니다.
- JDT(Java Development Tools) 프로젝트는 Eclipse를 Java IDE로 사용할 수 있는 플러그인을 제공합니다. 마찬가지로 PyDev는 Eclipse를 Python IDE로 사용할 수 있게 해주는 플러그인입니다.
- Eclipse 플랫폼 및 해당 플러그인을 사용하여 IDE, 클라이언트 애플리케이션 등을 생성할 수 있습니다.
Eclipse IDE로 Selenium 프로젝트를 만드는 방법
이 기사 섹션에서는 Eclipse를 사용하여 Selenium 프로젝트를 만드는 방법을 살펴보겠습니다. Selenium 프로젝트 작업의 첫 번째 단계이며 많은 초보자가 어려움을 겪습니다.
Eclipse를 통해 Selenium 프로젝트를 생성하기 전에 시스템에 Maven과 TestNG가 설치되어 있어야 합니다. 이 프로세스를 시작하기 전에 설치했는지 확인하십시오(Maven 및 TestNG).
1 단계:
Eclipse를 열고 패키지 탐색기 섹션을 마우스 오른쪽 버튼으로 클릭합니다. 메뉴 팝업이 표시됩니다. '새로 만들기' 버튼을 선택하면 '기타…' 옵션을 선택할 수 있는 다른 메뉴가 열립니다.
2 단계:
"기타..." 버튼을 클릭하면 새 창이 열립니다. Maven 프로젝트를 선택하고 '다음' 버튼을 클릭합니다.
3단계:
이제 새 창이 나타납니다. 여기에서 '간단한 프로젝트 만들기(아키타입 선택 건너뛰기)' 상자를 선택해야 합니다. 그런 다음 "다음"버튼을 선택하십시오.
4단계:
이 섹션에서는 그룹 ID와 아티팩트 ID를 입력해야 합니다. 둘 다 프로젝트 이름 지정에 중요합니다. 그룹 ID는 다른 모든 프로젝트에서 프로젝트를 식별하는 데 도움이 됩니다. 패키지 이름 규칙을 따라야 합니다. 즉, 사용자가 제어하는 역방향 도메인 이름으로 시작해야 합니다. Maven은 이 명명 규칙을 적용하지 않습니다. 그러나 도구의 엄청난 인기로 인해 이 규칙을 따르는 것이 일반적인 관행이 되었습니다. 그룹 ID로 여러 하위 그룹을 만들 수도 있습니다.
Artifact Id는 버전이 없는 jar의 이름입니다. 작성자가 이상한 기호를 사용하지 않고 소문자만 사용하는 한 원하는 이름을 선택할 수 있습니다.
프로젝트의 그룹 ID 및 아티팩트 ID를 입력할 때 위의 사항을 염두에 두십시오. 이러한 세부 정보를 입력했으면 "마침" 버튼을 클릭합니다.
5단계:
프로젝트의 POM 파일에 필요한 종속성을 추가해 보겠습니다. pom.xml 파일로 이동하여 Eclipse에서 'pom.xml' 탭을 선택합니다. 이제 TestNG 및 Selenium WebDriver와 관련된 종속성을 추가합니다.
6단계:
이 단계에서는 TestNG 클래스를 생성하여 testng.xml 파일을 가져옵니다. 이 파일에서 다음 코드를 복사합니다.
패키지 테스트;
org.openqa.selenium.WebDriver 가져오기;
org.openqa.selenium.firefox.FirefoxDriver 가져오기;
가져오기 org.testng.annotations.Test;
org.testng.annotations.BeforeClass 가져오기;
org.testng.annotations.AfterClass 가져오기;
공개 클래스 NewTest {
공개 WebDriver 드라이버;
@테스트
공개 무효 openMyBlog() {
driver.get(“https://www.softwaretestingmaterial.com/”);
}
@BeforeClass
public void beforeClass() {
System.setProperty("webdriver.gecko.driver", "D:\\Selenium\\Drivers\\geckodriver.exe");
드라이버 = 새로운 FirefoxDriver();
}
@방과후
공개 무효 afterClass() {
driver.quit();
}
}
7단계:
이제 TestNG 파일을 사용하여 Eclipse에서 Selenium 프로젝트를 실행할 수 있습니다.
다음 튜토리얼로 넘어가기 전에 위의 튜토리얼을 이해했는지 확인하십시오. 그 이유는 다음 섹션에서 Eclipse를 사용하여 빌드할 수 있는 Selenium 프로젝트의 작업 예제를 논의할 것이기 때문입니다.
또한 읽기: 인도의 셀레늄 개발자 급여
세계 최고의 대학에서 소프트웨어 개발 과정 을 받으십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
Eclipse를 사용한 Selenium 프로젝트: 예제
여기에서 우리는 Selenium을 기반으로 한 항공권 예약 솔루션에 대한 코드를 공유했습니다. 소프트웨어는 동일한 날짜와 함께 항공편의 도착 및 출발 위치를 선택합니다. 이 도구는 MakeMyTrip 웹사이트에서 이러한 작업을 수행합니다.
이 프로젝트에서 영감을 얻어 Eclipse로 유사한 Selenium 프로젝트를 직접 만들 수 있습니다. 이전에 Selenium 프로젝트에서 작업한 적이 없다면 먼저 이 프로젝트의 더 작은 버전에서 작업하는 것이 좋습니다.
예를 들어 도착 및 출발 위치만 선택하는 프로그램을 만들 수 있습니다. 반면에 이 프로젝트를 확장하려면 더 많은 기능을 추가할 수 있습니다.

브라우저
패키지 브라우저;
org.openqa.selenium.WebDriver 가져오기;
org.openqa.selenium.chrome.ChromeDriver 가져오기;
공개 클래스 BrowserSelection
{
정적 WebDriver 드라이버;
공개 정적 WebDriver UsingChrome()
{
System.setProperty("webdriver.chrome.driver", "E:\\SeleniumLibs\\\\chromedriver_win32\\chromedriver.exe");
드라이버 = 새로운 ChromeDriver();
드라이버.관리().창().최대화();
리턴 드라이버;
}
}
코드
패키지 makemytrip;
가져오기 java.awt.AWTException;
가져오기 java.awt.Robot;
가져오기 java.awt.event.KeyEvent;
가져오기 java.util.List;
가져오기 java.util.concurrent.TimeUnit;
수입 org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
org.openqa.selenium.WebDriver 가져오기;
가져오기 org.openqa.selenium.WebDriverException;
org.openqa.selenium.WebElement 가져오기;
가져오기 org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
가져오기 org.testng.annotations.Test;
브라우저 가져오기.BrowserSelection;
공개 클래스 MakeMyTripProject
{
Web드라이버 드라이버;
@BeforeMethod
공개 무효 OpenBrowser()
{
드라이버 = BrowserSelection.UsingChrome();
}
@테스트
public void TripDetails()가 InterruptedException, AWTException을 발생시킵니다.
{
driver.get(“https://www.makemytrip.com/”);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Thread.sleep(5000);
노력하다
{
/*String frameStatus = driver.findElement(By.id("webklipper-publisher-widget-container-notification-frame")).getTagName();
System.out.println(프레임 상태);
driver.switchTo().frame("알림 프레임-31764456");
driver.findElement(By.xpath(".//*[@id='webklipper-publisher-widget-container-notification-close-div']/i")).click();
driver.switchTo().defaultContent();
Thread.sleep(3000); */
driver.findElement(By.xpath("//input[@id='hp-widget__sfrom']")).click();
driver.findElement(By.xpath("//input[@id='hp-widget__sfrom']")).clear();
//driver.findElement(By.xpath("//input[@id='hp-widget__sfrom']")).sendKeys("고아");
Thread.sleep(2000);
List<WebElement> fromCities = driver.findElements(By.xpath(“//ul[@id='ui-id-1']/li/div/p/span[1]”));
System.out.println(fromCities.size()+”\n”);
for(int i=0;i<fromCities.size();i++)
{
WebElement 요소=fromCities.get(i);
System.out.println(element.getAttribute("innerHTML"));
}
//driver.findElement(By.xpath("//ul[@id='ui-id-1']/li/div/p/span")).click();
driver.findElement(By.xpath(“//li[contains(@aria-label,'주요 도시: 고아, 인도 ')]/div/p/span[1]”)).click();
driver.findElement(By.xpath("//input[@id='hp-widget__sTo']")).click();
driver.findElement(By.xpath("//input[@id='hp-widget__sTo']")).clear();
//driver.findElement(By.xpath("//input[@id='hp-widget__sTo']")).sendKeys("뭄바이");
Thread.sleep(2000);
List<WebElement> toCities = driver.findElements(By.xpath(“//ul[@id='ui-id-2']/li/div/p/span[1]”));
System.out.println(toCities.size()+”\n”);
for(int i=0;i<toCities.size();i++)
{
WebElement 요소=toCities.get(i);
System.out.println(element.getAttribute("innerHTML"));
}
//driver.findElement(By.xpath("//ul[@id='ui-id-2']/li/div/p/span")).click();
driver.findElement(By.xpath("//ul[@id='ui-id-2']/li[3]/div/p/span[1]")).click();
Thread.sleep(2000);
driver.findElement(By.xpath("//input[@id='hp-widget__depart']")).click();
Thread.sleep(2000);
문자열 날짜 = "2018년 10월 10일";
문자열 스플리터[] = date.split("-");
문자열 월_년 = 스플리터[1];
문자열 일 = 스플리터[0];
System.out.println(month_year);
System.out.println(일);
selectDate(월_년,일);
Thread.sleep(3000);
driver.findElement(By.xpath(“//버튼[@id='searchBtn']”)).click();
Thread.sleep(5000);
Thread.sleep(2000);
JavascriptExecutor js = (JavascriptExecutor) 드라이버;
js.executeScript("window.scrollBy(0,3000)");
/*로봇 로봇 = new Robot();
로봇.키프레스(KeyEvent.VK_PAGE_DOWN);
robots.keyRelease(KeyEvent.VK_PAGE_DOWN);*/
Thread.sleep(5000);
driver.findElement(By.xpath(“//div[@id='aln_AI_dep']/span[3]”)).click();
Thread.sleep(5000);
List<WebElement> 비행 = driver.findElements(By.xpath(“//div[@class='top_first_part clearfix']/div/span/span[2]/span[1]”));
System.out.println("에어 인디아 항공편 검색 결과 번호: —“+flights.size());
} catch(WebDriverException e)
{
System.out.println("예외는 —“+e+”\n”);
}
}
public void selectDate(String monthyear, String Selectday)는 InterruptedException을 발생시킵니다.
{
List<WebElement> 요소 = driver.findElements(By.xpath(“//div[@class='ui-datepicker-title']/span[1]”));
for (int i=0; i<elements.size();i++)
{
System.out.println(elements.get(i).getText());
//월 선택
if(elements.get(i).getText().equals(monthyear))
{
//날짜 선택
List<WebElement> 일 = driver.findElements(By.xpath("//div[@class='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all UI -datepicker-multi ui-datepicker-multi-2']/div[2]/table/tbody/tr/td/a”)));
(WebElement d:일)
{
System.out.println(d.getText());
if(d.getText().equals(선택일))
{
d.click();
Thread.sleep(10000);
반품;
}
}
}
}
driver.findElement(By.xpath("//div[@class='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-datepicker-multi ui- datepicker-multi-2']/div[2]/div/a/span”)).click();
selectDate(월년,선택일);
}
@AfterMethod
공개 무효 CloseBrowser()
{
driver.quit();
}
}

읽기: 초보자를 위한 5가지 흥미로운 셀레늄 프로젝트 아이디어 및 주제
Eclipse 등을 사용하여 Selenium 프로젝트를 만드는 방법 배우기
셀레늄은 매우 중요한 기술입니다. 그것에 대해 배우면 능숙한 소프트웨어 테스팅 전문가가 되는 데 도움이 될 것입니다. 다음은 추가 읽기를 위한 Selenium 및 Maven에 대한 몇 가지 추가 리소스입니다.
- 메이븐 프로젝트를 만드는 방법
- 5가지 흥미로운 셀레늄 프로젝트 아이디어
- 30 셀레늄 인터뷰 질문과 답변
Selenium 또는 소프트웨어 테스팅에 대해 더 알고 싶다면 컴퓨터 과학 과정을 수강하는 것이 좋습니다. 대화형 퀴즈, 문제 및 프로젝트를 통해 업계 발췌문을 통해 알게 될 것입니다.
이 가이드가 유용했기를 바랍니다. 이 글이나 셀레늄에 대해 궁금한 사항이 있으시면 아래 댓글을 통해 질문해주세요. 여러분의 의견을 듣고 싶습니다.
전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 이그 제 큐 티브 PG 프로그램을 확인하십시오. 이 프로그램은 작업 전문가를 위해 설계되었으며 500 시간 이상의 엄격한 교육, 9 개 이상의 프로젝트, 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
