@@ -6,6 +6,7 @@ import { StoreScreenshot } from '../models/requests/StoreScreenshot';
66import { ImageCompareResponse } from '../models/response/ImageCompareResponse' ;
77import { ImageFindResponse } from '../models/response/ImageFindResponse' ;
88import { FindImageOptions } from '../models/requests/FindImageOptions' ;
9+ import { CompareOptions } from '../models/requests/CompareOptions' ;
910import { DefaultResponse } from "../models/response/DefaultResponse" ;
1011
1112export class ScreenshotRequests extends BaseRequests {
@@ -122,21 +123,39 @@ export class ScreenshotRequests extends BaseRequests {
122123 return this . get < Screenshot > ( path ) ;
123124 }
124125
125- // TODO: Get screenshot compare Resemblejs JSON
126+ /**
127+ * Compares two stored screenshots and returns the comparison statistics.
128+ * @param {CompareOptions } [options] - algorithm/threshold/regions
129+ */
130+ public compareScreenshots ( screenshotId : string , screenshotCompareId : string , options ?: CompareOptions ) : Promise < ImageCompareResponse > {
131+ return this . get < ImageCompareResponse > ( `screenshot/${ screenshotId } /compare/${ screenshotCompareId } ` , {
132+ params : options ,
133+ } ) ;
134+ }
126135
127- // TODO: get screenshot compare Resemblejs Image
136+ /**
137+ * Compares two stored screenshots and resolves with the diff image.
138+ */
139+ public compareScreenshotsImage ( screenshotId : string , screenshotCompareId : string , cache ?: boolean , options ?: CompareOptions ) : Promise < AxiosResponse > {
140+ return this . get < AxiosResponse > ( `screenshot/${ screenshotId } /compare/${ screenshotCompareId } /image` , {
141+ params : { useCache : cache || false , ...options } ,
142+ responseType : 'arraybuffer' ,
143+ } ) ;
144+ }
128145
129- public getBaselineCompareImage ( screenshotId : string , cache : boolean ) : Promise < AxiosResponse > {
146+ public getBaselineCompareImage ( screenshotId : string , cache : boolean , options ?: CompareOptions ) : Promise < AxiosResponse > {
130147 const useCache = cache || false ;
131148 return this . get < AxiosResponse > ( `screenshot/${ screenshotId } /baseline/compare/image/` ,
132149 {
133- params : { useCache } ,
150+ params : { useCache, ... options } ,
134151 responseType : 'arraybuffer'
135152 } ) ;
136153 }
137154
138- public getBaselineCompare ( screenshotId : string ) : Promise < ImageCompareResponse > {
139- return this . get < ImageCompareResponse > ( `screenshot/${ screenshotId } /baseline/compare/` ) ;
155+ public getBaselineCompare ( screenshotId : string , options ?: CompareOptions ) : Promise < ImageCompareResponse > {
156+ return this . get < ImageCompareResponse > ( `screenshot/${ screenshotId } /baseline/compare/` , {
157+ params : options ,
158+ } ) ;
140159 }
141160
142161 /**
0 commit comments