@applitools/eyes-webdriverio 5.36.0 → 5.36.2

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.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,24 @@
10
10
 
11
11
 
12
12
 
13
+ ## 5.36.2 - 2022/10/8
14
+
15
+ ### Features
16
+ - Applied client's user-agent by default to resource requests in ufg mode
17
+ ### Bug fixes
18
+ - Fixed bug when error was thrown when coded region wasn't found using selector
19
+ - Fixed wrong signature of `closeBatch` function
20
+ - Blank missed frames src in ufg
21
+ - Fix an issue when ufg related requests were not sent through the proxy
22
+ - Fixed issue with logs not being saved/written
23
+
24
+ ## 5.36.1 - 2022/10/4
25
+
26
+ ### Features
27
+ ### Bug fixes
28
+ - Fixed the issue with screenshots being taken on chrome-emulated devices
29
+ - Fixed issue that prevented Target.webview() from being called
30
+
13
31
  ## 5.36.0 - 2022/9/29
14
32
 
15
33
  ### Features
package/README.md CHANGED
@@ -31,6 +31,8 @@
31
31
  * [Accessiblity Regions](#accessiblity-regions)
32
32
  * [Scroll root element](#scroll-root-element)
33
33
  * [Variation group ID](#variation-group-id)
34
+ * [Lazy loading](#lazy-loading-lazyload)
35
+ * [WebView](#webview-webview)
34
36
  * [Other checkSettings configuration](#other-checksettings-configuration)
35
37
  * [close](#close)
36
38
  - [Runners](#runners)
@@ -375,6 +377,22 @@ Other details:
375
377
  - The SDK will repeatedly scroll the page using the `scrollLength` until either the page cannot be scrolled further or the `maxAmountToScroll` has been reached (whichever happens first)
376
378
  - If more time is needed for additional content to load, then increase the waitingTime to a value higher than 500 milliseconds. If better performance is desired and additional content lazily loads faster than the default waitingTime, then reduce it to a value below 500 milliseconds
377
379
 
380
+ ##### WebView (`webview`)
381
+
382
+ When working with native apps that have webviews, it's possible to capture their contents in a check command.
383
+
384
+ You do this by specifying it in the check settings like so:
385
+
386
+ ```js
387
+ // the SDK will automatically switch to the first available web view
388
+ eyes.check(Target.webview())
389
+
390
+ // they can also specify the webview id (if it's static and they know what it is)
391
+ eyes.check(Target.webview('webview-id'))
392
+ ```
393
+
394
+ After the check command, the SDK will switch the driver back to the app context that it was prior to performing the check.
395
+
378
396
  ###### Other checkSettings configuration
379
397
 
380
398
  <!-- TODO add explanation -->
package/dist/api.js CHANGED
@@ -26,7 +26,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.BatchClose = exports.Target = exports.CheckSettings = exports.Configuration = exports.Eyes = exports.By = void 0;
29
+ exports.closeBatch = exports.BatchClose = exports.Target = exports.CheckSettings = exports.Configuration = exports.Eyes = exports.By = void 0;
30
30
  const core_1 = require("@applitools/core");
31
31
  const api = __importStar(require("@applitools/eyes-api"));
32
32
  const spec = __importStar(require("@applitools/spec-driver-webdriverio"));
@@ -54,3 +54,4 @@ class BatchClose extends api.BatchClose {
54
54
  }
55
55
  exports.BatchClose = BatchClose;
56
56
  BatchClose._spec = sdk;
57
+ exports.closeBatch = api.closeBatch(sdk);
package/dist/service.js CHANGED
@@ -63,7 +63,7 @@ class EyesService {
63
63
  beforeSession(config) {
64
64
  this._appName = this._eyes.configuration.appName;
65
65
  if (config.enableEyesLogs) {
66
- this._eyes.configuration.logs = { type: 'console' };
66
+ this._eyes.setLogHandler({ type: 'console' });
67
67
  }
68
68
  }
69
69
  before() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-webdriverio",
3
- "version": "5.36.0",
3
+ "version": "5.36.2",
4
4
  "description": "Applitools Eyes SDK for WebdriverIO",
5
5
  "keywords": [
6
6
  "eyes-webdriverio",
@@ -116,17 +116,17 @@
116
116
  }
117
117
  },
118
118
  "dependencies": {
119
- "@applitools/core": "1.1.0",
120
- "@applitools/eyes-api": "1.8.0",
121
- "@applitools/spec-driver-webdriverio": "1.3.0"
119
+ "@applitools/core": "1.1.5",
120
+ "@applitools/eyes-api": "1.8.5",
121
+ "@applitools/spec-driver-webdriverio": "1.4.0"
122
122
  },
123
123
  "devDependencies": {
124
124
  "@applitools/api-extractor": "1.2.11",
125
125
  "@applitools/bongo": "^2.2.0",
126
- "@applitools/scripts": "1.1.0",
126
+ "@applitools/scripts": "1.2.0",
127
127
  "@applitools/sdk-coverage-tests": "^2.3.20",
128
- "@applitools/sdk-shared": "0.9.14",
129
- "@applitools/test-utils": "1.5.1",
128
+ "@applitools/sdk-shared": "0.9.15",
129
+ "@applitools/test-utils": "1.5.2",
130
130
  "@types/mocha": "^9.1.1",
131
131
  "@types/node": "12",
132
132
  "@typescript-eslint/eslint-plugin": "^5.27.0",
package/types/index.d.ts CHANGED
@@ -45,7 +45,7 @@ export class Eyes {
45
45
  setViewportSize(size: RectangleSizePlain): Promise<void>;
46
46
  getScrollRootElement(): Element | EyesSelector<Selector>;
47
47
  setScrollRootElement(scrollRootElement: Element | EyesSelector<Selector>): void;
48
- setLogHandler(handler: LogHandler): void;
48
+ setLogHandler(handler: LogHandlerPlain | LogHandler): void;
49
49
  getLogHandler(): LogHandler;
50
50
  setCutProvider(cutProvider: CutProvider): void;
51
51
  setImageCut(cutProvider: CutProvider): void;
@@ -406,7 +406,7 @@ export class Configuration implements Required<ConfigurationPlain> {
406
406
  addBrowser(width: number, height: number, name?: BrowserTypePlain): Configuration;
407
407
  addDeviceEmulation(deviceName: DeviceNamePlain, screenOrientation?: ScreenOrientationPlain): Configuration;
408
408
  addMobileDevice(deviceName: AndroidDeviceNamePlain, screenOrientation: ScreenOrientationPlain, version?: AndroidVersionPlain): Configuration;
409
- addMobileDevice(deviceName: IosDeviceNamePlain, screenOrientation: ScreenOrientationPlain, version?: IosVersionPlain): Configuration;
409
+ addMobileDevice(deviceName: IosDeviceNamePlain, screenOrientation: ScreenOrientationPlain, version?: AndroidVersionPlain): Configuration;
410
410
  get visualGridOptions(): { [key: string]: any; };
411
411
  set visualGridOptions(visualGridOptions: { [key: string]: any; });
412
412
  getVisualGridOptions(): { [key: string]: any; };
@@ -554,6 +554,7 @@ export const Target: {
554
554
  frame(context: { frame: number | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); scrollRootElement?: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }); }): CheckSettings;
555
555
  frame(frame: number | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })), scrollRootElement?: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })): CheckSettings;
556
556
  shadow(selector: string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }): CheckSettings;
557
+ webview(option?: string | boolean): CheckSettings;
557
558
  };
558
559
  export class BatchClose {
559
560
  static close(settings: { batchIds: Array<string>; serverUrl: string; apiKey: string; proxy?: ProxySettingsPlain; }): Promise<void>;
@@ -564,6 +565,7 @@ export class BatchClose {
564
565
  setApiKey(apiKey: string): BatchClose;
565
566
  setProxy(proxy: ProxySettingsPlain): BatchClose;
566
567
  }
568
+ export const closeBatch: (options: { batchIds: Array<string>; serverUrl: string; apiKey: string; proxy?: ProxySettingsPlain; }) => Promise<void>;
567
569
  export type AccessibilityGuidelinesVersionPlain = "WCAG_2_0" | "WCAG_2_1";
568
570
  export enum AccessibilityGuidelinesVersion {
569
571
  WCAG_2_0 = 'WCAG_2_0',
@@ -748,11 +750,10 @@ export enum AndroidDeviceName {
748
750
  Xiaomi_Redmi_Note_11 = 'Xiaomi Redmi Note 11',
749
751
  Xiaomi_Redmi_Note_11_Pro = 'Xiaomi Redmi Note 11 Pro'
750
752
  }
751
- export type AndroidVersionPlain = "latest" | "latest-1" | "latest-2";
753
+ export type AndroidVersionPlain = "latest" | "latest-1";
752
754
  export enum AndroidVersion {
753
755
  LATEST = 'latest',
754
- ONE_VERSION_BACK = 'latest-1',
755
- TWO_VERSIONS_BACK = 'latest-2'
756
+ ONE_VERSION_BACK = 'latest-1'
756
757
  }
757
758
  export type MatchLevelPlain = "None" | "Layout1" | "Layout" | "Layout2" | "Content" | "IgnoreColor" | "Strict" | "Exact";
758
759
  export enum MatchLevel {
@@ -1169,7 +1170,7 @@ export class Region implements Required<RegionPlain> {
1169
1170
  }
1170
1171
  export type DesktopBrowserInfo = { name?: BrowserTypePlain; width: number; height: number; };
1171
1172
  export type ChromeEmulationInfo = { chromeEmulationInfo: { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; }; };
1172
- export type IOSDeviceInfo = { iosDeviceInfo: { deviceName: IosDeviceNamePlain; iosVersion?: IosVersionPlain; screenOrientation?: ScreenOrientationPlain; }; };
1173
+ export type IOSDeviceInfo = { iosDeviceInfo: { deviceName: IosDeviceNamePlain; iosVersion?: AndroidVersionPlain; screenOrientation?: ScreenOrientationPlain; }; };
1173
1174
  export type AndroidDeviceInfo = { androidDeviceInfo: { deviceName: AndroidDeviceNamePlain; version?: AndroidVersionPlain; screenOrientation?: ScreenOrientationPlain; }; };
1174
1175
  export type RunnerOptionsPlain = { testConcurrency?: number; };
1175
1176
  export class RunnerOptionsFluent {
@@ -1376,7 +1377,7 @@ export type EyesSelector<TSelector = never> = string | TSelector | { selector: s
1376
1377
  export class Logger {
1377
1378
  constructor(options?: { show?: boolean; label?: string; handler?: LogHandlerPlain; });
1378
1379
  constructor(show?: boolean);
1379
- getLogHandler(): LogHandler;
1380
+ getLogHandler(): LogHandler | FileLogHandler | ConsoleLogHandler;
1380
1381
  setLogHandler(handler: LogHandlerPlain): void;
1381
1382
  verbose(...messages: Array<any>): void;
1382
1383
  log(...messages: Array<any>): void;
@@ -1388,7 +1389,6 @@ export class Logger {
1388
1389
  tag(name: string, value: any): void;
1389
1390
  extend(label?: string): Logger;
1390
1391
  }
1391
- export function closeBatch(spec: BatchCloseSpec): (options: { batchIds: Array<string>; serverUrl: string; apiKey: string; proxy?: ProxySettingsPlain; }) => Promise<void>;
1392
1392
  export abstract class EyesRunner {
1393
1393
  getAllTestResults(throwErr?: boolean): Promise<TestResultsSummary>;
1394
1394
  }