@appium/images-plugin 4.1.1 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,6 +34,17 @@ export declare class ImageElement {
34
34
  * @returns the base64-encoded image which has matched marks
35
35
  */
36
36
  get matchedImage(): string | null;
37
+ /**
38
+ * Handle various Appium commands that involve an image element
39
+ *
40
+ * @param driver - the driver to use for commands
41
+ * @param cmd - the name of the driver command
42
+ * @param imgEl - image element object
43
+ * @param args - Rest of arguments for executeScripts
44
+ *
45
+ * @returns the result of running a command
46
+ */
47
+ static execute(driver: ExternalDriver, imgEl: ImageElement, cmd: string, ...args: any[]): Promise<any>;
37
48
  /**
38
49
  *
39
50
  * @returns this image element as a WebElement
@@ -61,16 +72,5 @@ export declare class ImageElement {
61
72
  * @returns WebDriver element with a special id prefix
62
73
  */
63
74
  find(multiple: boolean, driver: ExternalDriver, ...args: any[]): Promise<Element | Element[] | ImageElement>;
64
- /**
65
- * Handle various Appium commands that involve an image element
66
- *
67
- * @param driver - the driver to use for commands
68
- * @param cmd - the name of the driver command
69
- * @param imgEl - image element object
70
- * @param args - Rest of arguments for executeScripts
71
- *
72
- * @returns the result of running a command
73
- */
74
- static execute(driver: ExternalDriver, imgEl: ImageElement, cmd: string, ...args: any[]): Promise<any>;
75
75
  }
76
76
  //# sourceMappingURL=image-element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-element.d.ts","sourceRoot":"","sources":["../../lib/image-element.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC;AACjF,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAgB,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAIlF;;;GAGG;AACH,qBAAa,YAAY;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;gBAExB,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAY,EACZ,MAAa,EACb,aAAoB,GACrB,EAAE,gBAAgB;IAUnB;;OAEG;IACH,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,QAAQ,CAKrB;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IAED;;;OAGG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IASpC;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwGlD;;;;;;;OAOG;IACG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC;IAclH;;;;;;;;;OASG;WACU,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAmC7G"}
1
+ {"version":3,"file":"image-element.d.ts","sourceRoot":"","sources":["../../lib/image-element.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC;AACjF,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAgB,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAIlF;;;GAGG;AACH,qBAAa,YAAY;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;gBAExB,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAY,EACZ,MAAa,EACb,aAAoB,GACrB,EAAE,gBAAgB;IAUnB;;OAEG;IACH,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,QAAQ,CAKrB;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IAED;;;;;;;;;OASG;WACU,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAoC5G;;;OAGG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IASpC;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwGlD;;;;;;;OAOG;IACG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC;CAcnH"}
@@ -64,6 +64,51 @@ class ImageElement {
64
64
  get matchedImage() {
65
65
  return this.match?.toString('base64') ?? null;
66
66
  }
67
+ /**
68
+ * Handle various Appium commands that involve an image element
69
+ *
70
+ * @param driver - the driver to use for commands
71
+ * @param cmd - the name of the driver command
72
+ * @param imgEl - image element object
73
+ * @param args - Rest of arguments for executeScripts
74
+ *
75
+ * @returns the result of running a command
76
+ */
77
+ static async execute(driver, imgEl, cmd, ...args) {
78
+ switch (cmd) {
79
+ case 'click':
80
+ return await imgEl.click(driver);
81
+ case 'findElementFromElement':
82
+ return await imgEl.find(false, driver, ...args);
83
+ case 'findElementsFromElement':
84
+ return await imgEl.find(true, driver, ...args);
85
+ case 'elementDisplayed':
86
+ return true;
87
+ case 'getSize':
88
+ return imgEl.size;
89
+ case 'getLocation':
90
+ case 'getLocationInView':
91
+ return imgEl.location;
92
+ case 'getElementRect':
93
+ return imgEl.rect;
94
+ case 'getElementScreenshot':
95
+ return imgEl.originalImage;
96
+ case 'getAttribute':
97
+ // /session/:sessionId/element/:elementId/attribute/:name
98
+ // /session/:sessionId/element/:elementId/attribute/visual should return the visual data
99
+ // e.g. ["content-desc","appium-image-element-xxxxx","xxxxx"], ["visual","appium-image-element-xxxxx","xxxxx"]
100
+ switch (args[0]) {
101
+ case 'visual':
102
+ return imgEl.matchedImage;
103
+ case 'score':
104
+ return imgEl.score;
105
+ default:
106
+ throw new driver_1.errors.NotYetImplementedError();
107
+ }
108
+ default:
109
+ throw new driver_1.errors.NotYetImplementedError();
110
+ }
111
+ }
67
112
  /**
68
113
  *
69
114
  * @returns this image element as a WebElement
@@ -192,51 +237,6 @@ class ImageElement {
192
237
  containerRect: this.rect,
193
238
  });
194
239
  }
195
- /**
196
- * Handle various Appium commands that involve an image element
197
- *
198
- * @param driver - the driver to use for commands
199
- * @param cmd - the name of the driver command
200
- * @param imgEl - image element object
201
- * @param args - Rest of arguments for executeScripts
202
- *
203
- * @returns the result of running a command
204
- */
205
- static async execute(driver, imgEl, cmd, ...args) {
206
- switch (cmd) {
207
- case 'click':
208
- return await imgEl.click(driver);
209
- case 'findElementFromElement':
210
- return await imgEl.find(false, driver, ...args);
211
- case 'findElementsFromElement':
212
- return await imgEl.find(true, driver, ...args);
213
- case 'elementDisplayed':
214
- return true;
215
- case 'getSize':
216
- return imgEl.size;
217
- case 'getLocation':
218
- case 'getLocationInView':
219
- return imgEl.location;
220
- case 'getElementRect':
221
- return imgEl.rect;
222
- case 'getElementScreenshot':
223
- return imgEl.originalImage;
224
- case 'getAttribute':
225
- // /session/:sessionId/element/:elementId/attribute/:name
226
- // /session/:sessionId/element/:elementId/attribute/visual should return the visual data
227
- // e.g. ["content-desc","appium-image-element-xxxxx","xxxxx"], ["visual","appium-image-element-xxxxx","xxxxx"]
228
- switch (args[0]) {
229
- case 'visual':
230
- return imgEl.matchedImage;
231
- case 'score':
232
- return imgEl.score;
233
- default:
234
- throw new driver_1.errors.NotYetImplementedError();
235
- }
236
- default:
237
- throw new driver_1.errors.NotYetImplementedError();
238
- }
239
- }
240
240
  }
241
241
  exports.ImageElement = ImageElement;
242
242
  //# sourceMappingURL=image-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-element.js","sourceRoot":"","sources":["../../lib/image-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-element.js","sourceRoot":"","sources":["../../lib/image-element.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,20 @@ import { BasePlugin } from 'appium/plugin';
2
2
  import { ImageElementFinder } from './finder';
3
3
  import type { ExternalDriver, ActionSequence, MethodMap } from '@appium/types';
4
4
  import type { MatchingOptions, SimilarityOptions, OccurrenceOptions } from '@appium/opencv';
5
- export declare function getImgElFromArgs(args: any[]): string | undefined;
6
5
  export declare class ImageElementPlugin extends BasePlugin {
6
+ static newMethodMap: MethodMap<ImageElementPlugin>;
7
7
  readonly finder: ImageElementFinder;
8
8
  constructor(pluginName: string);
9
- static newMethodMap: MethodMap<ImageElementPlugin>;
10
9
  compareImages(next: () => Promise<any>, driver: ExternalDriver, mode: string, firstImage: string | Buffer, secondImage: string | Buffer, options?: MatchingOptions | SimilarityOptions | OccurrenceOptions): Promise<any>;
11
10
  findElement(next: () => Promise<any>, driver: ExternalDriver, ...args: any[]): Promise<any>;
12
11
  findElements(next: () => Promise<any>, driver: ExternalDriver, ...args: any[]): Promise<any>;
13
- private _find;
14
12
  handle(next: () => Promise<any>, driver: ExternalDriver, cmdName: string, ...args: any[]): Promise<any>;
15
13
  performActions(next: () => Promise<any>, driver: ExternalDriver, actionSequences: ActionSequence[]): Promise<any>;
14
+ private _find;
16
15
  }
16
+ /**
17
+ * Returns the first image-element id found in command args.
18
+ * @param args Command arguments.
19
+ */
20
+ export declare function getImgElFromArgs(args: any[]): string | undefined;
17
21
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAG5C,OAAO,KAAK,EAAC,cAAc,EAAW,cAAc,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAC,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAE1F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,SAAS,CAEhE;AAED,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAExB,UAAU,EAAE,MAAM;IAM9B,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAWvC;IAEL,aAAa,CACjB,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAChE,OAAO,CAAC,GAAG,CAAC;IAIT,WAAW,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3F,YAAY,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;YAIpF,KAAK;IAgBb,MAAM,CACV,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,GAAG,CAAC;IAoBT,cAAc,CAClB,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,GAAG,CAAC;CA+BhB"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAG5C,OAAO,KAAK,EAAC,cAAc,EAAW,cAAc,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAC,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAE1F,qBAAa,kBAAmB,SAAQ,UAAU;IAEhD,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAWvC;IACX,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAExB,UAAU,EAAE,MAAM;IAKxB,aAAa,CACjB,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAChE,OAAO,CAAC,GAAG,CAAC;IAIT,WAAW,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3F,YAAY,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5F,MAAM,CACV,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,GAAG,CAAC;IAoBT,cAAc,CAClB,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,GAAG,CAAC;YAgCD,KAAK;CAepB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,SAAS,CAEhE"}
@@ -13,15 +13,7 @@ const compare_1 = require("./compare");
13
13
  const finder_1 = require("./finder");
14
14
  const image_element_1 = require("./image-element");
15
15
  const constants_1 = require("./constants");
16
- function getImgElFromArgs(args) {
17
- return args.find((arg) => lodash_1.default.isString(arg) && arg.startsWith(constants_1.IMAGE_ELEMENT_PREFIX));
18
- }
19
16
  class ImageElementPlugin extends plugin_1.BasePlugin {
20
- finder;
21
- constructor(pluginName) {
22
- super(pluginName);
23
- this.finder = new finder_1.ImageElementFinder();
24
- }
25
17
  // this plugin supports a non-standard 'compare images' command
26
18
  static newMethodMap = {
27
19
  '/session/:sessionId/appium/compare_images': {
@@ -35,6 +27,11 @@ class ImageElementPlugin extends plugin_1.BasePlugin {
35
27
  },
36
28
  },
37
29
  };
30
+ finder;
31
+ constructor(pluginName) {
32
+ super(pluginName);
33
+ this.finder = new finder_1.ImageElementFinder();
34
+ }
38
35
  async compareImages(next, driver, mode, firstImage, secondImage, options) {
39
36
  return await (0, compare_1.compareImages)(mode, firstImage, secondImage, options);
40
37
  }
@@ -44,14 +41,6 @@ class ImageElementPlugin extends plugin_1.BasePlugin {
44
41
  async findElements(next, driver, ...args) {
45
42
  return await this._find(true, next, driver, ...args);
46
43
  }
47
- async _find(multiple, next, driver, ...args) {
48
- const [strategy, selector] = args;
49
- // if we're not actually finding by image, just do the normal thing
50
- if (strategy !== constants_1.IMAGE_STRATEGY) {
51
- return await next();
52
- }
53
- return await this.finder.findByImage(Buffer.from(selector, 'base64'), driver, { multiple });
54
- }
55
44
  async handle(next, driver, cmdName, ...args) {
56
45
  // if we have a command that involves an image element id, attempt to find the image element
57
46
  // and execute the command on it
@@ -95,6 +84,21 @@ class ImageElementPlugin extends plugin_1.BasePlugin {
95
84
  }
96
85
  return await next();
97
86
  }
87
+ async _find(multiple, next, driver, ...args) {
88
+ const [strategy, selector] = args;
89
+ // if we're not actually finding by image, just do the normal thing
90
+ if (strategy !== constants_1.IMAGE_STRATEGY) {
91
+ return await next();
92
+ }
93
+ return await this.finder.findByImage(Buffer.from(selector, 'base64'), driver, { multiple });
94
+ }
98
95
  }
99
96
  exports.ImageElementPlugin = ImageElementPlugin;
97
+ /**
98
+ * Returns the first image-element id found in command args.
99
+ * @param args Command arguments.
100
+ */
101
+ function getImgElFromArgs(args) {
102
+ return args.find((arg) => lodash_1.default.isString(arg) && arg.startsWith(constants_1.IMAGE_ELEMENT_PREFIX));
103
+ }
100
104
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":";;;;;;AAqIA,4CAEC;AAvID,oDAAuB;AACvB,0CAAqC;AACrC,6CAAqC;AACrC,0CAAyC;AACzC,uCAAwC;AACxC,qCAA4C;AAC5C,mDAA6C;AAC7C,2CAAiE;AAIjE,MAAa,kBAAmB,SAAQ,mBAAU;IAChD,+DAA+D;IAC/D,MAAM,CAAC,YAAY,GAAkC;QACnD,2CAA2C,EAAE;YAC3C,IAAI,EAAE;gBACJ,OAAO,EAAE,eAAe;gBACxB,aAAa,EAAE;oBACb,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC;oBAC/C,QAAQ,EAAE,CAAC,SAAS,CAAC;iBACtB;gBACD,UAAU,EAAE,IAAI;aACjB;SACF;KACO,CAAC;IACF,MAAM,CAAqB;IAEpC,YAAY,UAAkB;QAC5B,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAkB,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,IAAwB,EACxB,MAAsB,EACtB,IAAY,EACZ,UAA2B,EAC3B,WAA4B,EAC5B,OAAiE;QAEjE,OAAO,MAAM,IAAA,uBAAa,EAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAwB,EAAE,MAAsB,EAAE,GAAG,IAAW;QAChF,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAwB,EAAE,MAAsB,EAAE,GAAG,IAAW;QACjF,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAwB,EACxB,MAAsB,EACtB,OAAe,EACf,GAAG,IAAW;QAEd,4FAA4F;QAC5F,gCAAgC;QAChC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,eAAM,CAAC,kBAAkB,EAAE,CAAC;YACxC,CAAC;YACD,OAAO,MAAM,4BAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACnC,CAAC;QAED,qCAAqC;QACrC,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,IAAwB,EACxB,MAAsB,EACtB,eAAiC;QAEjC,wEAAwE;QACxE,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC7C,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC5C,qFAAqF;gBACrF,IAAI,CAAC,gBAAC,CAAC,aAAa,CAAE,MAAc,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7C,SAAS;gBACX,CAAC;gBAED,MAAM,YAAY,GAAG,MAAa,CAAC;gBAEnC,MAAM,IAAI,GAAG,cAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAiB,CAAC,CAAC;gBAChE,IAAI,CAAC,gBAAC,CAAC,UAAU,CAAC,IAAI,EAAE,gCAAoB,CAAC,EAAE,CAAC;oBAC9C,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,eAAM,CAAC,kBAAkB,EAAE,CAAC;gBACxC,CAAC;gBAED,4DAA4D;gBAC5D,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjC,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjC,+FAA+F;gBAC/F,OAAO,YAAY,CAAC,MAAM,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,QAAiB,EACjB,IAAwB,EACxB,MAAsB,EACtB,GAAG,IAAW;QAEd,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;QAElC,mEAAmE;QACnE,IAAI,QAAQ,KAAK,0BAAc,EAAE,CAAC;YAChC,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC;IAC5F,CAAC;;AAnHH,gDAoHC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,IAAW;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,gCAAoB,CAAC,CAAC,CAAC;AACrF,CAAC"}
@@ -83,6 +83,52 @@ export class ImageElement {
83
83
  return this.match?.toString('base64') ?? null;
84
84
  }
85
85
 
86
+ /**
87
+ * Handle various Appium commands that involve an image element
88
+ *
89
+ * @param driver - the driver to use for commands
90
+ * @param cmd - the name of the driver command
91
+ * @param imgEl - image element object
92
+ * @param args - Rest of arguments for executeScripts
93
+ *
94
+ * @returns the result of running a command
95
+ */
96
+ static async execute(driver: ExternalDriver, imgEl: ImageElement, cmd: string, ...args: any[]): Promise<any> {
97
+ switch (cmd) {
98
+ case 'click':
99
+ return await imgEl.click(driver);
100
+ case 'findElementFromElement':
101
+ return await imgEl.find(false, driver, ...args);
102
+ case 'findElementsFromElement':
103
+ return await imgEl.find(true, driver, ...args);
104
+ case 'elementDisplayed':
105
+ return true;
106
+ case 'getSize':
107
+ return imgEl.size;
108
+ case 'getLocation':
109
+ case 'getLocationInView':
110
+ return imgEl.location;
111
+ case 'getElementRect':
112
+ return imgEl.rect;
113
+ case 'getElementScreenshot':
114
+ return imgEl.originalImage;
115
+ case 'getAttribute':
116
+ // /session/:sessionId/element/:elementId/attribute/:name
117
+ // /session/:sessionId/element/:elementId/attribute/visual should return the visual data
118
+ // e.g. ["content-desc","appium-image-element-xxxxx","xxxxx"], ["visual","appium-image-element-xxxxx","xxxxx"]
119
+ switch (args[0]) {
120
+ case 'visual':
121
+ return imgEl.matchedImage;
122
+ case 'score':
123
+ return imgEl.score;
124
+ default:
125
+ throw new errors.NotYetImplementedError();
126
+ }
127
+ default:
128
+ throw new errors.NotYetImplementedError();
129
+ }
130
+ }
131
+
86
132
  /**
87
133
  *
88
134
  * @returns this image element as a WebElement
@@ -237,49 +283,4 @@ export class ImageElement {
237
283
  });
238
284
  }
239
285
 
240
- /**
241
- * Handle various Appium commands that involve an image element
242
- *
243
- * @param driver - the driver to use for commands
244
- * @param cmd - the name of the driver command
245
- * @param imgEl - image element object
246
- * @param args - Rest of arguments for executeScripts
247
- *
248
- * @returns the result of running a command
249
- */
250
- static async execute(driver: ExternalDriver, imgEl: ImageElement, cmd: string, ...args: any[]): Promise<any> {
251
- switch (cmd) {
252
- case 'click':
253
- return await imgEl.click(driver);
254
- case 'findElementFromElement':
255
- return await imgEl.find(false, driver, ...args);
256
- case 'findElementsFromElement':
257
- return await imgEl.find(true, driver, ...args);
258
- case 'elementDisplayed':
259
- return true;
260
- case 'getSize':
261
- return imgEl.size;
262
- case 'getLocation':
263
- case 'getLocationInView':
264
- return imgEl.location;
265
- case 'getElementRect':
266
- return imgEl.rect;
267
- case 'getElementScreenshot':
268
- return imgEl.originalImage;
269
- case 'getAttribute':
270
- // /session/:sessionId/element/:elementId/attribute/:name
271
- // /session/:sessionId/element/:elementId/attribute/visual should return the visual data
272
- // e.g. ["content-desc","appium-image-element-xxxxx","xxxxx"], ["visual","appium-image-element-xxxxx","xxxxx"]
273
- switch (args[0]) {
274
- case 'visual':
275
- return imgEl.matchedImage;
276
- case 'score':
277
- return imgEl.score;
278
- default:
279
- throw new errors.NotYetImplementedError();
280
- }
281
- default:
282
- throw new errors.NotYetImplementedError();
283
- }
284
- }
285
286
  }
package/lib/plugin.ts CHANGED
@@ -9,18 +9,7 @@ import {IMAGE_STRATEGY, IMAGE_ELEMENT_PREFIX} from './constants';
9
9
  import type {ExternalDriver, Element, ActionSequence, MethodMap} from '@appium/types';
10
10
  import type {MatchingOptions, SimilarityOptions, OccurrenceOptions} from '@appium/opencv';
11
11
 
12
- export function getImgElFromArgs(args: any[]): string | undefined {
13
- return args.find((arg) => _.isString(arg) && arg.startsWith(IMAGE_ELEMENT_PREFIX));
14
- }
15
-
16
12
  export class ImageElementPlugin extends BasePlugin {
17
- readonly finder: ImageElementFinder;
18
-
19
- constructor(pluginName: string) {
20
- super(pluginName);
21
- this.finder = new ImageElementFinder();
22
- }
23
-
24
13
  // this plugin supports a non-standard 'compare images' command
25
14
  static newMethodMap: MethodMap<ImageElementPlugin> = {
26
15
  '/session/:sessionId/appium/compare_images': {
@@ -34,6 +23,12 @@ export class ImageElementPlugin extends BasePlugin {
34
23
  },
35
24
  },
36
25
  } as const;
26
+ readonly finder: ImageElementFinder;
27
+
28
+ constructor(pluginName: string) {
29
+ super(pluginName);
30
+ this.finder = new ImageElementFinder();
31
+ }
37
32
 
38
33
  async compareImages(
39
34
  next: () => Promise<any>,
@@ -54,22 +49,6 @@ export class ImageElementPlugin extends BasePlugin {
54
49
  return await this._find(true, next, driver, ...args);
55
50
  }
56
51
 
57
- private async _find(
58
- multiple: boolean,
59
- next: () => Promise<any>,
60
- driver: ExternalDriver,
61
- ...args: any[]
62
- ): Promise<any> {
63
- const [strategy, selector] = args;
64
-
65
- // if we're not actually finding by image, just do the normal thing
66
- if (strategy !== IMAGE_STRATEGY) {
67
- return await next();
68
- }
69
-
70
- return await this.finder.findByImage(Buffer.from(selector, 'base64'), driver, {multiple});
71
- }
72
-
73
52
  async handle(
74
53
  next: () => Promise<any>,
75
54
  driver: ExternalDriver,
@@ -130,4 +109,28 @@ export class ImageElementPlugin extends BasePlugin {
130
109
 
131
110
  return await next();
132
111
  }
112
+
113
+ private async _find(
114
+ multiple: boolean,
115
+ next: () => Promise<any>,
116
+ driver: ExternalDriver,
117
+ ...args: any[]
118
+ ): Promise<any> {
119
+ const [strategy, selector] = args;
120
+
121
+ // if we're not actually finding by image, just do the normal thing
122
+ if (strategy !== IMAGE_STRATEGY) {
123
+ return await next();
124
+ }
125
+
126
+ return await this.finder.findByImage(Buffer.from(selector, 'base64'), driver, {multiple});
127
+ }
128
+ }
129
+
130
+ /**
131
+ * Returns the first image-element id found in command args.
132
+ * @param args Command arguments.
133
+ */
134
+ export function getImgElFromArgs(args: any[]): string | undefined {
135
+ return args.find((arg) => _.isString(arg) && arg.startsWith(IMAGE_ELEMENT_PREFIX));
133
136
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/images-plugin",
3
- "version": "4.1.1",
3
+ "version": "4.2.1",
4
4
  "description": "Plugin for working with images and image elements in Appium",
5
5
  "keywords": [
6
6
  "automation",
@@ -40,10 +40,10 @@
40
40
  "test:e2e": "mocha --exit --timeout 40s --slow 20s \"./test/e2e/**/*.spec.*ts\""
41
41
  },
42
42
  "dependencies": {
43
- "@appium/opencv": "^4.1.1",
44
- "@appium/support": "^7.0.6",
45
- "lodash": "4.17.23",
46
- "lru-cache": "11.2.6",
43
+ "@appium/opencv": "4.1.3",
44
+ "@appium/support": "7.1.1",
45
+ "lodash": "4.18.1",
46
+ "lru-cache": "11.3.5",
47
47
  "sharp": "0.34.5"
48
48
  },
49
49
  "peerDependencies": {
@@ -60,5 +60,5 @@
60
60
  "publishConfig": {
61
61
  "access": "public"
62
62
  },
63
- "gitHead": "980a121804ae006db879fb6860f627ac36174c15"
63
+ "gitHead": "17f84265d10944fec06ae7684ae8ad77d1224b50"
64
64
  }
package/tsconfig.json CHANGED
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
+ "rootDir": ".",
3
4
  "outDir": "build",
4
5
  "checkJs": true,
5
6
  "esModuleInterop": true,