Cucumber Selenium Tutorial – 웹 사이트 테스트 수행 방법 알아보기



Cucumber Selenium Tutorial에 대한이 기사는 Cucumber 도구의 작동을 이해하는 데 도움이 될 것입니다. 또한 Cucumber를 Selenium과 통합하고 다양한 테스트 케이스를 실행하는 방법도 배우게됩니다.

의심 할 여지없이 분야에서 환상적인 도구 중 하나입니다 , 그러나 코드의 복잡성으로 인해 비전문가가 작업을 이해하는 것이 약간 어려울 수 있습니다. 이 작업을 쉽게하기 위해 Cucumber가 등장하여 복잡한 코드를 간단하고 이해하기 쉽게 만듭니다. 하지만 정확히 어떻게할까요? Cucumber Selenium Tutorial에 대한이 기사를 통해 그것에 대해 모두 말할 것입니다.

다음은이 기사의 주제입니다.





오이 소개

오이 로고-Cucumber Selenium Tutorial-Edureka

지원하는 테스트 접근 방식 / 도구입니다. 행동 주도 개발 (BDD). 기술 지식의 범위에 관계없이 누구나 이해할 수있는 테스트를 작성하는 방법을 제공합니다.



c 기반 자바

응용 프로그램의 동작을 간단한 영어 텍스트로 설명합니다. 작은 오이 언어. 나는 당신이 오이가 무엇인지 엿볼 수 있기를 바랍니다. 이제 더 나아가 테스트 프레임 워크에서 Cucumber의 필요성을 설명하는 몇 가지 사실을 이해하겠습니다.

왜 오이?

음, Cucumber는 아래에 나열된 이유 때문에 가장 인기있는 도구 중 하나입니다.

  1. 오이는 오픈 소스 따라서 무료로 사용할 수 있습니다.
  2. Cucumber를 사용하면 다음과 같이 작성할 수 있습니다. 테스트 스크립트 다음과 같은 여러 언어로 , 루비 , .그물, 등
  3. 또한 다음과 통합됩니다. , Ruby on Rails , Watir 및 기타 웹 기반 테스트 도구.
  4. 오이는 가장 널리 사용되는 BDD 도구.

이것들은 Cucumber가 웹 사이트 테스트에 도움이되는 몇 가지 고유 한 기능입니다. 이제 Cucumber가 무엇이며 왜 필요한지 알았으니, 비전문가가 테스트 사례를 쉽게 이해할 수 있도록하는 Cucumber의 고유 한 기능 중 하나를 이해해 보겠습니다.



행동 주도 개발 (BDD)

아주 간단히 말해서 BDD 또는 행동 중심 개발 사양 또는 테스트 케이스가 문장과 같은 평범한 영어로 작성되는 기술입니다. 이러한 접근 방식을 사용하면 비 기술적 인 팀 구성원이 흐름을 쉽게 이해하고 소프트웨어 개발 프로세스에서 더 많은 협업을 수행 할 수 있습니다.

간단한 예를 들어 이해합시다. Twitter 웹 사이트를 테스트하려는 시나리오를 고려하십시오. 테스트 시나리오 중 하나는 로그인 자격 증명을 확인하는 것입니다. BDD를 사용하면이 테스트 시나리오를 다음 형식으로 작성할 수 있습니다.

기능 : Twitter 연기 시나리오 테스트 시나리오 : 유효한 자격 증명으로 로그인 테스트 주어진 경우 firefox를 열고 응용 프로그램 시작 유효한 사용자 이름과 유효한 암호를 입력하면 사용자가 성공적으로 로그인 할 수 있어야합니다.

위의 예에서 시나리오를 정의하기 위해 간단한 영어로 몇 가지 문장을 작성했습니다. 이 기사의 뒷부분에서이 시나리오와 그 구현에 대한 더 많은 통찰력을 제공 할 것입니다. 지금은, Cucumber Selenium Tutorial 기사에서 더 나아가 Selenium의 기본 사항에 대해 알아 보겠습니다.

셀레늄 소개

선호됩니다 웹 브라우저에서 수행되는 테스트 자동화와 관련하여 도구입니다. 웹 응용 프로그램 테스트에만 유용합니다. 모든 데스크톱 (소프트웨어) 애플리케이션 또는 모바일 애플리케이션은 Selenium을 사용하여 테스트 할 수 없습니다. 기능 테스트 케이스를 작성하는 데 매우 유용합니다. 또한‘ 엔' 테스트 케이스의 수이며 웹 애플리케이션에 가장 적합한 자동화 도구입니다.

이제 Selenium이 무엇인지 알았으니 Cucumber Selenium Tutorial에 대한이 기사에서 더 나아가서 Cucumber를 Selenium과 함께 사용하는 이유를 이해하겠습니다.

왜 오이를 셀레늄과 함께 사용합니까?

많은 조직에서 ...에 대한 기능 및 회귀 테스트 .Selenium과 Cucumber는 웹 애플리케이션 자동화와 관련하여 훌륭한 조합입니다. Cucumber를 사용하면 영어와 유사한 언어로 테스트를 빠르게 작성할 수 있고 Selenium을 사용하면 다양한 브라우저 조합에서 실행할 수 있습니다.

오이 도구는행동 주도 개발 프레임 워크 다리 역할을 사이소프트웨어 엔지니어와 비즈니스 분석가 및수동 테스터 및 개발자.

테스트 자동화를 위해 Cucumber와 함께 Selenium을 사용하는 경우 비즈니스 분석가와 같은 민첩한 환경에서 다양한 이해 관계자가 이해할 수있는 기능 파일로 테스트가 작성됩니다. Cucumber는 또한 여러 스크립트 및 프로그래밍 언어를 지원하는 기능을 제공하며 JUnit은 이러한 스크립트를 실행하고 출력을 생성하는 데 사용됩니다.

이것을 이해 했으니 이제 Cucumber 애플리케이션을 만들고 테스트 케이스를 실행하는 다양한 단계를 살펴 보겠습니다.

Cucumber 애플리케이션을 만드는 단계

Cucumber 애플리케이션 생성과 관련된 다양한 단계는 다음과 같습니다.

  1. Cucumber 및 Selenium의 Jar 파일을 다운로드하고 빌드 경로를 구성하십시오.
  2. Eclipse Marketplace에서 Cucumber 플러그인을 추가합니다.
  3. 기능 파일을 만들고 시나리오를 추가합니다.
  4. 시나리오에 대한 단계를 구현하십시오.
  5. 러너 클래스를 작성하고 코드를 실행합니다.

이제 각 단계를 자세히 이해하겠습니다.

1 단계: Cucumber 및 Selenium Jar 파일 다운로드

오이 실제로 브라우저와 상호 작용하지 않으며 수행 테스트중인 웹 사이트의 작업. 웹 사이트와 상호 작용 이다 그 행동 이다 수행자 . 이런 이유로 필요할 것이예요 다운로드 오이 뿐만 아니라 Selenium Webdriver jar 파일 . 시스템에 Selenium을 설치하는 방법을 알고 싶다면이 기사를 확인하십시오. 다음은 Cucumber 용 jar 파일 목록입니다.

  • 오이 코어
  • 오이 -html
  • 커버리지 코드 커버리지
  • 오이-자바
  • 오이 Junit
  • 오이 -jvm-deps
  • 오이보고
  • 햄 크레스트 코어
  • 작은 오이
  • Junit

이 jar 파일을 다운로드하면 Maven 저장소 , 프로젝트의 빌드 경로를 구성하고 모든 .항아리 아래 스냅 샷에 표시된 파일 및 라이브러리.

2 단계: 다음 단계는 Eclipse에 Cucumber를 설치하는 것입니다. 이를 위해서는 다음으로 이동해야합니다. 도움말-> Eclipse Marketplace-> Cucumber 검색 설치 오이와 원주민 당신의 일식에. 아래 스냅 샷은 동일하게 설명합니다.

3 단계 : Cucumber를 구성한 후 다음 단계는 기능 파일을 생성하는 것입니다. 먼저 새 소스 폴더를 생성 한 후 아래와 같이 기능 파일을 추가해야합니다.

다음으로 아래와 같이 기능 파일의 이름을 지정해야합니다.

기능 파일을 생성하면 아래 코드와 같이 시나리오를 작성할 수 있습니다.

테스트 시나리오 I :

기능 : 응용 프로그램 시나리오의 로그인 페이지에서 기능 재설정 : 재설정 버튼이 주어짐 확인 Firefox를 열고 사용자 이름과 암호를 입력 한 다음 자격 증명을 재설정 할 때 응용 프로그램을 시작합니다.

4 단계 : 그런 다음 단계 정의를 사용하여 시나리오를 구현해야합니다. 아래 코드에서는 기능 파일에 작성한 시나리오에 대한 메서드를 구현했습니다.

package stepDefinitions import cucumber.api.java.en.Given import cucumber.api.java.en. Then import cucumber.api.java.en. When public class Steps {@Given ( '^ Open the Firefox and launch the application $' ) public void open_the_Firefox_and_launch_the_application () throws {System.out.println ( '이 단계는 Firefox를 열고 응용 프로그램을 시작합니다.')} @When ( '^ 사용자 이름과 암호 입력 $') public void enter_the_Username_and_Password () throwable { System.out.println ( '이 단계는 로그인 페이지에 사용자 이름과 암호를 입력합니다.')} @Then ( '^ 자격 증명 재설정 $') public void Reset_the_credential () throws Throwable {System.out.println ( '이 단계 재설정 버튼을 클릭하십시오. ')}}

5 단계 : 이제 마지막 단계는‘ 러너 클래스 ' 프로그램을 실행하십시오. 기본적으로 프로젝트 구조는 아래 스냅 샷에 묘사 된 것과 같아야합니다.

위의 스냅 샷에서‘ Runner.java’ 실행 파일입니다. 이제이 파일을 코딩하고 작동 방식을 이해하겠습니다.

package Runner import org.junit.runner.RunWith import cucumber.api.CucumberOptions import cucumber.api.junit.Cucumber @RunWith (Cucumber.class) @CucumberOptions (features = 'features', glue = { 'stepD'}) 공용 클래스 러너 {}

위의 코드에는‘@CucumberOptions '기능 파일과 Runner 파일 모두의 패키지 이름을 지정합니다. 그래서 그것은 메소드를 구현하고 코드를 실행할 것입니다. 프로그램을 실행하면 단계 정의의 메소드가 표시됩니다. 너의 산출 아래와 같이 보여야합니다.

이 단계는 Firefox를 열고 응용 프로그램을 시작합니다. 이 단계에서는 로그인 페이지에 사용자 이름과 암호를 입력합니다. 이 단계에서는 재설정 버튼을 클릭합니다. 1 시나리오 (32m1 통과) 3 단계 (32m3 통과) 0m0.185s

따라서 이것이 모든 파일을 작성하고 프로그램을 실행하는 방법입니다.

테스트 시나리오 II :

이제 Selenium과 Cucumber를 통합 한 시나리오를 하나 더 이해하겠습니다.Twitter 웹 사이트를 테스트하려는 시나리오를 고려하십시오. 테스트 시나리오 중 하나는 로그인 자격 증명을 확인합니다. BDD를 사용하면이 테스트 시나리오를 다음 형식으로 작성할 수 있습니다.

자바에서 배열을 동적으로 할당하는 방법
기능 : Twitter 연기 시나리오 테스트 시나리오 : 유효한 자격 증명으로 로그인 테스트 주어진 경우 firefox를 열고 응용 프로그램 시작 유효한 사용자 이름과 유효한 암호를 입력하면 사용자가 성공적으로 로그인 할 수 있어야합니다.

다음으로 모든 시나리오를 구현하는 단계 정의 클래스를 작성하겠습니다.

package stepD import java.util.concurrent.TimeUnit import org.openqa.selenium.By import org.openqa.selenium.WebDriver import org.openqa.selenium.firefox.FirefoxDriver import cucumber.api.java.en.Given import cucumber.api .java.en.Then import cucumber.api.java.en. When public class SmokeTest {WebDriver driver @Given ( '^ Open the firefox and start application $') public void open_the_firefox_and_start_application () throws Throwable {System.setProperty ( 'webdriver .gecko.driver ','C : geckodriver-v0.23.0-win64geckodriver.exe ') driver = new FirefoxDriver () driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS) driver.get ('https : //twitter.com/login ')} @When ('^ I enter valid username and valid password $ ') public void I_enter_valid_username_and_valid_password () throwable {driver.findElement (By.xpath ('// input [@ placeholder =) '전화, 이메일 또는 사용자 이름'] ')). sendKeys ('your_username ') driver.findElement (By.xpath ('// div [@ class = 'clearfix field'] // input [@ placeholder = 'Password'] ')). sendKeys ('yo ur_password ')} @Then ('^ user는 성공적으로 로그인 할 수 있어야합니다 $ ') public void user_should_be_able_to_login_successfully () throwable {driver.findElement (By.xpath ('// button [@ class = 'submit EdgeButton EdgeButton--primary) EdgeButtom--medium ']')). click ()}}

위의 프로그램에서 나는 Firefox 브라우저를 시작하고driver.get ()Twitter 로그인 페이지를 탐색합니다. 또한 다음을 사용하여 사용자 이름 및 암호 텍스트 상자를 찾습니다. 유효한 자격 증명을 입력하십시오. 마지막으로 성공적으로 로그인하고 테스트 케이스를 실행합니다. 테스트의 통과 또는 실패 여부를 확인하려면 실행기를 JUnit 테스트로 실행해야합니다.

아래 스냅 샷은 프로그램의 출력을 보여줍니다.

이것이 모든 파일을 작성하고 프로그램을 실행하는 방법입니다. 그래서 그것은 모두 Cucumber Selenium Tutorial에 관한 것입니다. 개념을 이해하고 지식에 가치를 더하는 데 도움이 되었기를 바랍니다. 이제 Selenium에 대한 더 많은 통찰력을 얻으려면 .

이“Cucumber Selenium Tutorial ”관련, 체크 아웃 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다.

질문이 있으십니까? Cucumber Selenium Tutorial 기사의 댓글 섹션에 언급 해 주시면 다시 연락 드리겠습니다.