きゅうり-コマンドラインオプション

キュウリは、ほとんどすべてのコンピューターシステムのテストに使用できます。これまで、EclipseIDEを使用してテストを実行する方法を見てきました。コマンドラインインターフェイスを介してCucumberテストを実行する方法がもう1つあります。それで、それを行うことの利点は何ですか?

ターミナルからテストフレームワークを実行することには、コードに記載されている実行構成をオーバーライドするなど、独自の利点があります。

コマンドプロンプトでキュウリテストを実行するには、システム構成後に次の手順を実行します。

Step 1−という名前のMavenテストプロジェクトを作成します commandLine

  • 「ファイル」→「新規」→「その他」→「Maven」→「Mavenプロジェクト」→「次へ」に移動します。

  • グループIDを提供します(グループIDは、すべてのプロジェクトでプロジェクトを一意に識別します)。

  • アーティファクトIDを提供します(アーティファクトIDは、バージョンのないjarの名前です。小文字の任意の名前を選択できます)。

  • [完了]をクリックします。

  • pom.xmlを開きます-

    • Eclipseの左側にあるパッケージエクスプローラーに移動します。

    • プロジェクトCucumberTestを展開します。

    • 見つける pom.xml ファイル。

    • 右クリックして、「テキストエディタで開く」オプションを選択します。

  • Seleniumの依存関係を追加する-これは、中央リポジトリからローカルリポジトリにダウンロードされるSeleniumjarファイルであるMavenを示します。

    • pom.xmlを編集モードで開き、プロジェクトタグ内に依存関係タグ(<dependencies> </ dependencies>)を作成します。

    • 依存関係タグ内に、依存関係タグを作成します。(<依存関係> </依存関係>)。

    • 依存関係タグ内に次の情報を入力します。

<dependency> 
   <groupId>org.seleniumhq.selenium</groupId> 
   <artifactId>selenium-java</artifactId> 
   <version>2.47.1</version> 
</dependency>
  • Cucumber-Javaの依存関係を追加-これは、中央リポジトリからローカルリポジトリにダウンロードされるCucumberファイルであるMavenを示します。

    • もう1つの依存関係タグを作成します。

    • 依存関係タグ内に次の情報を入力します。

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-java</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Cucumber-JUnitの依存関係を追加-これは、中央リポジトリからローカルリポジトリにダウンロードされるCucumberJUnitファイルであるMavenを示します。

    • もう1つの依存関係タグを作成します。

    • 依存関係タグ内に次の情報を入力します。

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-junit</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • JUnitの依存関係を追加-これは、中央リポジトリからローカルリポジトリにダウンロードされるJUnitファイルをMavenに示します。

    • もう1つの依存関係タグを作成します。

    • 依存関係タグ内に次の情報を入力します。

<dependency> 
   <groupId>junit</groupId> 
   <artifactId>junit</artifactId> 
   <version>4.10</version> 
   <scope>test</scope> 
</dependency>
  • バイナリを確認します。

    • pom.xmlが正常に編集されたら、保存します。

    • プロジェクト→クリーンに移動-数分かかります。

Step 2 − src / test / javaの下に「outline」という名前のパッケージを作成します

Step 3 −「commandLine.feature」という名前の機能ファイルを作成します。

  • パッケージのアウトラインを選択して右クリックします。

  • 「新規」ファイルをクリックします。

  • ファイルに「commandLine.feature」などの名前を付けます

  • ファイル内に以下のテキストを書き込んで保存します。

    Feature −シナリオの概要

    Scenario Outline −ソーシャルネットワーキングサイトのログイン機能。

    ユーザーがFacebookに移動するとします

    ユーザー名を「<ユーザー名>」、パスワードを「<パスワード>」と入力すると

    その後、ログインは失敗するはずです

| username  | password  | 
| username1 | password1 | 
| username2 | password2 |

Note−ここで、注釈の例は、シナリオの実行時に提供される入力の範囲を示しています。テストシナリオは、提供された入力ごとに実行されます。したがって、この例では、テストシナリオが3回実行されます。

Step 4 −ステップ定義ファイルを作成します。

  • パッケージのアウトラインを選択して右クリックします。

  • 「新規」ファイルをクリックします。

  • ファイルに次の名前を付けます commandLine.java

  • ファイル内に次のテキストを書き込んで保存します。

package Outline;
 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

import cucumber.annotation.en.Given; 
import cucumber.annotation.en.Then; i
import cucumber.annotation.en.When; 

public class stepdefinition { 
   WebDriver driver = null; 
	
   @Given("^user navigates to facebook$") 
   public void goToFacebook() { 
      driver = new FirefoxDriver(); 
      driver.navigate().to("https://www.facebook.com/"); 
   } 
	
   @When("^I enter Username as \"([^\"]*)\" and Password as \"([^\"]*)\"$") 
   public void I_enter_Username_as_and_Password_as(String arg1, String arg2) {
      driver.findElement(By.id("email")).sendKeys(arg1);
      driver.findElement(By.id("pass")).sendKeys(arg2);
      driver.findElement(By.id("u_0_v")).click(); 
   } 
	
   @Then("^login should be unsuccessful$") 
   public void validateRelogin() { 
      if(driver.getCurrentUrl().equalsIgnoreCase(
         "https://www.facebook.com/login.php?login_attempt=1&lwv=110")){ 
            System.out.println("Test Pass"); 
      } else { 
         System.out.println("Test Failed"); 
      } 
      driver.close(); 
   } 
}

Note−コードでは、2つの入力引数を持つ関数を定義する必要があります。1つはユーザー名、もう1つはパスワード用です。したがって、サンプルタグで提供される入力のセットごとに、GIVEN、WHEN、およびTHENのセットが実行されます。

Step 5 −ランナークラスファイルを作成します。

  • パッケージのアウトラインを選択して右クリックします。

  • 「新規」ファイルをクリックします。

  • ファイルに次のような名前を付けます。 runTest.java

  • ファイル内に次のテキストを書き込んで保存します。

package Outline;
 
import org.junit.runner.RunWith; 
import cucumber.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options(format = {"pretty", "html:target/cucumber"}) 

public class runTest { }
  • コマンドプロンプトを開きます。

  • このパッケージ「commandLine」が存在するディレクトリに移動します。e:\ Workspace \ LoginTest \ src> cd test \ java

  • コマンドmvntestを実行します。機能ファイルに記述されているすべてのシナリオが実行されたことがわかります(エラーがない場合)。最後に、下部に次の情報があります。

結果

This describes the total test run, along with failure if any.

前のコマンドは、JUnitRunnerクラスで説明されているようにすべてを実行します。ただし、ランナーに記載されている構成をオーバーライドする場合は、以下にいくつかの例を示します。

  • 次に、コマンドプロンプトでコマンドmvn test --Dcucumber.options = "-help"を実行します。これを実行すると、使用可能なすべてのオプションが出力されます。

  • 特定のタグのみを実行するには、コマンドプロンプトでコマンドmvn test -Dcucumber.options = "-tags @ SmokeTest"を実行します。@SmokeTestでマークされたタグのみを実行します。

  • 結果の形式を変更するには、コマンドプロンプトでコマンドE:\ Workspace \ LoginTest> mvn test -Dcucumber.options = "-plugin junit:target /cucumber-junit-report.xml"を実行します。レポートを変更します。 JUnitレポートジェネレーターへのフォーマット。