오이가 포함된 셀레늄(BDD 프레임워크)


이 튜토리얼에서는 Cucumber를 Selenium Webdriver와 통합하는 방법을 배웁니다.

오이는 무엇입니까?

Cucumber는 BDD(행동 중심 개발)를 지원하는 테스트 접근 방식입니다. Gherkin 언어를 사용하여 간단한 영어 텍스트로 애플리케이션의 동작을 설명합니다.

더 자세히 알아보세요 – https://www.guru99.com/cucumber-tutorials.html

셀레늄은 무엇인가?

Selenium은 자동화 도구입니다. 기능 테스트 웹 기반 애플리케이션의. Selenium은 Java, Ruby, Python C# 등과 같은 다양한 언어를 지원합니다.

더 자세히 알아보세요 – https://www.guru99.com/selenium-tutorial.html

셀레늄과 함께 오이를 사용하는 이유는 무엇입니까?

오이와 셀레늄은 두 가지 인기 있는 기술입니다.

대부분의 조직에서는 기능 테스트에 Selenium을 사용합니다. Selenium을 사용하는 이러한 조직에서는 Cucumber가 만드는 것처럼 Selenium을 Cucumber와 통합하려고 합니다. 애플리케이션 흐름을 읽고 이해하기 쉽습니다.

Cucumber 도구는 행동 중심 개발 프레임워크를 기반으로 합니다. 다리 역할을 한다 팔로우 사이에wing 사람들:

  1. 소프트웨어 엔지니어 및 비즈니스 분석가.
  2. 수동 테스터 및 자동화 테스터.
  3. 수동 테스터 및 개발자.

오이 BDD 프레임워크 또한 클라이언트가 애플리케이션 코드를 이해하는 데 도움이 됩니다. 일반 텍스트로 된 Gherkin 언어를 사용하기 때문입니다. 조직의 누구든지 소프트웨어의 동작을 이해할 수 있습니다. Gherkin의 구문은 읽고 이해할 수 있는 간단한 텍스트로 되어 있습니다.

셀레늄이 함유된 오이

셀레늄과 함께 오이를 사용하기 위한 전제 조건

오이 셀레늄 통합을 시작하기 전에 다음이 필요합니다.wing 항목 :

  • 셀레늄 jar 파일:
  • 셀레늄 서버 독립형

다음에서 다운로드할 수 있습니다. http://www.seleniumhq.org/download/

셀레늄과 함께 오이를 사용하기 위한 전제 조건

오이용 Jar 파일:

  • 오이 코어
  • 오이-html
  • 코베르투라 코드 적용 범위
  • 오이-자바
  • 오이-junit
  • 오이-jvm-deps
  • 오이보고
  • Hamcrest 코어
  • 작은 오이
  • 주니트

다음에서 다운로드할 수 있습니다. https://mvnrepository.com/search?q=Cucumber

파일을 검색하여 하나씩 다운로드해야 합니다.

예를 들어 jar 파일 중 하나(예: “Cucumber-core”)를 다운로드하는 방법을 보여 드리겠습니다.

위의 다운로드 링크를 클릭하세요. 아래 사이트로 리디렉션됩니다. 이제 아래 스크린샷과 같이 특정 병, 즉 'Cucumber Core'를 검색하세요.

셀레늄과 함께 오이를 사용하기 위한 전제 조건

다음 페이지에서 버전 1.2.2를 클릭하시면,

셀레늄과 함께 오이를 사용하기 위한 전제 조건

다음 화면에서 다운로드를 클릭하여 'Cucumber Core' jar 파일을 받으세요.

셀레늄과 함께 오이를 사용하기 위한 전제 조건

주의 사항: 귀하의 편의를 위해 Maven에서 다운로드하는 데 필요한 jar 파일을 번들로 묶었습니다. 여기를 눌러 더 많은 정보를 찾으세요.. 시간이 지나면 이러한 jar가 업데이트되어 호환되지 않게 될 수 있습니다. 위에 설명된 방법을 사용하여 다운로드하라는 요청을 받습니다.

오이와 셀레늄을 사용한 자동화 테스트.

셀레늄과 함께 오이를 사용하는 단계를 단계별로 살펴보겠습니다. 여기서는 3가지 시나리오를 다룹니다.

  • 시나리오 1: 콘솔에 텍스트를 인쇄합니다.
  • 시나리오 2: 로그인 자격 증명을 입력하고 값을 재설정합니다.
  • 시나리오 3: Guru99에 로그인 자격 증명을 입력하고 값을 재설정합니다. 3개의 데이터 세트에 대해 이 작업을 수행합니다.

시나리오 1: 콘솔에 텍스트를 인쇄합니다.

이 시나리오에서는 Cucumber를 사용하여 콘솔에 텍스트를 인쇄합니다.

단계 1) 프로젝트 생성 eclipse.

아래 스크린샷과 같이 "CucumberWithSelenium"이라는 이름으로 Java 프로젝트를 만듭니다.

오이와 셀레늄을 사용한 자동화 테스트

오이와 셀레늄을 사용한 자동화 테스트

단계 2) 프로젝트에 Jar 파일을 추가합니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하고 Java 빌드 경로로 이동합니다. 이전에 다운로드한 모든 라이브러리를 추가합니다.

오이와 셀레늄을 사용한 자동화 테스트

단계 3) 기능 파일 생성

기능 파일을 생성하려면 먼저 아래 스크린샷과 같이 기능 폴더를 생성하십시오.

오이와 셀레늄을 사용한 자동화 테스트

이제 폴더 이름 'Features'를 입력하고 'Finish' 버튼을 클릭하세요.

오이와 셀레늄을 사용한 자동화 테스트

오이와 셀레늄을 사용한 자동화 테스트

이제 'Features' 폴더에 "MyTest.feature"라는 이름의 기능 파일을 생성합니다. 프로세스는 폴더 생성과 유사합니다.

오이와 셀레늄을 사용한 자동화 테스트

참고 : Cucumber를 설치해야 할 수도 있습니다. Eclipse 이를 작동시키기 위한 플러그인입니다. Goto — 도움말->새 소프트웨어 설치->링크 복사 붙여넣기 http://cucumber.github.io/cucumber-eclipse/update-site/ 설치하다

단계 4) 시나리오를 작성하세요.

아래 줄은 아래와 같이 Gherkin 언어를 사용하여 'MyTest.feature' 파일에 작성됩니다.

Feature: Reset functionality on login page of Application 


Scenario: Verification of Reset button 


Given Open the Firefox and launch the application			


When Enter the Username and Password			


Then Reset the credential			

코드 설명

라인 1) 이 줄에서는 비즈니스 기능을 작성합니다.

라인 2) 이 줄에서는 테스트할 시나리오를 작성합니다.

라인 3) 이 줄에서 전제 조건을 정의합니다.

라인 4) 이 줄에서는 수행해야 할 작업을 정의합니다.

라인 4) 이 줄에서는 예상되는 결과 또는 결과를 정의합니다.

단계 5) Selenium Cucumber 프레임워크 설계를 위한 Selenium 테스트 실행기 스크립트 작성

여기에서는 'TestRunner' 패키지를 만든 다음 그 아래에 'Runner.java' 클래스 파일을 만듭니다.

package TestRunner;		

import org.junit.runner.RunWith;		
import cucumber.api.CucumberOptions;		
import cucumber.api.junit.Cucumber;		

@RunWith(Cucumber.class)				
@CucumberOptions(features="Features",glue={"StepDefinition"})						
public class Runner 				
{		

}

위의 Cucumber Java 예제 코드에서 다음을 실행합니다. 오이 테스트 follo를 사용하여wing 주석 :

@런위드() 주석은 테스트 실행을 시작하기 위한 테스트 실행기 클래스에 대해 알려줍니다.

@오이옵션() 주석은 기능 파일, 단계 정의 등과 같은 오이 테스트의 일부 속성을 설정하는 데 사용됩니다.

TestRunner 파일의 스크린샷.

오이와 셀레늄을 사용한 자동화 테스트

단계 6) 단계 정의 스크립트를 생성 중입니다.

이제 여기서는 'StepDefinition' 패키지를 만든 다음 그 아래에 'Steps.java' 스크립트 파일을 만듭니다. 여기에서는 Cucumber 방법으로 테스트를 수행하기 위해 실제로 셀레늄 스크립트를 작성합니다.

package StepDefinition;		

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 Throwable							
    {		
        System.out.println("This Step open the Firefox and launch the application.");					
    }		

    @When("^Enter the Username and Password$")					
    public void enter_the_Username_and_Password() throws Throwable 							
    {		
       System.out.println("This step enter the Username and Password on the login page.");					
    }		

    @Then("^Reset the credential$")					
    public void Reset_the_credential() throws Throwable 							
    {    		
        System.out.println("This step click on the Reset button.");					
    }		

}

위 코드에서는 'Steps'라는 이름으로 클래스가 생성되었습니다. 오이 주석은 기능 파일과 매핑하는 데 사용됩니다. 각 주석 방법은 다음과 같이 정의됩니다.

@주어진 열려는 주석 정의 방법 firefox 그리고 응용 프로그램을 실행

@언제 사용자 이름과 비밀번호를 입력하는 주석 정의 방법

@그 다음에 자격 증명을 재설정하는 주석 정의 메소드

각 방법에서는 메시지만 인쇄합니다.

아래는 'Steps.java' 스크립트와 프로젝트 트리의 스크린샷입니다.

오이와 셀레늄을 사용한 자동화 테스트

참고 : 단계 정의는 이 오이 방법에서 수행하려는 단계일 뿐입니다.

단계 7) 스크립트를 실행합니다.

사용자는 아래 스크린샷에 표시된 것처럼 테스트 실행기 스크립트, 즉 'Runner.java'에서 이 스크립트를 실행할 수 있습니다.

오이와 셀레늄을 사용한 자동화 테스트

단계 8) 출력을 분석합니다.

Runner.java 스크립트를 실행하면 콘솔에 텍스트가 표시됩니다. 'Steps.java' 스크립트에 정의된 것과 동일한 텍스트입니다.

오이와 셀레늄을 사용한 자동화 테스트

시나리오 2: 로그인 자격 증명을 입력하고 값을 재설정합니다.

여기서는 Guru99 데모 로그인 페이지에 Credential을 입력하고 값을 재설정하겠습니다.

시나리오 2의 경우 'Steps.java' 스크립트만 업데이트하면 됩니다. 여기서는 실제로 아래 단계에 표시된 대로 셀레늄 스크립트를 작성합니다. 먼저 이 프로젝트에 Selenium jar 파일을 추가해야 합니다.

로그인 자격 증명을 입력하고 값을 재설정하세요.

단계 1) 여기에서는 아래 코드와 스크린샷에 표시된 대로 'Steps.java' 스크립트를 업데이트합니다.

package StepDefinition;		

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 Steps {				

    WebDriver driver;			
    		
    @Given("^Open the Firefox and launch the application$")					
    public void open_the_Firefox_and_launch_the_application() throws Throwable							
    {		
       System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");					
       driver= new FirefoxDriver();					
       driver.manage().window().maximize();			
       driver.get("http://demo.guru99.com/v4");					
    }		

    @When("^Enter the Username and Password$")					
    public void enter_the_Username_and_Password() throws Throwable 							
    {		
       driver.findElement(By.name("uid")).sendKeys("username12");							
       driver.findElement(By.name("password")).sendKeys("password12");							
    }		

    @Then("^Reset the credential$")					
    public void Reset_the_credential() throws Throwable 							
    {		
       driver.findElement(By.name("btnReset")).click();					
    }		
}		

위 셀레늄 스크립트의 스크린샷.

로그인 자격 증명을 입력하고 값을 재설정하세요.

단계 2) 스크립트를 실행합니다.

업데이트 후 Runner.java를 실행합니다.

단계 3) 출력을 분석합니다.

출력에서 다음을 볼 수 있습니다.wing:

  • 브라우저가 시작되었습니다.
  • Guru99 은행 데모 사이트가 오픈되었습니다.
  • 사용자 이름과 비밀번호는 로그인 페이지에 있습니다.
  • 값을 재설정합니다.

로그인 자격 증명을 입력하고 값을 재설정하세요.

시나리오 3: Guru99에 로그인 자격 증명을 입력하고 값을 재설정합니다. 3개의 데이터 세트에 대해 이 작업을 수행합니다.

여기서는 'Step.java'와 기능 파일을 모두 업데이트해야 합니다.

단계 1) 아래와 같이 기능 파일을 업데이트합니다.

Here we update the feature file with 'Scenario Outline' and  'examples' syntax.

Feature: Reset functionality on login page of Application				


Scenario Outline: Verification of reset button with numbers of credential


Given Open the Firefox and launch the application				


When Enter the Username <username>and Password <password>				


Then Reset the credential						

Examples:                      		

|username  |password         |		

|User1     |password1        |		

|User2     |password2        |		

|User3     |password3        |

// In this line we define the set of data.

로그인 자격 증명을 입력하세요

단계 2) 이제 Step.java 스크립트를 업데이트하세요.

여기서는 매개변수를 전달하는 방법을 업데이트하고 아래 표시된 스크립트를 업데이트했습니다.

package StepDefinition;		

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 Steps {				

    WebDriver driver;			
    		
    @Given("^Open the Firefox and launch the application$")					
    public void open_the_Firefox_and_launch_the_application() throws Throwable							
    {		
       System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");					
       driver= new FirefoxDriver();					
       driver.manage().window().maximize();			
       driver.get("www.demo.guru99.com/v4");					
    }		

    @When("^Enter the Username \"(.*)\" and Password \"(.*)\"$")			
    public void enter_the_Username_and_Password(String username,String password) throws Throwable 							
    {		
       driver.findElement(By.name("uid")).sendKeys(username);					
       driver.findElement(By.name("password")).sendKeys(password);					
    }		

    @Then("^Reset the credential$")					
    public void	Reset_the_credential() throws Throwable 							
    {		
       driver.findElement(By.name("btnReset")).click();					
    }		
}		

로그인 자격 증명을 입력하세요

단계 3) 이제 업데이트된 스크립트를 실행하세요.

아래 화면은 스크립트의 성공적인 실행과 각 데이터 세트에 소요된 시간을 보여줍니다.

로그인 자격 증명을 입력하세요

단계 4) 출력을 분석합니다.

출력에서 다음을 볼 수 있습니다.wing:

아래 출력은 데이터 세트 수, 즉 3개 세트에 대해 반복됩니다.

  • 브라우저가 시작되었습니다.
  • Guru99 은행 데모 사이트가 오픈되었습니다.
  • 사용자 이름과 비밀번호는 로그인 페이지에 있습니다.
  • 값을 재설정합니다.

로그인 자격 증명을 입력하세요

“내게 능력 주시는 자 안에서 내가 모든 것을 할 수 있느니라”

오이는 매우 인기 있는 BDD 도구입니다. 기술적인 사람과 비기술적인 사람을 포함한 모든 이해관계자가 읽기 쉽고 이해할 수 있습니다.

오이는 follo를 사용하여 셀레늄과 통합될 수 있습니다.wing 3 단계

  1. Gherkin 언어를 사용하여 기능과 시나리오를 단계별로 정의하는 기능 파일을 생성합니다.
  2. 테스트러너 파일을 생성합니다. 이 파일에서는 Cucumber를 Selenium의 BDD 프레임워크와 통합했습니다. 이 스크립트를 실행합니다.
  3. 이 패키지에 정의된 실제 셀레늄 스크립트인 단계 정의를 생성합니다.