cucumber selenium tutorial
例とのCucumberSelenium WebDriver Java統合:
前回のチュートリアルでは、 キュウリツール 、その使用法とさまざまな機能。
無料で前進 Seleniumオンライントレーニング シリーズ、議論します キュウリプロジェクトを設定する方法と、SeleniumWebDriverとキュウリの統合について説明します。
Mavenを使用してCucumberプロジェクトを設定します。システムにMavenをセットアップするには、 Mavenのこのチュートリアルを参照してください 同じシリーズから。
使用するのに最適なメールは何ですか
学習内容:
キュウリプロジェクトのセットアップ
ステップ1: 新しいMavenプロジェクトを作成します。
右クリック->新規->その他-> Maven-> Mavenプロジェクト->次へ
ステップ2: これで、プロジェクトは次のようになります。
ステップ3 :pom.xmlに以下の依存関係を追加します
info.cukes cucumber-java 1.0.2 test info.cukes cucumber-junit 1.0.2 test junit junit 4.10 test
ステップ4 :src / test / resourcesの下にsample.featureファイルを作成します。
@smokeTest
特徴 :キュウリのテストをテストするには
サンプルの機能ファイルを実行したい。
シナリオ :きゅうりのセットアップ
与えられた サンプル機能ファイルの準備ができました
いつ 機能ファイルを実行します
次に 実行は成功するはずです
ステップ5 :すべてのステップを実装するクラスをsrc / test / javaの下に作成します。
public class stepDefinition { @Given('^sample feature file is ready$') public void givenStatment(){ System.out.println('Given statement executed successfully'); } @When('^I run the feature file$') public void whenStatement(){ System.out.println('When statement execueted successfully'); } @Then('^run should be successful$') public void thenStatment(){ System.out.println('Then statement executed successfully'); } }
ステップ6 :テストを実行するためのJUnitランナーを作成します。
@RunWith(Cucumber.class) @Cucumber.Options(format={'pretty','html:reports/test-report'},tags= '@smokeTest') public class CucumberRunner { }
ここに示すように、レポートのパスを指定します。レポートはプロジェクトフォルダの下の「test-report」フォルダに保存され、「pretty」形式でレポートの種類を指定します。
ステップ7 :JUnitの結果とテストレポート:
以下は、キュウリのテストが成功したときのレポートです。 Junitの緑色のバーは、テストに合格したことを示しています。同様に、赤いバーはテストが失敗したことを示します。
デフォルトのレポートを使用する場合は、JunitRunnerに記載されているパスに移動します。この場合、パスを次のように指定しました レポート->テスト-レポート-> index.html。
このレポートをInternetExplorerまたはFirefoxで開いて、結果を確認します。以下はレポートのサンプルです。
Cucumber SeleniumWebDriverの統合
Cucumberフレームワークは、SeleniumWebDriverとともにWebベースのアプリケーションをテストするために使用できます。テストケースは、マネージャー、非技術的な利害関係者、およびビジネスアナリストが簡単に理解できる単純な機能ファイルで記述されています。そして、それらの機能ファイルのステップは、ステップ定義ファイルに実装されています。 Mavenを使用している場合は、CucumberとWebDriverの依存関係を追加する必要があります。
これが、CucumberとWebDriverを使用して実装したサンプルテストケースです。以下に示すように、機能ファイルのシナリオは自明です。
機能:ログイン機能ファイル
@セレン
シナリオ :Gmailのログインシナリオテスト
与えられた Gmailページに移動します
いつ ユーザーは「userA」としてユーザー名を使用し、「password」としてパスワードを使用してログインしました
次に ホームページを表示する必要があります
Cucumber stepDefinitionsでのWebDriverの実装:
public class stepDefinition { WebDriver dr; @Given('^navigate to gmail page$') public void navigate(){ dr=new FirefoxDriver(); dr.get('http://www.gmail.com'); } @When ('^user logged in using username as '(.*)' and password as '(.*)'$') public void login(String username,String password){ dr.findElement(By.xpath('//*(@id='Email')')).sendKeys(username); dr.findElement(By.xpath('//*(@id='Passwd')')).sendKeys(password); dr.findElement(By.xpath('//*(@id='signIn')')).click(); dr.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); } @Then('^home page should be displayed$') public void verifySuccessful(){ String expectedText='Gmail'; String actualText= dr.findElement(By.xpath('//*(@id='gbq1')/div/a/span')).getText(); Assert.assertTrue('Login not successful',expectedText.equals(actualText)); } }
このテストでは、Gmailのログイン機能をテストするためのブラウザとしてFirefoxを使用しました。
明らかに、WebDriverオブジェクトはクラス変数であり、クラス全体で使用されます。
与えられた ステートメントはブラウザを初期化し、ページに移動します。
いつ ステートメントは、ユーザー名を「userA」、パスワードを「password」としてアプリケーションにログインします。値「username」と「password」の両方が機能ファイルから渡され、両方の値が同じ順序で使用されます。
次に ステートメントは、アプリケーションにログインした後にのみ条件を検証します。
これは、キュウリとセレンの使用法を説明するサンプルテストです。プロジェクトの要件に応じて、多層アーキテクチャを作成できます。
結論:
このCucumberSelenium Java統合チュートリアルでは、Cucumberの機能とその使用法、およびWebDriverを含むほとんどのCucumberの概念について説明しました。
これにより、キーワード駆動型やハイブリッドフレームワークなどの従来のフレームワークを設計するために記述されたコードの複雑さが軽減されます。ビヘイビア駆動開発はアジャイルソフトウェアの実践であるため、人々がアジャイル手法に従うプロジェクトのほとんどでキュウリが使用されています。
次のチュートリアル#32 :これで、このSeleniumトレーニングシリーズのすべての技術チュートリアルが完了しました。次に、次のようないくつかの重要な一般的なトピックについて投稿します 「Seleniumプロジェクトの労力の見積もり」と「Seleniumのインタビューの質問と回答」。
CucumberSeleniumチュートリアルに関する質問を投稿してください。
推奨読書
- Selenium WebDriverの概要– Seleniumチュートリアル#8
- Cucumber ToolとSeleniumを使用した自動化テスト– Seleniumチュートリアル#30
- SeleniumとJMeterの統合
- JenkinsとSeleniumWebDriverの統合:ステップバイステップのチュートリアル
- 最初のWebDriverスクリプトの実装– Selenium WebDriverチュートリアル#10
- Selenium WebDriverでアラート/ポップアップを処理する方法-Seleniumチュートリアル#16
- Eclipseを使用したWebDriver全体のセットアップとインストール– Seleniumチュートリアル#9
- Seleniumとの統合および機能テスト用のスポック