Registry / testing / screener-runner

screener-runner

JSON →
library0.14.0jsnpmunverified

CLI test runner for Screener.io, a visual regression testing service. Version 0.14.0 is current as of early 2024. It allows defining UI states and interaction steps using a fluent API, capturing visual snapshots, and comparing them against baselines. Key differentiator: integrates directly with Screener.io cloud service, requiring an API key and project repo. It supports Node >=10 and uses CommonJS module system. Release cadence appears sporadic; the last major update was in 2020. Compared to alternatives like Percy or Chromatic, it is proprietary to Screener.io and less actively maintained.

npm install screener-runner
INSTALL
IMPORT
SIG · SCREENER-RUNNER
S
screener-runner
testingjavascriptv0.14.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Steps
const Steps = require('screener-runner/src/steps');
import Steps from 'screener-runner/src/steps';
Package is CommonJS-only; ESM import will fail.
screener-runner
const screenerRunner = require('screener-runner');
import screenerRunner from 'screener-runner';
Main module is CommonJS; no default ESM export.
config (via module.exports)
module.exports = { projectRepo: '...', apiKey: '...', states: [...] };
export default { ... }
Configuration file uses CommonJS module.exports; ES module syntax not supported.

Shows the configuration file format with projectRepo, apiKey, and states, including an example with interactive steps using the Steps fluent API.

// Example screener.config.js module.exports = { projectRepo: 'user/my-project-repo', apiKey: process.env.SCREENER_API_KEY ?? '', states: [ { url: 'https://example.com', name: 'Homepage' }, { url: 'https://example.com/about', name: 'About page', steps: new (require('screener-runner/src/steps'))() .click('.learn-more') .snapshot('Clicked Learn More') .end() } ] };
screener-runner --version
Debug
Known issues
gotchaThe Steps class must be imported from 'screener-runner/src/steps', not from the main package. Using `require('screener-runner').Steps` will be undefined.
fix
Use `const Steps = require('screener-runner/src/steps');`
affects: >=0.0.0
gotchaPackage uses CommonJS only; ES module `import` statements will fail. Ensure your Node.js project uses require() or configure package.json appropriately.
fix
Use `require()` instead of `import`. If you need ESM, use dynamic import: `const { Steps } = await import('screener-runner/src/steps')` is not supported because it's CJS.
affects: >=0.0.0
deprecatedNode.js >=10 is required; Node 14+ recommended. The package may not work with Node 18+ due to potential compatibility issues with older dependencies.
fix
Use Node 14 or 16 for best compatibility. Test on Node 18 before adopting.
affects: >=0.0.0
gotchaThe `apiKey` is required and must be a valid Screener.io API key. Using an invalid or expired key results in authentication failure with no clear error message.
fix
Set the SCREENER_API_KEY environment variable and ensure it's current. Check in Screener.io dashboard.
affects: >=0.0.0
gotchaWhen using `steps`, you must call `.end()` to finalize the step chain. Missing `.end()` will cause the runner to hang or produce no snapshots.
fix
Always chain `.end()` after the last step.
affects: >=0.0.0
Errors
Common errors & fixes
Error: Cannot find module 'screener-runner/src/steps'
The import path is incorrect; Steps class is at 'screener-runner/src/steps', not at the package root.
fix
Use `const Steps = require('screener-runner/src/steps');`
TypeError: Steps is not a constructor
Importing Steps incorrectly (e.g., as named export from main package) results in undefined.
fix
Ensure you require the correct path: `const Steps = require('screener-runner/src/steps');`
screener-runner: config file not found:
The CLI cannot locate the configuration file. Default search is for 'screener.config.js' in the current directory.
fix
Ensure the config file exists at the project root or specify a custom path with --conf flag.
Error: Invalid API Key:
The provided API key is missing, malformed, or expired.
fix
Set the SCREENER_API_KEY environment variable with a valid key from Screener.io dashboard.
Upgrade
Version history
0.14.0latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
7 hits · last 30 days
node
6
OpenAI (training)
1
Resources
screener-runner — npm install screener-runner · libregistry