Protractor Jasmine2 HTML Reporter

An NPM package for generating beautiful HTML reports from Protractor and Jasmine 2 E2E tests, downloaded 9 million times by teams worldwide.

Protractor Jasmine2 HTML Reporter

The Gap

In 2018, my team was running E2E tests with Protractor and Jasmine 2 on a complex Angular app. We needed good test reports for our CI/CD pipeline, but nothing existed for this specific stack. Everything was either too basic, incompatible, or lacked screenshot capabilities.

I spent a weekend building what we needed and published it to NPM. That weekend project has now been downloaded 9 million times.

What It Does

The package generates clean HTML reports from your test runs—color-coded results, hierarchical organization, embedded screenshots on failures, and extensive configuration options. Teams use it in Jenkins, GitLab CI, GitHub Actions, and Azure DevOps to visualize test results after every build.

The key was making it highly configurable. Different teams have different needs: some want to see passed tests, others want to hide them. Some need screenshots for everything, others only on failures. The package adapts to all these scenarios through simple configuration.

Why It Succeeded

It solved a real problem. When you’re experiencing a pain point, thousands of others probably are too. Publishing to NPM made the solution accessible to everyone.

Configuration flexibility. Teams could adapt it to their specific workflows without forking or modifying the code.

Good documentation. Clear examples and configuration options made it easy to get started.

The Lifecycle

The package mirrors the testing ecosystem’s evolution. It peaked during Protractor’s dominance, maintains steady usage as legacy projects continue, and will gradually decline as teams migrate to Cypress and Playwright.

I’m not actively maintaining it anymore—Protractor itself is deprecated—but it still works reliably for the teams that need it. Sometimes the best thing you can do for an open-source project is let it be stable and complete rather than constantly changing it.

What I Learned

Open source has unexpected reach. A weekend project reached 9 million downloads and helped teams worldwide.

Solve specific problems well. The package does one thing—generate HTML reports—and does it thoroughly.

Documentation drives adoption. The time spent writing clear docs paid off in widespread usage.

Technology shifts are inevitable. The package’s lifecycle teaches humility—even successful tools eventually become legacy.


Install via NPM: npm install protractor-jasmine2-html-reporter --save-dev

Key Metrics

Weekly Downloads

50K

Total Downloads

9M+

Active Period

2018-Present

Technology Stack

Node.jsJavaScriptJasmine 2ProtractorHTMLCSSNPMGit

Interested in this project?

If you have questions about the implementation or want to collaborate, feel free to reach out.

Let's talk 👋