4

こんにちは、範囲レポートを使用してレポートを作成しようとしています。コードはエラーを出さず、正常に実行されますが、HTML レポートは生成されません。誰でも助けてください以下は私のコードです-

package ca.automation.com;

import org.testng.annotations.Test;
import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.ExtentTest;
import org.testng.annotations.BeforeTest;
import org.junit.Assert;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.AfterClass;

public class ExtentReport {

    WebDriver driver;
    ExtentReports extent;
    ExtentTest test;

    @BeforeTest
    public void startReport(){
        extent = new ExtentReports("C:\\Report.html", true);
    }

    @Test
    public void installapp() {
        test = extent.startTest("installapp");
        System.setProperty("webdriver.ie.driver", "C:\\Anuj\\Downloads\\IEDriverServer_Win32_2.46.0\\IEDriverServer.exe");
        driver = new InternetExplorerDriver();
        driver.manage().window().maximize();
        driver.get("https://www.tripadvisor.com/");
        String Title = driver.getTitle();
        Assert.assertTrue(Title.contains("Trip"));
        extent.endTest(test);
    }
}
4

12 に答える 12

4

テスト メソッドの末尾に追加extent.flush();して、すべてのテスト ログをレポート ファイルに書き込みます。

于 2016-11-17T05:38:27.683 に答える
2

エクステント オブジェクトがファイルに変更を書き込むには、flush() と close() を呼び出す必要があります。close() の呼び出しは、出力ストリームを閉じるため、テストの終了直前に行う必要があります


@AfterMethod メソッドで flush() を呼び出し、@AfterSuite メソッドで close() を呼び出します

@AfterMethod
public void afterMethod() {
    extent.flush();
}

@AfterSuite
public void afterSuiteMethod() {
    extent.close();
}

参考文献 :- Java の ExtentReports の例

于 2016-08-23T01:14:20.420 に答える
1

@BeforeClass、@AfterClass など、すべての構成が実行されているかどうかを確認してください。スキップされることがあるため、extent.html は生成されません。

したがって、次のタグ "alwaysRun=true" を testng アノテーション付きで追加します eg@AfterMethod(alwaysRun = true)

できます :)

于 2020-01-16T18:44:13.670 に答える
1

コードにextent.flush()が追加されていても、testngプロジェクトでこのエラーが発生しました。エラーが生成されなかった理由は、実行中に exent.flush() の行が失敗したアサーションの 1 つが原因で実行されなかったためです。そのアサーションスクリプトを削除した後、正常に機能し、ファイルは通常どおり生成されました。

于 2020-05-15T16:19:24.930 に答える
0

テストでは、レポートに何も記録していません。何も記録されていない場合、レポートは生成されません。以下に示すように、レポートに何かを記録してみてください。PASSまた、アサーションのステータスごとに、エクステントレポートにログイン/FAILインできます

test.log(LogStatus.INFO, "Test Started");
test.log(LogStatus.ERROR, "Test FAILED");
于 2020-07-28T14:19:48.133 に答える