Skip to content

XCTestHTMLReport/XCTestHTMLReport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0146368 Â· Mar 16, 2025
Mar 16, 2025
Mar 16, 2025
Mar 16, 2025
Mar 16, 2025
Jan 23, 2024
Jan 14, 2023
Dec 26, 2020
Oct 13, 2022
Oct 1, 2021
Jul 26, 2017
Jan 21, 2025
Jan 21, 2025
May 11, 2023
Feb 3, 2023
Nov 10, 2023

Repository files navigation

GitHub Workflow Status Codecov Sonar Violations (long format)

title

What is it?

Xcode-like HTML report for Unit and UI Tests

screenshot

Features

  • Supports parallel testing
  • Supports attachments:
    • .png
    • .jpeg
    • .heic
    • .txt
    • .log
    • .mp4
    • .gif
  • Navigate through the report with the keyboard's arrow keys
  • Filter out successful, failed, skipped, or mixed-result tests
  • Displays information about the target device
  • Displays activity logs
  • Junit report(-j flag)
  • Json report(--json flag)
  • Shrink bundle size by removing unattached files
  • Automatically convert heic images to browser-friendly format
  • Render as a single html file with inline attachments or as a bundle
  • Downsize image attachments

Installation

Homebrew (recommended)

Install via Homebrew

Install latest stable version

brew install xctesthtmlreport

Install latest from main branch

brew install xctesthtmlreport --HEAD

Mint

Install via Mint

Install latest stable version

mint install XCTestHTMLReport/XCTestHTMLReport

Install latest from main branch

mint install XCTestHTMLReport/XCTestHTMLReport@main

Usage

Run your UI tests using xcodebuild without forgetting to specify the resultBundlePath

$ xcodebuild test -workspace XCTestHTMLReport.xcworkspace -scheme SampleApp -destination 'platform=iOS Simulator,name=iPhone 14,OS=16.0' -resultBundlePath TestResults

Then use the previously downloaded xchtmlreport tool to create the HTML report. Additionally, -i flag is also available to inline all resources, this is convenient for exporting the html file standalone. HTML file will be much heavier but much more portable.

$ xchtmlreport TestResults.xcresult

Report successfully created at ./index.html

Multiple Result Bundle Path

$ xchtmlreport TestResults1 TestResults2

Report successfully created at ./index.html

This will create only one HTML Report in the path you passed with the -r option

Generate Junit Reports

You can generate junit reports with the -j flag

$ xchtmlreport -j TestResults1

Report successfully created at ./index.html

JUnit report successfully created at report.junit

Generate JSON Reports

You can generate json reports with the --json flag

$ xchtmlreport -json TestResults1

Report successfully created at ./index.html

JSON report successfully created at ./report.json

Fastlane Support

https://github.com/TitouanVanBelle/fastlane-plugin-xchtmlreport

Contribution

Please create an issue whenever you find an issue or think a feature could be a good addition to XCTestHTMLReport. Always make sure to follow the Contributing Guidelines. Feel free to take a shot at these issues.

Special Thanks

Thank you to the original author of this tool, TitouanVanBelle! 🥳🎉

License

XCTestHTMLReport is available under the MIT license.