Cucumber-reports
きゅうり-レポート
製品の安定性を理解するためにテストを実行するため、手動テストでも自動テストでも、製品の安定性を示す簡潔なレポートを生成することが非常に重要です。 そのため、Cucumberを使用してテストシナリオを自動化していますが、Cucumberテストレポートをどのように生成できるかを知ることが不可欠です。 CucumberはBDDフレームワークであることがわかっているので、派手なレポートメカニズムはありません。
これを達成するには、CucumberをAnt/Junitなどの他のオープンソースツールと統合する必要があります。 ここでは、Java言語のサポートを提供するため、JUnitの例をさらに取り上げます。
利用可能で使いやすいさまざまなレポート形式の詳細を見てみましょう-
Pretty Format(HTMLレポート)
Pretty Formatは、HTML形式でCucumberテストレポートを生成します。 HTMLファイル。 最も読みやすいレポート形式です。 機能ファイルと同じ方法でレポートを生成するため、トレースも簡単になります。 また、テスト実行後にこのレポートを配置する場所を指定できます。 それはすることができます-
- ローカルディレクトリ-テストを実行するマシンのローカルディレクトリとして、レポートのターゲットディレクトリを指定できます。
- サーバーディレクトリ-また、ターゲットディレクトリをサーバー上の任意のディレクトリとして指定するための規定があります。 これは一般に、クライアント/利害関係者に特定の時点でのテスト結果を表示させたいときに役立ちます。
例
きれいなフォーマットの例を自動化しましょう。
ステップ1 *-Eclipseで *cucumberReport という名前のMavenプロジェクトを作成します。
ステップ2 *- *src/test/java の下に CucumberReport という名前のパッケージを作成する
ステップ3 *- *cucumberReport.feature という機能ファイルを作成します
ファイル内に次のテキストを記述して保存します。
機能-キュウリのレポート
#これは、パステストケースのテスト結果を確認するためです
- シナリオ:*ログイン機能があります
私がブラウザを開いたことを考えると
Facebookウェブサイトを開くと
次に、ログインボタンが存在するはずです
#これは、失敗したテストケースのテスト結果を確認するためです
- シナリオ:*パスワードを忘れた場合
私がブラウザを開いていることを考えると
Facebookウェブサイトを開くと
次に、パスワードを忘れた場合のリンクが存在する必要があります
注-ここでは最初のシナリオは合格しますが、2番目のシナリオは失敗します。 合格および不合格のレポートがどのように見えるかを確認できます。
- ステップ4 *-ステップ定義ファイルを作成します。
- パッケージのアウトラインを選択して右クリックします。
- 「新規」ファイルをクリックします。
- cucumberReport.java としてファイル名を付けます
- ファイル内に次のテキストを記述して保存します。
package CucumberReport;
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;
import cucumber.annotation.en.When;
public class cucumberReport {
WebDriver driver = null;
@Given("^I have open the browser$")
public void openBrowser() {
driver = new FirefoxDriver();
}
@When("^I open Facebook website$")
public void goToFacebook() {
driver.navigate().to("https://www.facebook.com/");
}
@Then("^Login button should exits$")
public void loginButton() {
if(driver.findElement(By.id("u_0_v")).isEnabled()) {
System.out.println("Test 1 Pass");
} else {
System.out.println("Test 1 Fail");
}
}
@Then("^Forgot password link should exist$")
public void forgotPWD() {
if(driver.findElement(By.id("")).isEnabled()) {
System.out.println("Test 1 Pass");
} else {
System.out.println("Test 1 Fail");
}
}
}
- ステップ5 *-ランナークラスファイルを作成します。
- パッケージ内に runTest.java という名前のランナークラスを作成します。
- 次のコードを書きます。 ファイルを保存してください。
package CucumberReport;
import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@Cucumber.Options(
format = {"pretty", "html:target/Destination"} )
//Specifying pretty as a format option ensure that HTML report will be generated.
//When we specify html:target/Destination - It will generate the HTML report
inside the Destination folder, in the target folder of the maven project.
public class runTest { }
- オプションを使用してテストを実行する
- パッケージエクスプローラーから runTest.java ファイルを選択します。
- 右クリックして、 Run as オプションを選択します。
- JUnitテストを選択します。
このクラスファイルを実行すると、次のことを確認できます。
両方のシナリオが1つずつ実行されます。
ターゲットディレクトリ内にDestinationという名前のフォルダーが作成されます。
レポートは「Indexl」という名前でそこに表示されます。
WebブラウザーでIndexlを開きます。
次の画像に記載されているレポートが表示されます-
失敗したシナリオの色を正確に強調します。 さらに、そのシナリオで失敗したステップのハイライトが表示されます。 これにより、デバッグが非常に簡単になります。
JSONレポート
これまでに、HTMLレポートがどれほど簡単かを見てきました。 ただし、このレポート情報を他のアプリケーションに渡す場合、HTMLレポートの場合はややこしいです。 ここで、別のレポート形式の必要性が生じます。 JSON-Javaスクリプトオブジェクト表記は、Cucumberテストレポートを生成するためのもう1つの形式です。 JSONは、テキスト形式で保存された多くの情報を含むオブジェクトです。 JSONレポートは、テーブルに異なる値をもたらします。 JSONレポートは、異なるサーバー間で転送される情報のペイロードとしても使用できます。 さらに、Webページとして表示するために使用できます。 簡単に言うと、JSONレポートは他のアプリケーションで使用できます。
- ペイロード情報とは何ですか?*データがインターネット経由で送信される場合、送信される各ユニットにはヘッダー情報と送信される実際のデータの両方が含まれます。 ヘッダーはパケットの送信元と宛先を識別しますが、実際のデータはペイロードと呼ばれます。 JSONレポートを生成するには、ランナーファイルに変更を加えるだけです。
- ランナーファイルの形式オプションを次のように変更します。
package CucumberReport;
import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@Cucumber.Options( format={"json:target/Destination/cucumber.json"})
//When we specify json:target/Destination/cucumber.json - It will generate the JSON
report inside the Destination folder, in the target folder of the maven project.
public class runTest {}
- オプションを使用してテストを実行します-
- パッケージエクスプローラーから runTest.java ファイルを選択します。
- 右クリックして、[として実行]オプションを選択します。
- JUnitテストを選択します。
- このクラスファイルを実行すると、次のことを確認できます。
- 両方のシナリオが1つずつ実行されます。
- レポートは、 cucumber.json (ランナークラスで提供)として名前が付けられます。
- テキストエディタで cucumber.json ファイルを開きます。
- 改行を配置した後、次のスクリーンショットに記載されているレポートが表示されます-
注意-JSONは、HTMLレポート形式と比較して読みにくくなっています。