Troubleshooting
Use this guide when you are getting started with the AudioEye Testing SDK and run into setup, installation, or first-run problems.
Before you troubleshoot
Confirm these basics first:
- You are using a supported Node.js version:
20,22, or24 - You are installing packages from the project root, where
package.jsonlives - Your project is already configured to use
npm,yarn, orpnpm - Your entitlement token is available as the
AUDIOEYE_ENTITLEMENT_TOKENenvironment variable - Your package manager config includes the
@audioeyeregistry settings from getting started
If one of those items is missing, go back to getting started and complete the initial setup first.
Installation and package download issues
Package install fails with 401, 403, or authentication errors
This usually means the package manager can reach the registry, but it is not authorized to download the package.
What to check
- Verify that
AUDIOEYE_ENTITLEMENT_TOKENis set in the same shell session where you runnpm installoryarn installorpnpm install - Verify that your
.npmrcor.yarnrc.ymlfile contains the@audioeyeregistry configuration from getting started - Verify that you copied the full token from the AudioEye Customer Portal
- If you recently refreshed your token, update every local environment and CI/CD secret that still uses the old value
Common causes
- The token was copied with missing characters or trailing whitespace
- The token exists in your shell profile, but the current terminal session has not reloaded it yet
- The token was rotated in the portal, but your local machine or CI job still uses the previous token
- The package manager config file was added in the wrong directory instead of the project root
Resolution
- Re-copy the token from the AudioEye Customer Portal.
- Re-export
AUDIOEYE_ENTITLEMENT_TOKENin your current terminal session. - Re-check the package manager config in the project root.
- Retry installation.
If the token was refreshed recently, repeat the same update in your CI/CD environment before rerunning the pipeline.
Package install fails with 404 or package not found
This usually means the package manager is not using the AudioEye registry for the @audioeye scope.
What to check
- For
npmorpnpm, confirm.npmrccontains:
@audioeye:registry=https://npm.cloudsmith.io/audioeye-K01/audioeye/
//npm.cloudsmith.io/audioeye-K01/audioeye/:_authToken=${AUDIOEYE_ENTITLEMENT_TOKEN}
- For Yarn, confirm
.yarnrc.ymlcontains:
npmScopes:
audioeye:
npmAlwaysAuth: true
npmAuthToken: "${AUDIOEYE_ENTITLEMENT_TOKEN}"
npmRegistryServer: "https://npm.cloudsmith.io/audioeye-K01/audioeye/"
Resolution
Add the correct scoped registry configuration, save the file in your project root, and retry the install command.
Package install hangs or fails due to network issues
If the install process is slow, times out, or fails intermittently:
What to check
- Your corporate VPN, proxy, or firewall is not blocking Cloudsmith
- Your network allows outbound access to
npm.cloudsmith.io - There is no active incident on the Cloudsmith status page
Resolution
- Retry on a stable network connection
- Temporarily disable VPN or proxy settings if your company policy allows it
- If you are in CI, rerun the job to rule out a transient network error
- If failures persist across multiple environments, check with your network or security team
Installation works locally but fails in CI
This usually means CI does not have access to the entitlement token or does not expose it during dependency installation.
What to check
AUDIOEYE_ENTITLEMENT_TOKENis stored as a CI secret- The secret is exposed in the install step, not only in test or build steps
- The repository contains the expected
.npmrcor.yarnrc.ymlconfiguration - The CI job uses a supported Node.js version
Resolution
Make sure the token is available when dependencies are installed, not after. Then rerun the job.
For setup examples, refer to getting started.
Entitlement token issues
I do not know where to find the entitlement token
Retrieve it from the AudioEye Customer Portal by following the steps in getting started.
I refreshed the token and installs stopped working
Refreshing the token invalidates the previous value.
Resolution
Update the token everywhere it is used:
- your local shell environment
- your shell profile such as
~/.zshrcor~/.bashrc - CI/CD secret stores
- any local developer setup notes or environment managers your team uses
After updating the token, restart the shell or open a new terminal, then retry installation.
I do not want to hardcode the token in config files
That is the recommended approach. Use an environment variable reference instead of the literal token value.
Use the examples in getting started, where the token is
referenced as AUDIOEYE_ENTITLEMENT_TOKEN.
First-run and onboarding issues
The CLI installs, but the first scan fails
If @audioeye/testing-sdk-cli installs successfully but aetest scan fails, the problem is usually related to the
browser runtime or the scan target rather than registry authentication.
What to check
- Start with a simple known page first, such as the example in CLI
- Verify that your machine can launch a Chromium-based browser
- If you are running in Docker or CI, make sure the environment includes Chrome and the required dependencies
- If you are scanning local HTML, verify that the file contains valid HTML and that your command points to the expected file
Resolution
- Confirm installation by scanning a simple known page first.
- If that works, retry with your local page or HTML fixture.
- If you are using Docker, follow the container guidance in CLI.
The CLI works locally but fails in Docker
The CLI needs a browser environment.
Common causes
- Chrome is not installed in the image
- Required Linux dependencies are missing
- The container is missing permissions needed by Chrome
Resolution
Use the recommended Docker setup in CLI. If you maintain your own base image, make sure Chrome and its dependencies are installed and that the container is started with the required permissions.
I am not sure which SDK package to start with
Use this rule of thumb:
- Start with CLI if you want the fastest possible verification that your entitlement token and installation are working
- Use Jest for component-level tests
- Use Playwright or Cypress for full browser workflows
- Use Core / custom integrations only if you need lower-level control
If you are brand new to the SDK, getting started plus the CLI guide is usually the fastest onboarding path.
Framework-specific setup issues
Playwright setup compiles, but the accessibility fixture is not available
This usually means your tests are still importing Playwright's default test runner instead of the AudioEye-extended
runner.
Resolution
Use one of these patterns consistently:
- import
testdirectly from@audioeye/testing-sdk-playwright - create your own shared fixture file that extends Playwright's base
test, then import that localtestobject in every spec
If the fixture is missing in some files but not others, check for mixed imports across the test suite.
Cypress custom command is not recognized
This usually means the SDK command registration file is not imported from your Cypress support layer.
Resolution
Make sure:
@audioeye/testing-sdk-cypressis imported incypress/support/commands.tsorcypress/support/commands.js- your support entry point, such as
cypress/support/e2e.ts, imports./commands - your project is loading the expected support file for the Cypress version you use
See Cypress for the expected setup pattern.
TypeScript errors appear in a JavaScript-only Cypress project
If Cypress tries to process .d.ts files in a JavaScript-only setup, use the workaround documented in
Cypress troubleshooting.
Jest tests run, but results seem incomplete
The Jest SDK is designed for component-level evaluation rather than full rendered browser behavior.
What to know
Some rules require runtime browser context, computed styles, or page-level behavior that is not available in Jest-based component tests.
Resolution
- Use Jest for fast component checks
- Use Playwright or Cypress for browser-based workflows
- Review About Our Rules to understand which rules apply in each testing scenario
Results and rule coverage questions
Rules are not running or issues seem to be missed
What to check
- Whether you are testing a component fragment or a full page
- Whether the chosen SDK package supports the browser context required by the rule
- Whether the page state you are testing matches the real condition where the issue appears
Resolution
- Read How Rules Work in Different Testing Scenarios
- If you are scanning partial markup with the CLI, try component mode when appropriate
- If the issue depends on rendered styles, routing, user interaction, or authentication, test it with Playwright or Cypress
Testing production versus pre-production HTML
The SDK is primarily designed for development and pre-production workflows, but you can still evaluate production output when needed.
Options
- Download the page HTML and scan it locally with the CLI
- Scan a deployed URL directly with the CLI when that is the easiest way to reproduce the issue
- Reproduce the same state in Playwright or Cypress if the issue appears only after user interaction or login
When to switch tools
If you are blocked in one SDK package, the quickest resolution is sometimes to use a different package that better matches the test scenario.
- Use CLI for quick installation verification and static page checks
- Use Jest for fast component-level feedback
- Use Playwright for authenticated flows, dynamic UI, and realistic browser behavior
- Use Cypress for end-to-end application workflows in teams already standardized on Cypress
Still blocked?
If you have completed the onboarding steps and are still blocked, gather this information before escalating:
- Node.js version
- package manager and version
- whether you use
npm,yarn, orpnpm - the SDK package you are installing
- whether the issue occurs locally, in CI, or both
- the exact install or runtime error message
- whether the problem started after refreshing the entitlement token
That information makes it much faster to identify whether the issue is caused by authentication, registry configuration, browser runtime setup, or framework integration.