Currents Documentation
Currents.devGitHubChangelog
  • Getting Started
    • What is Currents?
    • Playwright
      • Playwright: Quick Start
      • Troubleshooting Playwright
    • Cypress
      • Your First Cypress Run
      • Integrating with Cypress
        • Compatibility
        • Alternative Cypress Binaries
      • Troubleshooting Cypress
    • Jest
      • Your First Jest Run
      • Detox + Jest
      • Troubleshooting Jest
    • Others
    • CI Setup
      • GitHub Actions
        • Cypress - GitHub Actions
        • Playwright - GitHub Actions
        • Jest - GitHub Actions
        • Node.js - GitHub Actions
        • Commit data for GitHub Actions
        • Custom Docker runners
        • Named Runners
      • GitLab
        • Cypress - GitLab CI/CD
        • Playwright - GitLab CI/CD
        • Custom Docker runners
      • Jenkins
        • Cypress - Jenkins
        • Playwright - Jenkins
      • CircleCI
        • Cypress - CircleCI
        • Playwright - CircleCI
      • Bitbucket
        • Cypress - Bitbucket Pipelines
      • Azure DevOps
        • Cypress - Azure DevOps
        • Playwright - Azure DevOps
      • AWS Code Build
        • Cypress - AWS Code Build
        • Playwright - AWS Code Build
      • NX
        • Playwright - NX
        • Cypress - NX
  • Guides
    • Record Key
    • CI Build ID
    • Reporting
      • Reporting Strategy
      • Reporting in CI
      • Step-Level Reporting
    • CI Optimization
      • Playwright Parallelization
      • Orchestration Setup
      • Fully Parallel Mode
      • Re-run Only Failed Tests
      • Cloud Spot Instances
      • Failing Fast
      • Load Balancing
    • Code Coverage
      • Code Coverage for Playwright
      • Code Coverage for Cypress
    • Currents Actions
      • Setup Currents Actions
      • Using Currents Actions
      • Reference
        • Conditions
        • Actions
    • Playwright Component Testing
    • Playwright Visual Testing
    • Playwright Annotations
    • Playwright Tags
    • MCP Server
  • Dashboard
    • Projects
      • Projects Summary view
      • Project Settings
      • Archive and Unarchive Projects
    • Runs
      • Run Status
      • Run Details
      • Commit Information
      • Tags
      • Run Timeouts
      • Cancelling Runs
      • Deleting Runs
      • Run Progress
    • Tests
      • Spec File Status
      • Test Status
      • Flaky Tests
      • Test History
    • Test Suite Explorer
      • Test Explorer
        • Tests Performance
      • Spec Files Explorer
        • Spec Files Performance
      • Errors Explorer
  • Automated Reports
  • Insights and Analytics
  • Administration
    • Email Domain Based Access
    • SSO SAML2.0
      • SAML2.0 Configuration
      • SCIM User Provisioning
      • IdP-initiated Sessions
      • JumpCloud
        • JumpCloud User provisioning
      • Okta
        • Okta User provisioning
      • Troubleshooting SSO
    • Billing & Usage
  • Billing and Pricing
  • Resources
    • Reporters
      • cypress-cloud
        • Batched Orchestration
        • Migration to Cypress@13
      • @currents/cli
      • @currents/playwright
        • Configuration
        • pwc
        • pwc-p (orchestration)
        • Playwright Fixtures
      • @currents/jest
      • @currents/node-test-reporter
      • @currents/cmd
        • currents api
        • currents upload
        • currents cache
        • currents convert
      • Data Format Reference
    • Integrations
      • GitHub
        • GitHub App
        • GitHub OAuth
      • GitLab
      • Slack
      • Microsoft Teams
      • HTTP Webhooks
      • Bitbucket
    • API
      • Introduction
      • Authentication
      • API Keys
      • Errors
      • Pagination
      • API Resources
        • Instances
        • Runs
        • Projects
        • Spec Files
        • Test Signature
        • Test Results
    • Data Privacy
      • Access to Customer Data
      • Data Retention
      • Cloud Endpoints
    • Support
Powered by GitBook
On this page

Was this helpful?

  1. Resources
  2. API
  3. API Resources

Test Signature

API Reference - Gets a test signature

PreviousSpec FilesNextTest Results

Last updated 5 days ago

Was this helpful?

The test signature is a unique hash identifier for a specific test in our system. It is based in the combination of the organization ID, the project ID, the spec file where the test belongs to and the test title.

This combination ensures uniqueness to identify a specific test for metrics purposes and runs completion awareness.

Get Test Signature

POST v1/signature/test

Request Body

{
    "projectId": "your project id",
    "specFilePath": "the spec file path",
    "testTitle": ["title part 1", "title part 2"]
}

The properties sent in the request are needed to get the correct test signature.

Property
Type
Required
Description

projectId

String

Yes

specFilePath

String

Yes

testTitle

Array<String> | String

Yes

Title of the test that is usually divided in multiple strings. Can also be sent as an string by copying directly from the dashboard.

Spec File Path

The spec file path is a string but it may be just the name of the spec file like this example:

Can also be a name without file extension (usually in JUnit payloads)

Or might also be a full relative path to a file

It is important that the spec file path is set exactly to how it is reported to Currents otherwise it will not return a test signature that matches a test reported to Currents.

Test Title

The test title in Currents is always an array reported by the framework and refers to the title of the test.

This array can have a single element and show as a single phrase:

Or can also be made up of multiple elements, like when there are multiple nested describe groups and within those the it functions defining each test. For this case the title looks like this:

This last example can be visualized as follows in an array:

[
 "Rended Embed pages",
 "should have a 200 resonse and expected response headers"
]

In the spec file might look like this:

describe('Rended Embed pages', function() {
  it('should have a 200 resonse and expected response headers', function() { ... });
});

The Test signature endpoint can also accept the string copied from the dashboard as testTitle property for ease of use, meaning you could simply send the title you see in the dashboard instead of an array:

{
    "projectId": "your project id",
    "specFilePath": "the spec file path",
    "testTitle": "Rended Embed pages > should have a 200 response and expected response headers"
}

It is important to understand how the Spec File Path and Test Title is formed so the information sent to the API is correct.

type ResponsePayload = {
  status: "OK";
  data: {
    signature: string;
  }
};
type ResponsePayload = {
  status: "FAILED";
  error: string;
};

Refers to the project ID where the test can/will be found.

Is the spec file name with its full relative path, where the test belongs to.

Projects
Spec Files
Spec File Path with file name with extension
Spec File Path with common name
Spec file path
Test title with single element
Test title with multiple elements