@applitools/eyes.selenium
Version:
Applitools Eyes SDK for Selenium WebDriver
36 lines (29 loc) • 905 B
JavaScript
;
const { ImageProvider, MutableImage } = require('@applitools/eyes.sdk.core');
/**
* An image provider based on WebDriver's interface.
*/
class TakesScreenshotImageProvider extends ImageProvider {
/**
* @param {Logger} logger A Logger instance.
* @param {EyesWebDriver} tsInstance
*/
constructor(logger, tsInstance) {
super();
this._logger = logger;
this._tsInstance = tsInstance;
}
/**
* @override
* @return {Promise<MutableImage>}
*/
getImage() {
this._logger.verbose('Getting screenshot as base64...');
const that = this;
return this._tsInstance.takeScreenshot().then(screenshot64 => {
that._logger.verbose('Done getting base64! Creating MutableImage...');
return new MutableImage(screenshot64, that._tsInstance.getPromiseFactory());
});
}
}
exports.TakesScreenshotImageProvider = TakesScreenshotImageProvider;