2022년 Eclipse를 사용한 32개의 샘플 Selenium 프로젝트

게시 됨: 2021-01-04

Selenium은 웹 테스트의 자동화 섹션에서 눈에 띄는 기술 중 하나입니다. 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 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

미래의 직업을 위한 준비

지금 소프트웨어 공학 석사 지원