最初のものを作成する Cucumber スクリプト(例 2 件)

⚡ スマートサマリー

Cucumber スクリプト実行は、プレーン言語の Gherkin シナリオをステップ定義ファイルを使用して実行可能な自動テストに変換するのに役立ち、チームが動作を検証し、関係者間で意図を共有し、信頼性の高い BDD 駆動型プロジェクトを出荷できるようにします。 Cucumber or Cucumber-JVM。

  • 🥒 ガーキンの基本: フィーチャーファイルは、Given-When-Then構文でシナリオを記述したもので、テスターとビジネスチームの両方が読むことができます。
  • 📝 ステップ定義: Gherkinの各ステップはRubyで書かれたコードブロックに対応します。 Javaまたは、サポートされている別の言語。
  • ⚙️ プロジェクトの設定: RubyMineやその他のIDEは、featuresフォルダ、step_definitionsフォルダ、およびランナー設定をホストできます。
  • 2つの例: 乗算シナリオと Guru99のデモログインシナリオは、エンドツーエンドのBDD実行を実証します。
  • 🧪 現代版: Cucumber-JVM 7.x および Cucumber Ruby 9.xは、CIパイプライン全体で現在も使用されている安定版リリースです。

Cucumber スクリプト

このチュートリアルでは、 Cucumber Gherkin構文とステップ定義ファイルを使用して2つのシナリオをテストするスクリプト。 Cucumber は、平易な言語で記述されたフィーチャーファイルと実行可能なテストコードを関連付けることで、ビジネスアナリストと開発者が同じ仕様に基づいて共同作業できるようにする、人気の高いBDDフレームワークです。

Cucumber スクリプト 1: 2 を掛ける Numbers

この最初の Cucumber 例えば、2つの数値を乗算するシンプルなFeatureファイルを作成し、次にRubyで対応するStep Definitionファイルを作成します。同じワークフローは、 Cucumber-JVM 7.x Java またはKotlinで IntelliJ IDEA.

ステップ1) RubyMine Editor を開く 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) それでは、最初のフィーチャーファイルを実行してみましょう。

「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 が入力された場合と入力されていない場合の出力を確認する

この2番目の例では、Rubyを使用します。 Watir ブラウザを操作し、2 つの登録シナリオを検証する Guru99 デモサイト。採用する場合も同じパターンが適用されます。 Cucumber-JVM 7.x Selenium WebDriverと Java.

この例では、 ルビー.

テストシナリオメールアドレスが入力されていない場合の出力結果を確認します。

テスト手順:

  1. ブラウザを開く
  2. へ行きます https://demo.guru99.com/
  3. Do メールIDを入力してください
  4. 送信をクリックします。

テストシナリオメールアドレスが入力された際の出力結果を確認します。

テスト手順:

  1. ブラウザを開く
  2. へ行きます https://demo.guru99.com/
  3. メールIDを入力してください
  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 ステップをRubyの実行可能コードにマッピングするステップ定義が必要です。 Javaまたは別の言語。その地図がなければpingランナーは未定義のステップを報告し、シナリオは意図したロジックを実行できません。

Cucumber-JVM 7.x は現在の安定版であり、新規ユーザー向けに推奨されています Java そしてKotlinプロジェクト。 Cucumber Ruby 9.x は、Ruby チームにとって依然として最新の選択肢です。両リリースとも以下をサポートしています。 JUnit 5. CIパイプライン向けの並列実行とタグベースのフィルタリング。

AIアシスタントは、ユーザーストーリー、受け入れ基準、過去の不具合を分析し、Given-When-Then形式のGherkinシナリオを作成します。境界ケース、代替パス、タグの提案を行うことで、BDDチームは各フィーチャーファイルを何時間も手作業で作成することなく、より多くの動作を網羅できます。

はい。AI ツールはフィーチャー ファイルを読み込み、各 Gherkin ステップを既存のコードに一致させ、Ruby で新しいステップ定義メソッドをスキャフォールディングします。 Javaそれらは定型文、パラメータ正規表現、アサーションスタブを生成するため、開発者はすべてのグルー関数を手作業で記述する代わりに、ビジネスロジックの改良だけに集中できます。