New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

hermione-retry-command

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hermione-retry-command - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

57

lib/conditions/blank-screenshot/index.js

@@ -11,49 +11,32 @@ 'use strict';

const retryScreenshot = (retriesLeft, prevBase64 = null) => {
const retryIndex = retryCount - retriesLeft + 1;
const screenshotWithRetries = async () => {
let retriesLeft = retryCount;
let base64;
return originScreenshot()
.then(base64 => {
if (!retriesLeft || (base64 && !utils.isBlankScreenshot(base64.value))) {
return base64;
}
try {
base64 = await originScreenshot();
} catch (e) {
throw e;
}
debug(`Retrying #${retryIndex} ${base64 ? 'blank' : 'null'} screenshot in ${retryInterval} ms`);
while (retriesLeft && utils.isBlankScreenshot(base64.value)) {
await Promise.delay(retryInterval);
retriesLeft -= 1;
debug(`Retrying #${retryCount - retriesLeft + 1} blank screenshot in ${retryInterval} ms`);
if (retryInterval > 0) {
return Promise.delay(retryInterval).then(() => retryScreenshot(retriesLeft, base64));
}
retriesLeft -= 1;
return retryScreenshot(retriesLeft, base64);
})
.catch((e) => {
if (retriesLeft === retryCount) {
throw e;
}
try {
base64 = await originScreenshot();
} catch (e) {
retriesLeft = 0;
debug(`Failed to make screenshot after blank screenshot: ${e}`);
}
}
if (!retriesLeft) {
if (prevBase64) {
return prevBase64;
} else {
throw e;
}
}
debug(`Retrying #${retryIndex} failed screenshot in ${retryInterval} ms`);
retriesLeft -= 1;
if (retryInterval > 0) {
return Promise.delay(retryInterval).then(() => retryScreenshot(retriesLeft, prevBase64));
}
return retryScreenshot(retriesLeft, prevBase64);
});
return base64;
};
browser.addCommand('screenshot', () => retryScreenshot(retryCount), true);
browser.addCommand('screenshot', async () => await screenshotWithRetries(), true);
};
{
"name": "hermione-retry-command",
"version": "1.0.0",
"version": "1.1.0",
"description": "Plugin to retry commands in hermione",

@@ -5,0 +5,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc