Cucumber Seleniumチュートリアル–Webサイトテストの実行方法を知る



Cucumber Seleniumチュートリアルに関するこの記事は、Cucumberツールの動作を理解するのに役立ちます。さらに、CucumberをSeleniumと統合し、さまざまなテストケースを実行する方法についても学習します。

間違いなく の分野で素晴らしいツールの1つです 、しかし、コードが複雑なため、技術者以外の人がその動作を理解するのは少し難しいように思われるかもしれません。このタスクを容易にするために、Cucumberが登場します。これにより、複雑なコードが単純で理解しやすくなります。しかし、それはどの程度正確に行われますか? Cucumber Seleniumチュートリアルのこの記事を通じて、そのすべてをお伝えします。

この記事のトピックは次のとおりです。





Java文字列から日付への変換

きゅうり入門

キュウリのロゴ-キュウリのセレンチュートリアル-エドゥレカ

サポートするテストアプローチ/ツールです ビヘイビア駆動開発(BDD)。 技術的な知識の程度に関係なく、誰でも理解できるテストを作成する方法を提供します。



アプリケーションの動作を簡単な英語のテキストで説明します。 ガーキン 言語。きゅうりとは何かを垣間見ることができれば幸いです。それでは、さらに進んで、テストフレームワークでのキュウリの必要性を表すいくつかの事実を理解しましょう。

なぜキュウリ?

さて、キュウリは以下にリストされている理由のために最も人気のあるツールの1つです:

  1. きゅうりは オープンソース したがって、自由に使用できます。
  2. きゅうりを使うと、 テストスクリプト などの複数の言語で 、 ルビー 、.NET、 、など。
  3. また、と統合します 、 Ruby on Rails 、Watirおよびその他 Webベースのテスト ツール。
  4. きゅうりは最も広く使われているものの一つです BDD ツール。

これらは、CucumberをWebサイトのテストに役立つようにする独自の機能の一部です。 Cucumberとは何か、なぜそれが必要なのかがわかったところで、技術者でない人でもテストケースを簡単に理解できるようにするCucumberのユニークな機能の1つを理解しましょう。



ビヘイビア駆動開発(BDD)

非常に簡単に言えば、BDDまたは ビヘイビア駆動開発 仕様やテストケースを文章のように平易な英語で書くテクニックです。このアプローチにより、技術者以外のチームメンバーは、フローを理解し、ソフトウェア開発のプロセスでより多くのコラボレーションを行うことが容易になります。

簡単な例を使ってこれを理解しましょう。 TwitterWebサイトをテストするシナリオを考えてみましょう。テストシナリオの1つは、ログイン資格情報を確認することです。 BDDを使用すると、このテストシナリオを次の形式で記述できます。

機能:Twitterの煙のシナリオをテストするシナリオ:有効な資格情報を使用してログインをテストする指定されたFirefoxを開き、アプリケーションを起動する有効なユーザー名と有効なパスワードを入力すると、ユーザーは正常にログインできるようになります

上記の例では、シナリオを定義するための簡単な英語でいくつかのステートメントを記述しました。この記事の後半では、このシナリオとその実装についてさらに詳しく説明します。今のところ、Cucumber Seleniumチュートリアルの記事に進んで、Seleniumの基礎を学びましょう。

Seleniumの概要

が好ましい Webブラウザで実行されるテストの自動化に関してはツール。これは、Webアプリケーションのテストにのみ役立ちます。デスクトップ(ソフトウェア)アプリケーションまたはモバイルアプリケーションは、Seleniumを使用してテストすることはできません。機能テストケースの作成に非常に役立ちます。また、「 n ’ テストケースの数とそれは明らかにWebアプリケーションに最適な自動化ツールです。

Seleniumとは何かがわかったところで、Cucumber Seleniumチュートリアルのこの記事に進んで、CucumberをSeleniumと一緒に使用する理由を理解しましょう。

なぜセレンとキュウリを使用するのですか?

多くの組織が ために 関数型および回帰テストSeleniumとCucumberは、Webアプリケーションの自動化に関しては優れた組み合わせです。これは、Cucumberを使用すると英語のような言語でテストをすばやく記述でき、Seleniumを使用するとさまざまなブラウザーの組み合わせで実行できるためです。

キュウリツールはに基づいていますビヘイビア駆動開発フレームワーク 橋として機能します 間にソフトウェアエンジニアとビジネスアナリストの間、および手動テスターと開発者。

テストの自動化にSeleniumとCucumberを使用する場合、テストは、ビジネスアナリストなどのアジャイル環境のさまざまな利害関係者が理解できる機能ファイルに書き込まれます。 Cucumberには、複数のスクリプトとプログラミング言語をサポートする機能もあり、JUnitを使用してこれらのスクリプトを実行し、出力を生成します。

これを理解したので、Cucumberアプリケーションを作成してテストケースを実行するためのさまざまな手順を見てみましょう。

きゅうりアプリケーションを作成する手順

Cucumberアプリケーションの作成に関連するさまざまな手順は次のとおりです。

  1. CucumberとSeleniumのJarファイルをダウンロードし、ビルドパスを構成します。
  2. EclipseMarketplaceからCucumberプラグインを追加します。
  3. 機能ファイルを作成し、シナリオを追加します。
  4. シナリオの手順を実装します。
  5. ランナークラスを記述し、コードを実行します。

それでは、これらの各ステップについて詳しく理解しましょう。

ステップ1: CucumberおよびSeleniumJarファイルをダウンロードする

きゅうり 実際にはブラウザと対話せず、 実行します テスト中のWebサイトでのアクション。ウェブサイトとの相互作用 です その行動 です によって演奏された 。このため、 必要になるだろう ダウンロードする きゅうり SeleniumWebdriverと同様に jarファイル 。システムにSeleniumをインストールする方法を知りたい場合は、次の記事を確認してください。 以下は、Cucumberのjarファイルのリストです。

  • キュウリコア
  • きゅうり-html
  • カバレッジコードカバレッジ
  • キュウリ-java
  • キュウリ-junit
  • キュウリ-jvm-deps
  • きゅうり報告
  • ハムクレストコア
  • ガーキン
  • JUnit

これらのjarファイルをからダウンロードしたら Mavenリポジトリ 、プロジェクトのビルドパスを構成し、すべてを追加できます .jar 以下のスナップショットに示すファイルとライブラリ。

c ++フィボナッチ数列

ステップ2: 次のステップは、EclipseにCucumberをインストールすることです。そのためには、に行く必要があります ヘルプ-> Eclipseマーケットプレイス->キュウリの検索 とインストール きゅうりとナチュラル あなたの日食に。以下のスナップショットは同じことを示しています。

ステップ3: Cucumberを構成したら、次のステップは機能ファイルを作成することです。まず、新しいソースフォルダーを作成してから、以下に示すように機能ファイルを追加する必要があります。

次に、以下に示すように、機能ファイルの名前を指定する必要があります。

機能ファイルを作成したら、次のコードに示すようにシナリオを記述できます。

テストシナリオI:

機能:アプリケーションシナリオのログインページのリセット機能:指定されたリセットボタンの検証Firefoxを開き、ユーザー名とパスワードを入力してからアプリケーションを起動し、資格情報をリセットします

ステップ4: その後、ステップ定義を使用してシナリオを実装する必要があります。以下のコードでは、機能ファイルに書き込んだシナリオのメソッドを実装しました。

パッケージstepDefinitionsimport cucumber.api.java.en.Given import cucumber.api.java.en.Then import cucumber.api.java.en.When public class Steps {@Given( '^ Firefoxを開いてアプリケーションを起動$' )public void open_the_Firefox_and_launch_the_application()throws Throwable {System.out.println( 'このステップはFirefoxを開き、アプリケーションを起動します。')} @When( '^ Enter the Username and Password $')public void enter_the_Username_and_Password()throws Throwable { System.out.println( 'このステップでは、ログインページにユーザー名とパスワードを入力します。')} @Then( '^ Reset the credential $')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'})public classランナー{}

上記のコードでは、「@CucumberOptions ’フィーチャーファイルとランナーファイルの両方のパッケージ名を指定します。メソッドを実装してコードを実行するようにします。プログラムを実行すると、ステップ定義のメソッドが表示されます。君の 出力 以下のようになります。

このステップでは、Firefoxを開き、アプリケーションを起動します。このステップでは、ログインページにユーザー名とパスワードを入力します。このステップでは、[リセット]ボタンをクリックします。 1シナリオ(32m1合格)3ステップ(32m3合格)0m0.185s

したがって、これがすべてのファイルを書き込んでプログラムを実行する必要がある方法です。

テストシナリオII:

ここで、SeleniumとCucumberを統合したもう1つのシナリオを理解しましょう。TwitterWebサイトをテストするシナリオを考えてみましょう。テストシナリオの1つは、ログイン資格情報を検証します。 BDDを使用すると、このテストシナリオを次の形式で記述できます。

機能:Twitterの煙のシナリオをテストするシナリオ:有効な資格情報を使用してログインをテストする指定されたFirefoxを開き、アプリケーションを起動する有効なユーザー名と有効なパスワードを入力すると、ユーザーは正常にログインできるようになります

次に、すべてのシナリオを実装するためのステップ定義クラスを作成しましょう。

パッケージstepDimport 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()throws 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()throws Throwable {driver.findElement(By.xpath(' // button [@ class = 'submit EdgeButton EdgeButton--primary EdgeButtom--medium ']'))。click()}}

上記のプログラムでは、私は使用しました Firefoxブラウザを起動して使用するにはdriver.get()Twitterのログインページをナビゲートします。さらに、を使用してユーザー名とパスワードのテキストボックスを検索します 有効な資格情報を入力します。最後に、正常にログインしてテストケースを実行します。テストが成功したか失敗したかを知るには、ランナーをJUnitテストとして実行する必要があります。

以下のスナップショットは、プログラムの出力を示しています。

これは、すべてのファイルを書き込んでプログラムを実行する必要がある方法です。これで、CucumberSeleniumチュートリアルについて説明しました。概念を理解し、知識に付加価値を与えるのに役立ったことを願っています。今、あなたがセレンについてより多くの洞察を得たいならば、あなたは私たちの

この「キュウリセレンチュートリアル」を見つけた場合 」関連、 チェックアウト 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。

質問がありますか? CucumberSeleniumチュートリアル記事のコメントセクションでそれについて言及してください。折り返しご連絡いたします。