diff --git a/lib/appium-driver.d.ts b/lib/appium-driver.d.ts index cb0645e..c32d76a 100644 --- a/lib/appium-driver.d.ts +++ b/lib/appium-driver.d.ts @@ -23,8 +23,6 @@ export declare class AppiumDriver { private _isAlive; private _locators; private _storageByPlatform; - private _defaultToleranceType; - private _defaultTolerance; private constructor(); readonly imageHelper: ImageHelper; defaultWaitTime: number; @@ -38,8 +36,6 @@ export declare class AppiumDriver { readonly isAndroid: boolean; readonly isIOS: boolean; readonly driver: any; - defaultToleranceType: ImageOptions; - defaultTolerance: number; /** * Get the storage where test results from image comparison is logged. The path should be reports/app nam/device name */ diff --git a/lib/appium-driver.ts b/lib/appium-driver.ts index 521cbfd..81c4e78 100644 --- a/lib/appium-driver.ts +++ b/lib/appium-driver.ts @@ -57,8 +57,6 @@ export class AppiumDriver { private _isAlive: boolean = false; private _locators: Locator; private _storageByPlatform: string; - private _defaultToleranceType: ImageOptions = ImageOptions.percent; - private _defaultTolerance: number = 0; private constructor(private _driver: any, private _wd, private _webio: any, private _driverConfig, private _args: INsCapabilities) { this._elementHelper = new ElementHelper(this._args); @@ -120,22 +118,6 @@ export class AppiumDriver { return this._driver; } - get defaultToleranceType(): ImageOptions { - return this._defaultToleranceType; - } - - set defaultToleranceType(toleranceType: ImageOptions) { - this._defaultToleranceType = toleranceType; - } - - get defaultTolerance(): number { - return this._defaultTolerance; - } - - set defaultTolerance(tolerance: number) { - this._defaultTolerance = tolerance; - } - /** * Get the storage where test results from image comparison is logged. The path should be reports/app nam/device name */ @@ -619,11 +601,11 @@ export class AppiumDriver { return await this.driver.getSessionId(); } - public async compareElement(element: UIElement, imageName?: string, tolerance: number = this._defaultTolerance, timeOutSeconds: number = 3, toleranceType: ImageOptions = this._defaultToleranceType) { + public async compareElement(element: UIElement, imageName?: string, tolerance: number = this.imageHelper.defaultTolerance, timeOutSeconds: number = 3, toleranceType: ImageOptions = this.imageHelper.defaultToleranceType) { return await this.compareRectangle(await element.getActualRectangle(), imageName, timeOutSeconds, tolerance, toleranceType); } - public async compareRectangle(rect: IRectangle, imageName?: string, timeOutSeconds: number = 3, tolerance: number = this._defaultTolerance, toleranceType: ImageOptions = this._defaultToleranceType) { + public async compareRectangle(rect: IRectangle, imageName?: string, timeOutSeconds: number = 3, tolerance: number = this.imageHelper.defaultTolerance, toleranceType: ImageOptions = this.imageHelper.defaultToleranceType) { imageName = imageName || this.imageHelper.testName; const options = this.imageHelper.extendOptions({ imageName: imageName, @@ -637,7 +619,7 @@ export class AppiumDriver { return await this.imageHelper.compare(options); } - public async compareScreen(imageName?: string, timeOutSeconds: number = 3, tolerance: number = this._defaultTolerance, toleranceType: ImageOptions = this._defaultToleranceType) { + public async compareScreen(imageName?: string, timeOutSeconds: number = 3, tolerance: number = this.imageHelper.defaultTolerance, toleranceType: ImageOptions = this.imageHelper.defaultToleranceType) { imageName = imageName || this.imageHelper.testName; const options = this.imageHelper.extendOptions({ imageName: imageName, diff --git a/lib/image-helper.d.ts b/lib/image-helper.d.ts index ddc080a..3842db1 100644 --- a/lib/image-helper.d.ts +++ b/lib/image-helper.d.ts @@ -64,6 +64,8 @@ export declare class ImageHelper { private _blockOutAreas; private _imagesResults; private _options; + private _defaultToleranceType; + private _defaultTolerance; private _defaultOptions; constructor(_args: INsCapabilities, _driver: AppiumDriver); static readonly pngFileExt = ".png"; @@ -80,6 +82,8 @@ export declare class ImageHelper { delta: number; options: IImageCompareOptions; blockOutAreas: IRectangle[]; + defaultToleranceType: ImageOptions; + defaultTolerance: number; compareScreen(options?: IImageCompareOptions): Promise; compareElement(element: UIElement, options?: IImageCompareOptions): Promise; compareRectangle(cropRectangle: IRectangle, options?: IImageCompareOptions): Promise; diff --git a/lib/image-helper.ts b/lib/image-helper.ts index 52b490e..139024d 100644 --- a/lib/image-helper.ts +++ b/lib/image-helper.ts @@ -83,6 +83,8 @@ export class ImageHelper { private _blockOutAreas: IRectangle[]; private _imagesResults = new Map(); private _options: IImageCompareOptions = {}; + private _defaultToleranceType: ImageOptions = ImageOptions.percent; + private _defaultTolerance: number = 0; private _defaultOptions: IImageCompareOptions = { timeOutSeconds: 2, tolerance: 0, @@ -148,6 +150,22 @@ export class ImageHelper { this._blockOutAreas = rectangles; } + get defaultToleranceType(): ImageOptions { + return this._defaultToleranceType; + } + + set defaultToleranceType(toleranceType: ImageOptions) { + this._defaultToleranceType = toleranceType; + } + + get defaultTolerance(): number { + return this._defaultTolerance; + } + + set defaultTolerance(tolerance: number) { + this._defaultTolerance = tolerance; + } + public async compareScreen(options?: IImageCompareOptions) { options = this.extendOptions(options); options.imageName = this.increaseImageName(options.imageName || this.testName, options);