Changelog

Follow new updates and improvements to Currents.

November 27th, 2024

New

Improved

Currents has flagship integrations for various testing frameworks via the dedicated reporters (like Playwright, Jest and Cypress).

The recent release unlocks more integrations with other testing frameworks without a dedicated reporter.

We have implemented a set of tools that support JUnit XML (or compatible) reporting format.@currents/cmd CLI utilities allow converting JUnit XML files to a format compatible with Currnets. For example:

  • run currents convert to convert test results

  • run currents upload to send the results to Currents

This approach unlocks supporting the following frameworks.

  • Postman

  • Vitest (example TBD)

  • NodeJS Test Runner (example TBD)

  • WebdriverIO (example TBD)

  • Bun (example TBD)

  • Cypress 😆 (example TBD)

More details are in the documentation.

November 22nd, 2024

New

Improved

The recent release introduces Code Coverage for Playwright. Follow the guide to explore different ways of instrumenting the code and automating collection of the reports using Playwright fixtures.

As your test suite grows and you start running tests in CI (often in parallel) you need to start maintaining the merging of coverage reports from multiple containers or shards, identifying changes in coverage metrics and tracing changes.

Currents simplifies this process by:

  • Collecting coverage reports on-the-fly from distributed CI machines

  • Handling test retries and interrupted runs accurately

  • Uploading raw coverage reports for processing in the background

  • Tracking coverage metrics over time, with support for filtering by tags, git metadata, and more

Revamped Coverage Charts

We have refactored coverage charts for more convenient use.

Coverage information at the run level

Additionally, we added coverage details in run summary view. Future releases will highlight decrease in coverage values and would allow proactive tracking and reporting related to code coverage.

November 11th, 2024

Improved

You can attach arbitrary files and content directly to your Playwright tests, making it easier to capture relevant data for review and improved collaboration with your team. With the recent update to Currents you can browse and download arbitrary test attachments.

The attachments will be securely uploaded and stored in Currents cloud storage.

  • Requires @currents/playwright 1.6.0+

  • No extra charge and not limitation to volume

  • Subject to your plan’s retention policy

This change unlocks further improvements to Currents platforms that are based on parsing attachments associated with the tests. A few examples:

  • Markdown file for test documentation and notes

  • Lighthouse reports to track accessibility and web vitals

  • Mermaid for charts and diagrams

How to Attach Files to Playwright Tests

Use the following syntax to add attachments to your test:

test('example test with attachment', async ({ page }, testInfo) => {
  // Your test steps
  // ..
  // Attach an MD file
  testInfo.attachments.push({
    name: "mdFile",
    payload: {
      path: "./files/test.md",
    }
  });
});

If you want to embed custom content directly, use:

test('example test with custom content', async ({ page }, testInfo) => { 
  // Your test steps 
  // Attach custom content 
  const logContent = 'Example log content'; 
  testInfo.attachments.push({ 
    name: 'log', 
    body: Buffer.from(logContent), 
    contentType: 'text/plain',
  });
});

November 11th, 2024

New

We’ve rolled out new plans that include self-served seats customization. Adding more seats to a plan doesn’t require switching to a different tier.

  • Add or remove an package of extra 10 seats in the Billing and Usage section

  • No need to switch to a different tier to add more seats (up to 30 seats)

  • Available for new plans purchased after October 17 2024

  • Doesn’t affect already existing subscriptions with customized number of seats

October 16th, 2024

  • Configuration file. Create currents.config.ts|js to define Currents configuration (in addition to CLI flags, reporter configuration or environment variables). Currents evaluates the contents - i.e. you can use custom code and logic within the file.

  • Lifecycle functions. Use the configuration file to define custom lifecycle function. For example, orchestration.onFinish runs after run completion, the function accepts the latest known status of a distributed orchestrated run (reported by the server from all CI machines). You can invoke custom logic based on the reported run progress status - e.g. send an API call or finalize Visual Testing tools run (ArgosCI, Applitools) after all results were reported.

Improvements

  • Inline Test Record Links. Console output includes inline links to individual test recordings for more convenient navigation.

Misc

  • Report the original run details when rerunning previously failed tests.

  • Better support for uploading generic and arbitrary artifacts - that unlocks support for Playwright Coverage and Lighthouse reports.

  • Retry failed network requests. We’ve worked with AWS support to reduce the impact of requests failing because of internal AWS issues (the current failure rate is at 0.002%, which is below AWS formal SLA).

  • Security patches and minor bug fixes.

October 4th, 2024

New

Re-running only failed Playwright tests in CI is one of the most popular requests.

Starting from version 1.44 Playwright supports running only the failed test from the last run using CLI flag --last-failed. However, simply adding the flag to a CI command isn’t sufficient when running the tests in parallel using shards or Playwright Orchestration. 😕

Setting up re-runs requires maintaining non-trivial configuration and custom scripts 👎.

That's why we have created a set of tools that unlock re-running only the failed Playwright tests in the most popular CI providers - GitHub Actions and GitLab CI/CD 👍.

🔄 Check out our guide and examples.

September 4th, 2024

New

We’re gradually rolling out official support for the Jest framework.

You can check it out at Manage Project > Setup Instructions.

We’ve also updated our documentation to include a Jest getting started guide.

Stay tuned as we roll out more features and bugfixes for Jest support 😎

August 28th, 2024

New

Playwright has a built-in ability to perform a Visual Comparison.

test('example test', async ({ page }) => { 
  await page.goto('https://playwright.dev'); 
  await expect(page).toHaveScreenshot({ maxDiffPixels: 100 });}
);

Playwright will fail a test if the current snapshot differs from a reference image.

We’ve released a first-class support for displaying the visual comparison screenshots, including browsing the diff, actual, expected, side by side and slider widget.

The support is automatic and doesn’t require any action other than just using toHaveScreenshot directive.

August 23rd, 2024

We are happy to announce that we’ve enhanced our SSO integration to support automated users provisioning using SCIM protocol.

Check out the documentation to discover how to enable SCIM.

August 22nd, 2024

Improved

Improved History Browser

The new history browser allows more convenient navigation and exploration of historical items

Inline browsing for Test Explorer

Test Explorer view allows exploring test performance trends, past executions and most common errors. In past, exploring past executions required navigating to a different view, causing confusion and context switch.

With the recent change the executions are shown inline for more convenient and speedy exploration.

Better navigation for multi-group runs

We’ve improved the layout and filtering options for runs with multiple groups. The new variant allows more intuitive filtering of groups when browsing Spec Files view and Live View.

Inline links to Explorer, Run and Live View

When browsing spec or test results we’ve added a shortcut links for more convenient navigation

  • A link to Spec or Test Explorer for the associated entities

  • A link to the associated Run View

  • A link to the associated Live View (Playwright and Jest only)

Misc

  • An improved list items layout to better support long names and inline actions

  • Added list line item numbers

  • Split complex views into sub-views accessible via tabs

  • Better axis labels that auto-adjust to timeline duration