Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
testcafe-blink-diff
Advanced tools
Install this dependency in your project, e.g. npm i testcafe-blink-diff --save-dev
Call the takeSnapshot()
helper within your tests, e.g.
import { takeSnapshot } from 'testcafe-blink-diff';
fixture('Snapshots')
.page('http://localhost:8080');
test('check something here', async t => {
// verify anything you want before
await t
.click('...')
.expect('...')
.ok();
// then pass the `t` reference to invoke the helper
await takeSnapshot(t);
});
Each time you run tests with --take-snapshot base
it'll take the base screenshots.
$ npx testcafe chrome:headless tests/e2e/cases -s tests/screenshots --take-snapshot
Now run the same tests --take-snapshot actual
to take the actual screenshots to compare with.
Finally, invoke the CLI for generating a simple generated/index.html
report, e.g.
$ npx testcafe-blink-diff tests/screenshots --compare base:actual --open --threshold 0.03
Note that v0.4.x will still treat
0.03
as3%
which may be confusing — since v0.5.x this value is kept as is, so0.03
will be0.03%
and nothing else!
That's all, explore the generated report and enjoy!
takeSnapshot(t[, label[, options]])
If the given selector does not exists on the DOM, a warning will be raised.
label|options.label
— Readable name for the taken snapshotoptions.as
— Valid identifier for later comparisonoptions.base
— Custom folder for saving the taken snapshotoptions.timeout
— Waiting time before taking snapshotsoptions.selector
— String, or Selector()
to match on the DOMoptions.blockOut
— List of Selector()
nodes to "block-out" on the snapshotoptions.fullPage
— Enable fullPage: true
as options passed to takeScreenshot(...)
If you set selector
as an array, then the list of possible nodes will be used to the snapshot.
If no selectors are given, then it'll take page-screenshot of the visible content, unless fullPage
is enabled.
"Block-out" means matched DOM nodes are covered by a solid-color overlay, helping to reduce unwanted differences if they change often, e.g. ads
Type npx testcafe-blink-diff --help
to list all available options.
FAQs
Visual regression for Testcafé through BlinkDiff
We found that testcafe-blink-diff demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.