첫 번째 만들기 Cucumber 스크립트(예제 2개)

⚡ 스마트 요약

Cucumber 스크립트 실행 기능을 사용하면 일반 언어로 작성된 Gherkin 시나리오를 스텝 정의 파일을 이용하여 실행 가능한 자동화 테스트로 변환할 수 있습니다. 이를 통해 팀은 동작을 검증하고, 이해 관계자 간에 의도를 공유하며, BDD 기반 프로젝트를 안정적으로 배포할 수 있습니다. Cucumber or Cucumber-JVM.

  • 🥒 Gherkin 기본 사항: 피처 파일은 테스터와 비즈니스 팀 모두가 읽을 수 있는 Given-When-Then 구문으로 시나리오를 설명합니다.
  • 📝 단계 정의: 각 Gherkin 단계는 Ruby로 작성된 코드 블록에 해당합니다. Java또는 지원되는 다른 언어.
  • ⚙️ 프로젝트 설정 : RubyMine 또는 다른 IDE에서 features 폴더, step_definitions 폴더 및 실행기 구성을 호스팅할 수 있습니다.
  • 두 가지 예: 곱셈 시나리오와 Guru99개의 데모 로그인 시나리오는 BDD의 엔드투엔드 실행을 보여줍니다.
  • 🧪 최신 버전: Cucumber-JVM 7.x 및 Cucumber Ruby 9.x는 현재 CI 파이프라인 전반에서 사용되는 안정적인 릴리스 버전입니다.

Cucumber 스크립트

이 튜토리얼에서는 다음을 만들게 됩니다. Cucumber Gherkin 구문과 스텝 정의 파일을 사용하여 두 가지 시나리오를 테스트하는 스크립트입니다. Cucumber BDD는 일반 언어로 작성된 기능 파일과 실행 가능한 테스트 코드를 연결하여 비즈니스 분석가와 개발자가 동일한 사양을 기반으로 협업할 수 있도록 하는 인기 있는 BDD 프레임워크입니다.

Cucumber 스크립트 1: 2를 곱합니다 Numbers

이 첫 번째 Cucumber 예를 들어, 두 숫자를 곱하는 간단한 Feature 파일을 작성한 다음 Ruby로 해당 기능에 맞는 Step Definition 파일을 생성합니다. 동일한 워크플로는 다른 경우에도 적용됩니다. Cucumber-JVM 7.x 포함 Java 또는 Kotlin에서 IntelliJ IDEA.

단계 1) RubyMine 편집기를 엽니다. Windows 메뉴를 시작하다.

Cucumber 스크립트:곱하기 2 Numbers

단계 2) RubyMine 에디터에서 "새 프로젝트 생성"을 클릭합니다.

Cucumber 스크립트:곱하기 2 Numbers

단계 3) 프로젝트 위치를 선택하고 "만들기"를 클릭하세요.

Cucumber 스크립트:곱하기 2 Numbers

단계 4) 프로젝트 루트 디렉토리 안에 기능 파일들을 저장할 파일 디렉토리를 생성하세요.

Cucumber 스크립트:곱하기 2 Numbers

단계 5) 디렉토리 이름을 다음과 같이 지정하세요. "특징". Cucumber 이 폴더를 자동으로 스캔합니다.

Cucumber 스크립트:곱하기 2 Numbers

단계 6) “yourfolder/features/” 경로에 “yourfilename.feature”라는 이름으로 파일을 생성하고 저장하세요.

여기에서 확인하세요 비디오에 접근할 수 없는 경우

Cucumber 스크립트:곱하기 2 Numbers

Cucumber 스크립트:곱하기 2 Numbers

단계 7) 이 시나리오를 실행하려면 다음 프로그램을 Feature 파일 안에 저장하세요. Feature, Scenario, Given, When, Then과 같은 Gherkin 키워드가 테스트 동작을 어떻게 설명하는지 참고하세요.

Cucumber 스크립트:곱하기 2 Numbers

Code:

Feature: Multiplication 
  I multiply two numbers 
	Scenario: multiply a and b 
	  Given I have variable a 
	  And I have variable b 
      When I multiplication a and b 
      Then I display the Result

단계 8) 이제 첫 번째 Feature 파일을 실행해 보세요.

“Ruby로 명령 프롬프트 시작”을 클릭하세요.

Cucumber 스크립트:곱하기 2 Numbers

출력 결과는 아래와 같습니다.

Cucumber 스크립트:곱하기 2 Numbers

피처 파일과 쌍을 이루는 스텝 정의 파일을 작성해야 하므로 오류가 발생합니다.

단계 9) 피처 파일에 대한 스텝 정의 파일을 생성합니다.

RubyMine 편집기에서 "step_definition"이라는 이름으로 새 폴더를 만드세요.

Cucumber 스크립트:곱하기 2 Numbers

Cucumber 스크립트:곱하기 2 Numbers

단계 10) 해당 파일을 "yourfolder/features/step_definitions" 경로에 test_step.rb라는 이름으로 저장하세요.

Cucumber 스크립트:곱하기 2 Numbers

Cucumber 스크립트:곱하기 2 Numbers

단계 11) 다음 코드를 스텝 정의 파일에 작성하십시오. 각 블록은 피처 파일의 Gherkin 스텝에 해당합니다.

Cucumber 스크립트:곱하기 2 Numbers

Code :

Given(/^I have variable a$/) do 
  @a = 50
end

And(/^I have variable b$/) do 
  @b = 70 
end

When(/^I multiplication a and b$/) do 
  @mul = @a * @b
end

Then(/^I display the Result$/) do 
  puts "Multiplication of #{@a} and #{@b} is #{@mul}"
end

단계 12) 기능 파일을 다시 실행하세요.

Cucumber 스크립트:곱하기 2 Numbers

결과는 아래와 같습니다.

Cucumber 스크립트:곱하기 2 Numbers

Cucumber 스크립트 2: 이메일 ID를 입력하거나 입력하지 않았을 때 출력 확인

두 번째 예제에서는 Ruby를 사용합니다. Watir 브라우저를 구동하고 두 가지 등록 시나리오를 검증합니다. Guru99 데모 사이트. 동일한 패턴이 적용됩니다. Cucumber-JVM 7.x 포함 Selenium 웹드라이버 및 Java.

이 예에서는 루비.

테스트 시나리오이메일 주소를 입력하지 않았을 때의 출력 결과를 확인하십시오.

테스트 단계:

  1. 브라우저 열기
  2. 로 이동 https://demo.guru99.com/
  3. Do 지원 이메일 아이디를 입력하세요
  4. 제출을 클릭하십시오.

테스트 시나리오이메일 주소를 입력했을 때의 출력 결과를 확인하십시오.

테스트 단계:

  1. 브라우저 열기
  2. 로 이동 https://demo.guru99.com/
  3. 이메일 아이디를 입력하세요
  4. 제출을 클릭하십시오.

Code 기능 파일에서:

Feature: guru99 Demopage Login
To Login in Demopage we have to enter login details
Scenario: Register On Guru99 Demopage without email
Given I am on the Guru99 homepage
When enter blank details for Register
Then error email shown
Scenario: Register On Guru99 Demopage with valid email
Given I am on the Guru99 homepage
When enter details for Register
Then login details shown

Code 단계 정의 파일에서:

require 'watir-webdriver'

require 'colorize'

browser = Watir::Browser.new

Given (/^I am on the Guru99 homepage$/)do

browser.goto "https://demo.guru99.com"

end

When (/^enter blank details for Register$/)do

browser.text_field(:name,"emailid").set(" ")

browser.button(:name,"btnLogin").click

end

Then (/^error email shown$/)do

puts " Email is Required".red

browser.close

end

When (/^enter details for Register$/)do

browser = Watir::Browser.new

browser.goto "https://demo.guru99.com"

browser.text_field(:name,"emailid").set("<a href="mailto:guru99@gmail.com">guru99@gmail.com</a>")

browser.button(:name,"btnLogin").click

end

Then (/^login details shown$/)do

puts " Sucessfully register"

browser.close

end

명령 프롬프트에서 코드를 실행하면 다음과 같은 출력이 표시됩니다.

이메일 ID를 입력하거나 입력하지 않았을 때 출력 확인

자주 묻는 질문

피처 파일은 .feature 확장자를 가진 일반 텍스트 파일로, Gherkin 구문을 사용하여 애플리케이션의 한 기능을 설명합니다. 이 파일은 Given, When, Then 단계를 사용하여 작성된 관련 시나리오들을 그룹화하여, 기술적인 지식이 없는 이해관계자들도 개발자와 함께 동작을 읽고 검증할 수 있도록 합니다.

각 Gherkin 단계는 텍스트로만 구성됩니다. Cucumber 루비에서 실행 가능한 코드로 단계를 매핑하는 단계 정의가 필요합니다. Java또는 다른 언어. 그 지도가 없으면.ping실행기가 정의되지 않은 단계를 보고하고 시나리오가 의도한 로직을 실행하지 못합니다.

Cucumber-JVM 7.x는 현재 안정적인 버전이며 신규 사용자에게 권장됩니다. Java 그리고 코틀린 프로젝트들. Cucumber Ruby 9.x는 여전히 Ruby 팀에게 최신 선택입니다. 두 릴리스 모두 지원합니다. JUnit 5. 병렬 실행 및 CI 파이프라인을 위한 태그 기반 필터링.

AI 어시스턴트는 사용자 스토리, 승인 기준, 과거 결함을 분석하여 Given-When-Then 형식의 Gherkin 시나리오를 작성합니다. 경계 사례, 대안 경로, 태그 제안 등을 통해 BDD 팀이 각 기능 파일을 수기로 작성하는 데 시간을 낭비하지 않고도 더 많은 동작을 다룰 수 있도록 지원합니다.

예. AI 도구는 피처 파일을 읽고, 각 Gherkin 단계를 기존 코드와 일치시킨 다음, Ruby 또는 다른 언어로 새로운 단계 정의 메서드를 생성합니다. Java이러한 도구는 상용구 코드, 매개변수 정규 표현식 및 어설션 스텁을 생성하므로 개발자는 모든 연결 함수를 직접 작성하는 대신 비즈니스 로직만 다듬으면 됩니다.

이 게시물을 요약하면 다음과 같습니다.