You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Playwright Java是否支持生成类似NodeJS的默认HTML报告?

Playwright Java 生成类似NodeJS默认HTML报告的实现方法

Playwright Java目前没有像NodeJS版本那样自动生成默认HTML报告的内置功能,不过可以通过以下几种方式实现类似效果:

1. 结合JUnit 5 + Allure报告

Allure是常用的测试报告工具,能生成美观的HTML报告,包含测试结果、截图、错误日志,和NodeJS默认报告体验接近。

  • 第一步:在Maven/Gradle中引入Allure相关依赖(以Maven为例)
    <dependencies>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-junit5</artifactId>
            <version>2.24.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.microsoft.playwright</groupId>
            <artifactId>playwright</artifactId>
            <version>1.40.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>2.12.0</version>
            </plugin>
        </plugins>
    </build>
    
  • 第二步:编写测试类,添加Allure注解
    import com.microsoft.playwright.Page;
    import com.microsoft.playwright.Playwright;
    import io.qameta.allure.Allure;
    import org.junit.jupiter.api.AfterAll;
    import org.junit.jupiter.api.BeforeAll;
    import org.junit.jupiter.api.Test;
    import java.io.FileInputStream;
    import java.io.IOException;
    
    public class PlaywrightTest {
        static Playwright playwright;
        static Page page;
    
        @BeforeAll
        static void launchBrowser() {
            playwright = Playwright.create();
            page = playwright.chromium().launch().newPage();
        }
    
        @Test
        void testSample() {
            try {
                page.navigate("https://example.com");
                page.locator("h1").waitFor();
                Allure.addAttachment("页面截图", new FileInputStream(page.screenshot()));
            } catch (IOException e) {
                Allure.addAttachment("错误日志", e.getMessage());
                throw new RuntimeException(e);
            }
        }
    
        @AfterAll
        static void closeBrowser() {
            playwright.close();
        }
    }
    
  • 第三步:运行测试后生成HTML报告
    执行命令:mvn clean test allure:serve,会自动打开生成的Allure HTML报告。

2. 结合TestNG + ExtentReports

ExtentReports也能生成定制化的HTML报告,适合用TestNG管理Playwright测试的场景:

  • 引入ExtentReports和TestNG依赖,编写TestNG监听器,在测试的onTestStart、onTestSuccess、onTestFailure等方法中,添加测试信息、截图到报告中,最后生成HTML文件。

3. 自定义HTML报告

如果需要完全自定义报告样式,可以自己收集测试数据:

  • 在测试过程中记录每个用例的状态(成功/失败)、耗时、错误信息;
  • 测试失败时调用page.screenshot()保存截图;
  • 用模板引擎(如Thymeleaf、FreeMarker)将收集到的数据渲染成HTML页面,实现类似NodeJS默认报告的结构和样式。

另外,Playwright Java提供的Trace Viewer功能可以生成trace.zip文件,执行playwright show-trace trace.zip可以查看详细的测试执行流程,但这不是传统的HTML报告,主要用于调试。

内容的提问来源于stack exchange,提问作者Dinesh Kumar M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 14:45:15