
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
@visual-regression-tracker/agent-playwright
Advanced tools
[](https://www.codacy.com/gh/Visual-Regression-Tracker/agent-playwright?utm_source=github.com&utm_medium=referral&utm_content=Visual-Regression-Tracker/agent-playw
https://www.npmjs.com/package/@visual-regression-tracker/agent-playwright
npm install @visual-regression-tracker/agent-playwright
import {
PlaywrightVisualRegressionTracker,
Config,
} from "@visual-regression-tracker/agent-playwright";
import { chromium, Browser, Page, BrowserContext } from "playwright";
const config: Config = {
// URL where backend is running
// Required
apiUrl: "http://localhost:4200",
// Project name or ID
// Required
project: "Default project",
// User apiKey
// Required
apiKey: "tXZVHX0EA4YQM1MGDD",
// Current git branch
// Required
branchName: "develop",
// Log errors instead of throwing exceptions
// Optional - default false
enableSoftAssert: true,
// Unique ID related to one CI build
// Optional - default null
ciBuildId: "SOME_UNIQUE_ID",
};
const browserName = chromium.name();
const vrt = new PlaywrightVisualRegressionTracker(browserName, config);
vrt.json
Used only if not explicit config provided Is overriden if ENV variables are present
{
"apiUrl": "http://localhost:4200",
"project": "Default project",
"apiKey": "tXZVHX0EA4YQM1MGDD",
"ciBuildId": "commit_sha",
"branchName": "develop",
"enableSoftAssert": false
}
Used only if not explicit config provided
VRT_APIURL="http://localhost:4200"
VRT_PROJECT="Default project"
VRT_APIKEY="tXZVHX0EA4YQM1MGDD"
VRT_CIBUILDID="commit_sha"
VRT_BRANCHNAME="develop"
VRT_ENABLESOFTASSERT=true
vrt.start();
vrt.stop();
// set up Playwright
const browser = await browserType.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
// navigate to url
await page.goto("https://google.com/");
await vrt.trackPage(page, imageName[, options])
page
<Page> Playwright pageimageName
<string> name for the taken screenshot imageoptions
<Object> optional configuration with:diffTollerancePercent
<number> specify acceptable difference from baseline, between 0-100
.x
<number> X-coordinate relative of left upper cornery
<number> Y-coordinate relative of left upper cornerwidth
<number> area width in pxheight
<number> area height in pxscreenshotOptions
<Object> configuration for Playwrights screenshot
methodfullPage
<boolean> When true, takes a screenshot of the full scrollable page, instead of the currently visibvle viewport. Defaults to false
.omitBackground
<boolean> Hides default white background and allows capturing screenshots with transparency. Defaults to false
.clip
<Object> An object which specifies clipping of the resulting image. Should have the following fields:x
<number> x-coordinate of top-left corner of clip areay
<number> y-coordinate of top-left corner of clip areawidth
<number> width of clipping areaheight
<number> height of clipping areatimeout
<number> Maximum time in milliseconds, defaults to 30 seconds, pass 0 to disable timeout.agent
<Object> Additional information to mark baseline across agents that have different:os
<string> operating system name, like Windows, Mac, etc.device
<string> device name, PC identifier, mobile identifier etc.viewport
<string> viewport size.await vrt.trackElementHandle(elementHandle, imageName[, options])
elementHandle
<ElementHandle> Playwright ElementHandleimageName
<string> name for the taken screenshot imageoptions
<Object> optional configuration with:diffTollerancePercent
<number> specify acceptable difference from baseline, between 0-100
.x
<number> X-coordinate relative of left upper cornery
<number> Y-coordinate relative of left upper cornerwidth
<number> area width in pxheight
<number> area height in pxscreenshotOptions
<Object> configuration for Playwrights screenshot
methodomitBackground
<boolean> Hides default white background and allows capturing screenshots with transparency. Defaults to false
.timeout
<number> Maximum time in milliseconds, defaults to 30 seconds, pass 0 to disable timeout.agent
<Object> Additional information to mark baseline across agents that have different:os
<string> operating system name, like Windows, Mac, etc.device
<string> device name, PC identifier, mobile identifier etc.viewport
<string> viewport size.FAQs
Native integration for Playwright with Visual Regression Tracker
The npm package @visual-regression-tracker/agent-playwright receives a total of 9,413 weekly downloads. As such, @visual-regression-tracker/agent-playwright popularity was classified as popular.
We found that @visual-regression-tracker/agent-playwright demonstrated a not healthy version release cadence and project activity because the last version was released 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
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.