サーチ…


前書き

このトピックでは、セレンテストのHTMLレポートの作成について説明します。レポートにはさまざまな種類のプラグインがあり、広く使用されているのはAllure、ExtentReports、ReportNGです。

エクステントレポート

この例では、TestNG、Java、Mavenを使用してSeleniumでExtentReportsを実装する方法について説明します。

ExtentReportsには、コミュニティと商用の2つのバージョンがあります。わかりやすく実証的な目的で、コミュニティ版を使用します。

1.依存関係

エクステントレポート用の依存関係をMavenのpom.xmlファイルに追加します。

   <dependency>
        <groupId>com.aventstack</groupId>
        <artifactId>extentreports</artifactId>
        <version>3.0.6</version>
    </dependency>

2.プラグインの設定

pom.xmlに以下のようにmaven surefireプラグインを設定します

    <build>
    <defaultGoal>clean test</defaultGoal>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>${jdk.level}</source>
                <target>${jdk.level}</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <suiteXmlFiles>
                    <suiteXmlFile>testng.xml</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
</build>

3. ExtentReportsによるサンプルテスト

test.javaという名前のテストを作成します。

public class TestBase {
    WebDriver driver;

    ExtentReports extent;
    ExtentTest logger;
    ExtentHtmlReporter htmlReporter;
    String htmlReportPath = "C:\\Screenshots/MyOwnReport.html"; //Path for the HTML report to be saved

    @BeforeTest
    public void setup(){
        htmlReporter = new ExtentHtmlReporter(htmlReportPath);
        extent = new ExtentReports();
        extent.attachReporter(htmlReporter);

        System.setProperty("webdriver.chrome.driver", "pathto/chromedriver.exe");
        driver = new ChromeDriver();
    
    }

    @Test
    public void test1(){
        driver.get("http://www.google.com/");
        logger.log(Status.INFO, "Opened site google.com");
        assertEquals(driver.getTitle()), "Google");
        logger.log(Status.PASS, "Google site loaded");
    }

    @AfterMethod
    public void getResult(ITestResult result) throws Exception {
        if (result.getStatus() == ITestResult.FAILURE)
        {
            logger.log(Status.FAIL, MarkupHelper.createLabel(result.getName() + " Test case FAILED due to below issues:", ExtentColor.RED));
            logger.fail(result.getThrowable());
        } 
        else if (result.getStatus() == ITestResult.SUCCESS)
        {
            logger.log(Status.PASS, MarkupHelper.createLabel(result.getName() + " Test Case PASSED", ExtentColor.GREEN));
        } 
        else if (result.getStatus() == ITestResult.SKIP)
        {
            logger.log(Status.SKIP, MarkupHelper.createLabel(result.getName() + " Test Case SKIPPED", ExtentColor.BLUE));
        }
     }

    @AfterTest
    public void testend() throws Exception {
        extent.flush();
    }

    @AfterClass
    public void tearDown() throws Exception {
        driver.close();
    }

Allureレポート

この例では、TestNG、Java、およびMavenを使用したSureniumでのAllure Reportsの実装について説明します。

Mavenの設定

リポジトリ

jcenterリポジトリを設定する次のコードを追加してください

<repository>
            <id>jcenter</id>
            <name>bintray</name>
            <url>http://jcenter.bintray.com</url>
</repository>

依存

pom.xmlに以下の依存関係を追加する

<dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>${aspectj.version}</version>
    </dependency>
    <dependency>
        <groupId>ru.yandex.qatools.allure</groupId>
        <artifactId>allure-testng-adaptor</artifactId>
        <version>1.5.4</version>
    </dependency>

シュアファイアプラグインの設定

<plugin>
        <groupId> org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.20</version>
        <configuration>
            <argLine>-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
            </argLine>
            <properties>
                <property>
                    <name>listener</name>
                    <value>ru.yandex.qatools.allure.testng.AllureTestListener</value>
                </property>
            </properties>
            <suiteXmlFiles>testng.xml</suiteXmlFiles>
            <testFailureIgnore>false</testFailureIgnore>
        </configuration>
    </plugin>

魅力レポートのサンプルテスト

test.javaという名前のサンプル・テストを作成する

public class test{
    WebDriver driver;
    WebDriverWait wait;

    @BeforeMethod
    public void setup() {
        System.setProperty("webdriver.chrome.driver", "path to/chromedriver.exe");
        driver = new ChromeDriver();
        driver.get("https://www.google.com/");
        wait = new WebDriverWait(driver,50);
    }

    @Title("Title check")
    @Description("Checking the title of the loaded page.")
    @Test
    public void searchTest(){
        String title = driver.getTitle();
        LogUtil.log("Title Fetched: "+title);
        assertEquals(title,"Google");
        LogUtil.log("Test Passed. Expected: Google | Actual: "+title);
        System.out.println("Page Loaded");
    }

    @AfterMethod
    public void teardown(){
        driver.close();
    }
}

上記のクラスでは、LogUtiilクラスを使用しました。これは単にテストのステップを記録するために行われます。以下は同じもののためのコードです

LogUtil.java

public final class LogUtil {

    private LogUtil() {
    }

    @Step("{0}")
    public static void log(final String message){
        //intentionally empty
    }
} 

ここに

@Title( "")はAllure Reportであなたのテストのタイトルを追加します

@Description( "")はテストに説明を追加します

@Step( "")はテストの魅力レポートにステップを追加します

実行時に、xmlファイルが "target / allure-results /"フォルダに生成されます

ジェンキンスとの最終報告

Allure Reportプラグインがインストールされた状態でJenkinsで実行している場合、Jenkinsはジョブ内でレポートを自動的にレンダリングします。

ジェンキンスのない最終報告書

Jenkinsを持っていない人には、次のコマンドラインを使ってhtmlレポートを作成してください。 Allure CLIはJavaアプリケーションであるため、すべてのプラットフォームで使用できます。 Allure CLIを使用する前に、Java 1.7+を手動でインストールする必要があります。

Debian

Debianベースのリポジトリの場合、PPAを提供してインストールが簡単です:Debian用のAllure CLIをインストールしてください

$ sudo apt-add-repository ppa:yandex-qatools/allure-framework
$ sudo apt-get update 
$ sudo apt-get install allure-commandline

サポートされているディストリビューションは、信頼できると正確です。インストール後、魅力的なコマンドを利用できます。

マックOS

Homebrew経由でAllure CLIをインストールすることができます。

$ brew tap qatools/formulas 
$ brew install allure-commandline

インストール後、魅力的なコマンドを利用できます。

Windowsおよびその他のUnix

  1. zipアーカイブとして最新版をhttps://github.com/allure-framework/allure-core/releases/latestからダウンロードしてください
  2. アーカイブをallure-commandlineディレクトリに解凍します。 binディレクトリに移動します。
  3. Windowsの場合はallure.bat、その他のUnixプラットフォームの場合はallureを使用してください。

コマンドライン/ターミナルで次の構文を入力するだけで、レポートはallure-reportフォルダに生成されます

$ allure generate directory-with-results/

ここに画像の説明を入力



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow