
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@smartbear/visualtest-cypress
Advanced tools
Click here for more detailed docs on SmartBear's website
Run the following commands to setup & install VisualTest:
npm install @smartbear/visualtest-cypress
npx visualtest-setup
Example console output:
Commands installed.
Plugin installed.
visualTest.config.js has been created.
Please enter your projectToken in visualTest.config.js
Enter your projectToken in visualTest.config.js:
module.exports = {projectToken: 'PROJECT_TOKEN'}
Simply change all instances of cy.screenshot
with cy.sbvtCapture
.
For example, this will run regression tests against Fullpage Home Capture in that project
cy.sbvtCapture('Home Page')
To override project settings — take a capture with layout mode on low sensitivity
cy.sbvtCapture('Home Page', {
comparisonMode: 'layout', // if 'layout', then sensitivity is requried, OR 'detailed' with no sensitivity
sensitivity: "low" // 'medium', or 'high'
})
For lazy-loaded websites use:
cy.sbvtCapture('Home Page', {
lazyload: 250 //number is milliseconds between scrolls
})
To ignore elements on the comparison, add the cssSelector to the array:
cy.sbvtCapture('Home Page', {
ignoreElements: ['.exampleClass', '.class1 > div > li:nth-child(1)']
})
You can also run tests against just certain elements, this will run regression tests against the header.
cy.get('.container').eq(0).sbvtCapture('Home Page Header')
To pass in other arguments , the syntax would be the same as cy.screenshot
cy.sbvtCapture('Home Page', {
capture: 'viewport',
overwrite: true,
clip: {x: 100, y: 100, width: 1000, height: 1000}
})
To print out the test run results to the command line cy.sbvtPrintReport()
To assert the testrun passed, call cy.sbvtGetTestRunResult()
, which returns an object with total comparisons passed and failed. Example:
{ // example cy.sbvtGetTestRunResult() response
passed: 10
failed: 0
}
it("The sbvtCapture's should pass", function () {
cy.sbvtGetTestRunResult()
.then((response) => {
assert(response.passed === 10, `response.passed !== 10: ${JSON.stringify(response)}`);
assert(response.failed === 0, `There were failures in the test run: ${JSON.stringify(response)}`);
});
});
Callback arguments are not allowed, i.e. onBeforeScreenshot
& onAfterScreenshot
npx cypress run
is the recommended way to run our plugin.npx cypress open
) works, but each test can only be ran once without closing and relauching the Cypress application.Cypress 9.7.0+ (Recommend v10.10.0+)
Node 18.17.0+
//visualtest.config.js
module.exports = {
projectToken: 'PROJECT_TOKEN',
testGroupName: 'test group name'
}
// OR save on the environment variable
// SBVT_TEST_GROUP_NAME = 'test group name'
Save Source Control Manager data on the environment variable
SBVT_SCM_BRANCH=branch-name
SBVT_SCM_COMMIT_ID=commit-hash
On versions 10+
require('@smartbear/visualtest-cypress')(module);
at the bottom of cypress.config.jsimport '@smartbear/visualtest-cypress/commands'
at the bottom of cypress/support/e2e.jsOn versions 10-
require('@smartbear/visualtest-cypress')(module);
at the bottom of cypress/plugins/index.jsimport '@smartbear/visualtest-cypress/commands'
at the bottom of cypress/support/index.jsCreate visualTest.config.js in the main test folder
module.exports = { projectToken: 'PROJECT_TOKEN' }
FAQs
Cypress Plugin for SmartBear VisualTest via JavaScript
The npm package @smartbear/visualtest-cypress receives a total of 153 weekly downloads. As such, @smartbear/visualtest-cypress popularity was classified as not popular.
We found that @smartbear/visualtest-cypress demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 18 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
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.