@wopee-io/wopee.wdio 4.6.0 → 5.0.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.
- package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.d.ts +2 -2
- package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.d.ts.map +1 -1
- package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.js +18 -20
- package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.js.map +1 -1
- package/build/desktopBrowser/commands/trackElement.js +2 -2
- package/build/desktopBrowser/commands/trackElement.js.map +1 -1
- package/build/desktopBrowser/commands/trackScreen.js +2 -2
- package/build/desktopBrowser/commands/trackScreen.js.map +1 -1
- package/build/desktopBrowser/methods/images.d.ts +1 -1
- package/build/desktopBrowser/methods/images.d.ts.map +1 -1
- package/build/desktopBrowser/methods/images.interfaces.d.ts +2 -2
- package/build/desktopBrowser/methods/images.interfaces.d.ts.map +1 -1
- package/build/desktopBrowser/methods/images.interfaces.js.map +1 -1
- package/build/desktopBrowser/methods/images.js +5 -5
- package/build/desktopBrowser/methods/images.js.map +1 -1
- package/build/domain/model/config.interface.d.ts +82 -13
- package/build/domain/model/config.interface.d.ts.map +1 -1
- package/build/domain/model/config.interface.js +16 -1
- package/build/domain/model/config.interface.js.map +1 -1
- package/build/domain/model/service.interface.d.ts +3 -3
- package/build/domain/model/service.interface.d.ts.map +1 -1
- package/build/domain/model/service.interface.js.map +1 -1
- package/build/domain/service/configurationService.d.ts +5 -0
- package/build/domain/service/configurationService.d.ts.map +1 -0
- package/build/domain/service/configurationService.js +65 -0
- package/build/domain/service/configurationService.js.map +1 -0
- package/build/domain/service/wopeeService.d.ts.map +1 -1
- package/build/domain/service/wopeeService.js +2 -2
- package/build/domain/service/wopeeService.js.map +1 -1
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -0
- package/build/index.js.map +1 -1
- package/build/utils/versionMetadata.js +2 -2
- package/docs/configuration.md +9 -18
- package/node_modules/@autonomous-testing/sdk/.github/workflows/ci_cd.yaml +3 -1
- package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/createIntegrationStepPayload.interface.d.ts +6 -0
- package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/createIntegrationStepPayload.interface.js +2 -0
- package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/index.d.ts +9 -13
- package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/index.js +5 -1
- package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssert.interface.d.ts +22 -0
- package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssert.interface.js +18 -0
- package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssertPayload.interface.d.ts +17 -0
- package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssertPayload.interface.js +11 -0
- package/node_modules/@autonomous-testing/sdk/build/core/ports/api.d.ts +2 -1
- package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/adapter.d.ts +2 -1
- package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/adapter.js +10 -0
- package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/factories.d.ts +5 -3
- package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/factories.js +23 -0
- package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/interface.d.ts +63 -4
- package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/interface.js +21 -2
- package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/mutations.d.ts +1 -0
- package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/mutations.js +8 -1
- package/node_modules/@autonomous-testing/sdk/build/shared/metadata/versionMetadata.js +2 -2
- package/node_modules/@autonomous-testing/sdk/package.json +7 -5
- package/node_modules/axios/CHANGELOG.md +157 -61
- package/node_modules/axios/README.md +271 -80
- package/node_modules/axios/SECURITY.md +3 -3
- package/node_modules/axios/UPGRADE_GUIDE.md +37 -15
- package/node_modules/axios/bin/check-build-version.js +19 -0
- package/node_modules/axios/bin/ssl_hotfix.js +22 -0
- package/node_modules/axios/dist/axios.js +2014 -2222
- package/node_modules/axios/dist/axios.js.map +1 -0
- package/node_modules/axios/dist/axios.min.js +2 -3
- package/node_modules/axios/dist/axios.min.js.map +1 -0
- package/node_modules/axios/dist/esm/axios.js +2379 -0
- package/node_modules/axios/dist/esm/axios.js.map +1 -0
- package/node_modules/axios/dist/esm/axios.min.js +2 -0
- package/node_modules/axios/dist/esm/axios.min.js.map +1 -0
- package/node_modules/axios/index.d.ts +106 -19
- package/node_modules/axios/lib/adapters/http.js +155 -116
- package/node_modules/axios/lib/adapters/xhr.js +15 -11
- package/node_modules/axios/lib/axios.js +5 -1
- package/node_modules/axios/lib/cancel/CancelToken.js +4 -5
- package/node_modules/axios/lib/cancel/CanceledError.js +4 -2
- package/node_modules/axios/lib/core/Axios.js +18 -2
- package/node_modules/axios/lib/core/AxiosError.js +12 -1
- package/node_modules/axios/lib/core/InterceptorManager.js +9 -0
- package/node_modules/axios/lib/core/buildFullPath.js +5 -2
- package/node_modules/axios/lib/core/dispatchRequest.js +7 -0
- package/node_modules/axios/lib/core/mergeConfig.js +3 -0
- package/node_modules/axios/lib/core/transformData.js +3 -2
- package/node_modules/axios/lib/defaults/index.js +42 -13
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +42 -0
- package/node_modules/axios/lib/helpers/bind.js +1 -5
- package/node_modules/axios/lib/helpers/buildURL.js +18 -33
- package/node_modules/axios/lib/helpers/combineURLs.js +1 -1
- package/node_modules/axios/lib/helpers/formDataToJSON.js +74 -0
- package/node_modules/axios/lib/helpers/fromDataURI.js +51 -0
- package/node_modules/axios/lib/helpers/isURLSameOrigin.js +12 -12
- package/node_modules/axios/lib/helpers/parseHeaders.js +2 -2
- package/node_modules/axios/lib/helpers/toFormData.js +141 -34
- package/node_modules/axios/lib/helpers/toURLEncodedForm.js +18 -0
- package/node_modules/axios/lib/platform/browser/classes/FormData.js +3 -0
- package/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +5 -0
- package/node_modules/axios/lib/platform/browser/index.js +11 -0
- package/node_modules/axios/lib/platform/index.js +3 -0
- package/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
- package/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +5 -0
- package/node_modules/axios/lib/platform/node/index.js +11 -0
- package/node_modules/axios/lib/utils.js +68 -16
- package/node_modules/axios/package.json +20 -7
- package/node_modules/axios/rollup.config.js +60 -0
- package/node_modules/proxy-from-env/.eslintrc +29 -0
- package/node_modules/proxy-from-env/.travis.yml +10 -0
- package/node_modules/proxy-from-env/LICENSE +20 -0
- package/node_modules/proxy-from-env/README.md +131 -0
- package/node_modules/proxy-from-env/index.js +108 -0
- package/node_modules/proxy-from-env/package.json +34 -0
- package/node_modules/proxy-from-env/test.js +483 -0
- package/package.json +4 -4
- package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.d.ts +0 -10
- package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.d.ts.map +0 -1
- package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.d.ts +0 -28
- package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.d.ts.map +0 -1
- package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.js +0 -12
- package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.js.map +0 -1
- package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.js +0 -57
- package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.js.map +0 -1
- package/build/domain/model/croppingOptions.interface.d.ts +0 -8
- package/build/domain/model/croppingOptions.interface.d.ts.map +0 -1
- package/build/domain/model/croppingOptions.interface.js +0 -12
- package/build/domain/model/croppingOptions.interface.js.map +0 -1
- package/build/port/driven/configDrivingPort/configDrivingPort.d.ts +0 -9
- package/build/port/driven/configDrivingPort/configDrivingPort.d.ts.map +0 -1
- package/build/port/driven/configDrivingPort/configDrivingPort.js +0 -15
- package/build/port/driven/configDrivingPort/configDrivingPort.js.map +0 -1
- package/build/port/driven/configDrivingPort/configDrivingPortDefaults.d.ts +0 -6
- package/build/port/driven/configDrivingPort/configDrivingPortDefaults.d.ts.map +0 -1
- package/build/port/driven/configDrivingPort/configDrivingPortDefaults.js +0 -36
- package/build/port/driven/configDrivingPort/configDrivingPortDefaults.js.map +0 -1
- package/node_modules/axios/dist/axios.map +0 -1
- package/node_modules/axios/dist/axios.min.map +0 -1
- /package/node_modules/axios/lib/{defaults/env → env/classes}/FormData.js +0 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { GeneralWopeeServiceOptionsSchema, ImageProcessingOptionsSchema, ScreenshotValidationOptionsSchema, } from '../../domain/model/config.interface.js';
|
|
2
|
+
import { WopeeError } from '@autonomous-testing/sdk';
|
|
3
|
+
import 'dotenv/config';
|
|
4
|
+
function parseImageProcessingOptions(options) {
|
|
5
|
+
let imageProcessingOptions;
|
|
6
|
+
try {
|
|
7
|
+
imageProcessingOptions = ImageProcessingOptionsSchema.parse({
|
|
8
|
+
...options,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
if (error instanceof Error) {
|
|
13
|
+
throw new WopeeError(error?.message);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
throw error;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return imageProcessingOptions;
|
|
20
|
+
}
|
|
21
|
+
function parseGeneralWopeeServiceOptions(options) {
|
|
22
|
+
let generalWopeeServiceOptions;
|
|
23
|
+
try {
|
|
24
|
+
const parsedSchema = GeneralWopeeServiceOptionsSchema.parse({ isLandscape: options.isLandscape });
|
|
25
|
+
generalWopeeServiceOptions = { isLandscape: parsedSchema.isLandscape };
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (error instanceof Error) {
|
|
29
|
+
throw new WopeeError(error?.message);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return generalWopeeServiceOptions;
|
|
36
|
+
}
|
|
37
|
+
function parseScreenshotValidationOptions(options) {
|
|
38
|
+
let screenshotValidationOptions;
|
|
39
|
+
try {
|
|
40
|
+
screenshotValidationOptions = ScreenshotValidationOptionsSchema.parse({
|
|
41
|
+
...options,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (error instanceof Error) {
|
|
46
|
+
throw new WopeeError(error?.message);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return screenshotValidationOptions;
|
|
53
|
+
}
|
|
54
|
+
function loadConfig(options) {
|
|
55
|
+
const screenshotValidationOptions = parseScreenshotValidationOptions(options.screenshotValidation);
|
|
56
|
+
const imageProcessingOptions = parseImageProcessingOptions(options.imageProcessing);
|
|
57
|
+
const generalWopeeServiceOptions = parseGeneralWopeeServiceOptions(options);
|
|
58
|
+
return {
|
|
59
|
+
screenshotValidation: screenshotValidationOptions,
|
|
60
|
+
imageProcessing: imageProcessingOptions,
|
|
61
|
+
isLandscape: generalWopeeServiceOptions.isLandscape,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export { loadConfig };
|
|
65
|
+
//# sourceMappingURL=configurationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configurationService.js","sourceRoot":"","sources":["../../../lib/domain/service/configurationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gCAAgC,EAEhC,4BAA4B,EAE5B,iCAAiC,GAElC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,eAAe,CAAC;AAEvB,SAAS,2BAA2B,CAAC,OAA+B;IAClE,IAAI,sBAA8C,CAAC;IACnD,IAAI,CAAC;QACH,sBAAsB,GAAG,4BAA4B,CAAC,KAAK,CAAC;YAC1D,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAS,+BAA+B,CAAC,OAA4B;IACnE,IAAI,0BAAsD,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,gCAAgC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAClG,0BAA0B,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAS,gCAAgC,CAAC,OAAoC;IAC5E,IAAI,2BAAwD,CAAC;IAC7D,IAAI,CAAC;QACH,2BAA2B,GAAG,iCAAiC,CAAC,KAAK,CAAC;YACpE,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,OAA4B;IAC9C,MAAM,2BAA2B,GAAG,gCAAgC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnG,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACpF,MAAM,0BAA0B,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAC5E,OAAO;QACL,oBAAoB,EAAE,2BAA2B;QACjD,eAAe,EAAE,sBAAsB;QACvC,WAAW,EAAE,0BAA0B,CAAC,WAAW;KACpD,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC","sourcesContent":["import {\n GeneralWopeeServiceOptions,\n GeneralWopeeServiceOptionsSchema,\n ImageProcessingOptions,\n ImageProcessingOptionsSchema,\n ScreenshotValidationOptions,\n ScreenshotValidationOptionsSchema,\n WopeeServiceOptions,\n} from '../../domain/model/config.interface.js';\nimport { WopeeError } from '@autonomous-testing/sdk';\nimport 'dotenv/config';\n\nfunction parseImageProcessingOptions(options: ImageProcessingOptions): ImageProcessingOptions {\n let imageProcessingOptions: ImageProcessingOptions;\n try {\n imageProcessingOptions = ImageProcessingOptionsSchema.parse({\n ...options,\n });\n } catch (error) {\n if (error instanceof Error) {\n throw new WopeeError(error?.message);\n } else {\n throw error;\n }\n }\n return imageProcessingOptions;\n}\n\nfunction parseGeneralWopeeServiceOptions(options: WopeeServiceOptions): GeneralWopeeServiceOptions {\n let generalWopeeServiceOptions: GeneralWopeeServiceOptions;\n try {\n const parsedSchema = GeneralWopeeServiceOptionsSchema.parse({ isLandscape: options.isLandscape });\n generalWopeeServiceOptions = { isLandscape: parsedSchema.isLandscape };\n } catch (error) {\n if (error instanceof Error) {\n throw new WopeeError(error?.message);\n } else {\n throw error;\n }\n }\n return generalWopeeServiceOptions;\n}\n\nfunction parseScreenshotValidationOptions(options: ScreenshotValidationOptions): ScreenshotValidationOptions {\n let screenshotValidationOptions: ScreenshotValidationOptions;\n try {\n screenshotValidationOptions = ScreenshotValidationOptionsSchema.parse({\n ...options,\n });\n } catch (error) {\n if (error instanceof Error) {\n throw new WopeeError(error?.message);\n } else {\n throw error;\n }\n }\n return screenshotValidationOptions;\n}\n\nfunction loadConfig(options: WopeeServiceOptions): WopeeServiceOptions {\n const screenshotValidationOptions = parseScreenshotValidationOptions(options.screenshotValidation);\n const imageProcessingOptions = parseImageProcessingOptions(options.imageProcessing);\n const generalWopeeServiceOptions = parseGeneralWopeeServiceOptions(options);\n return {\n screenshotValidation: screenshotValidationOptions,\n imageProcessing: imageProcessingOptions,\n isLandscape: generalWopeeServiceOptions.isLandscape,\n };\n}\n\nexport { loadConfig };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wopeeService.d.ts","sourceRoot":"","sources":["../../../lib/domain/service/wopeeService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wopeeService.d.ts","sourceRoot":"","sources":["../../../lib/domain/service/wopeeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAGtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EACL,aAAa,EAKb,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA6B;IAC5C,oBAAoB,EAAE,aAAa,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;gBAE9B,OAAO,EAAE,mBAAmB;IAUxC,IAAI,MAAM,IAAI,mBAAmB,CAEhC;IAED;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD;;OAEG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC;;;;;;OAMG;IACG,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;CASlE"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { WdioConfigAdapter } from '../../adapter/wdioConfigAdapter/wdioConfigAdapter.js';
|
|
2
1
|
import { DesktopBrowserClientOperationAdapter } from '../../infrastructure/adapters/desktopBrowserClientOperationAdapter/desktopBrowserClientOperationAdapter.js';
|
|
3
2
|
import { WdioLoggerAdapter } from '../../infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';
|
|
3
|
+
import { loadConfig } from './configurationService.js';
|
|
4
4
|
import { CreateIntegrationStepPayloadSchema, createApolloTrackAdapter, } from '@autonomous-testing/sdk';
|
|
5
5
|
export class WopeeService {
|
|
6
6
|
_config = null;
|
|
7
7
|
screenshotValidation;
|
|
8
8
|
clientSideScript;
|
|
9
9
|
constructor(options) {
|
|
10
|
-
this._config =
|
|
10
|
+
this._config = loadConfig(options);
|
|
11
11
|
this.clientSideScript = new DesktopBrowserClientOperationAdapter();
|
|
12
12
|
if (this._config.screenshotValidation.screenshotValidationEnabled) {
|
|
13
13
|
this.screenshotValidation = this._createApolloTrackAdapter();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wopeeService.js","sourceRoot":"","sources":["../../../lib/domain/service/wopeeService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wopeeService.js","sourceRoot":"","sources":["../../../lib/domain/service/wopeeService.ts"],"names":[],"mappings":"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","sourcesContent":["import { TrackOptions } from '../../core/domain/valueObjects/track.interface.js';\nimport { ClientSideOperationPort } from '../../core/ports/clientSideOperationPort.js';\nimport { DesktopBrowserClientOperationAdapter } from '../../infrastructure/adapters/desktopBrowserClientOperationAdapter/desktopBrowserClientOperationAdapter.js';\nimport { WdioLoggerAdapter } from '../../infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';\nimport { WopeeServiceOptions } from '../model/config.interface.js';\nimport { loadConfig } from './configurationService.js';\nimport {\n ApolloAdapter,\n ApolloAdapterConfig,\n ApolloAdapterOptions,\n CreateIntegrationStepPayload,\n CreateIntegrationStepPayloadSchema,\n IntegrationStep,\n createApolloTrackAdapter,\n} from '@autonomous-testing/sdk';\n\nexport class WopeeService {\n private _config: WopeeServiceOptions = null;\n screenshotValidation: ApolloAdapter;\n clientSideScript: ClientSideOperationPort;\n\n constructor(options: WopeeServiceOptions) {\n this._config = loadConfig(options);\n\n this.clientSideScript = new DesktopBrowserClientOperationAdapter();\n\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n this.screenshotValidation = this._createApolloTrackAdapter();\n }\n }\n\n get config(): WopeeServiceOptions {\n return this._config;\n }\n\n /**\n * Creates an ApolloTrackAdapter for tracking and validating screenshots.\n * @returns {ApolloTrackAdapter} The initialized tracking adapter.\n */\n private _createApolloTrackAdapter(): ApolloAdapter {\n const apolloAdapterConfig: ApolloAdapterConfig = {\n apiKey: this._config.screenshotValidation.apiKey,\n apiUrl: this._config.screenshotValidation.apiUrl,\n branchName: this._config.screenshotValidation?.branchName,\n enableSoftAssert: this._config.screenshotValidation?.enableSoftAssert,\n projectUuid: this._config.screenshotValidation.projectUuid,\n browser: this._config.screenshotValidation?.browser,\n comment: this._config.screenshotValidation?.comment,\n device: this._config.screenshotValidation?.device,\n os: this._config.screenshotValidation?.os,\n pixelToPixelDiffTolerance: this._config.screenshotValidation.pixelToPixelDiffTolerance,\n viewport: this._config.screenshotValidation?.viewport,\n customTags: this._config.screenshotValidation?.customTags,\n };\n\n const logger = new WdioLoggerAdapter();\n const apolloAdapterOptions: ApolloAdapterOptions = {\n apolloAdapterConfig: apolloAdapterConfig,\n loggerOptions: { loggerInstance: logger },\n };\n return createApolloTrackAdapter(apolloAdapterOptions);\n }\n\n /**\n * Starts the screenshot validation process, create/connect to Suite.\n */\n async startSuite(suiteName: string): Promise<void> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n await this.screenshotValidation.createIntegrationSuite({ suiteName });\n }\n }\n\n /**\n * Starts the screenshot validation process, create/connect to Scenario.\n */\n async startScenario(scenarioName: string): Promise<void> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n await this.screenshotValidation.createIntegrationScenario({ scenarioName });\n }\n }\n\n /**\n * Stops the scenario.\n */\n async stopScenario(): Promise<void> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n await this.screenshotValidation.stopIntegrationScenario();\n }\n }\n\n /**\n * Submits a specific image for tracking and validation.\n * @param name The name identifier for the image.\n * @param imageBase64 The image content in Base64 format.\n * @param trackImageOptions Optional additional parameters for image tracking.\n * @returns {IntegrationStep} The result of the tracking operation.\n */\n async track(trackOptions: TrackOptions): Promise<IntegrationStep> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n const payload: CreateIntegrationStepPayload = CreateIntegrationStepPayloadSchema.parse({\n ...trackOptions,\n });\n return await this.screenshotValidation.createIntegrationStep(payload);\n }\n return null;\n }\n}\n"]}
|
package/build/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { TrackElementOptions, TrackFullPageMobileNativeOptions, TrackFullPageOptions, TrackImageOptions, TrackViewportOptions } from './core/domain/valueObjects/track.interface.js';
|
|
2
2
|
import { ScreenshotOutput } from './desktopBrowser/index.js';
|
|
3
3
|
import WdioImageComparisonService from './domain/service/webdriverService.js';
|
|
4
|
+
import { WdioLoggerAdapter } from './infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';
|
|
5
|
+
import { ApolloAdapter, ApolloAdapterConfig, ApolloAdapterConfigSchema, ApolloAdapterOptions, CreateIntegrationScenarioPayload, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayload, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayload, CreateIntegrationSuitePayloadSchema, IntegrationScenario, IntegrationStep, IntegrationSuite, createApolloTrackAdapter } from '@autonomous-testing/sdk';
|
|
4
6
|
/**
|
|
5
7
|
* Extends the WebdriverIO namespace with additional methods for tracking images.
|
|
6
8
|
*/
|
|
@@ -56,4 +58,5 @@ declare global {
|
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
export default WdioImageComparisonService;
|
|
61
|
+
export { CreateIntegrationScenarioPayload, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayload, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayload, CreateIntegrationSuitePayloadSchema, IntegrationScenario, IntegrationStep, IntegrationSuite, createApolloTrackAdapter, ApolloAdapterConfig, ApolloAdapter, ApolloAdapterConfigSchema, WdioLoggerAdapter, ApolloAdapterOptions, };
|
|
59
62
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AACrG,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,gCAAgC,EAChC,sCAAsC,EACtC,4BAA4B,EAC5B,kCAAkC,EAClC,6BAA6B,EAC7B,mCAAmC,EACnC,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,WAAW,CAAC;QACpB,UAAU,OAAO;YACf,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9B;;;;;eAKG;YACH,YAAY,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAElF;;;;;eAKG;YACH,WAAW,CAAC,wBAAwB,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEvF;;;;;eAKG;YACH,mBAAmB,CAAC,0BAA0B,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEjG;;;;;eAKG;YACH,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAE5E;;;;;eAKG;YACH,yBAAyB,CACvB,gCAAgC,EAAE,gCAAgC,GACjE,OAAO,CAAC,gBAAgB,CAAC,CAAC;SAC9B;QAED,UAAU,OAAO;SAAG;QAEpB,UAAU,YAAY;YACpB,kBAAkB,CAAC,EAAE;gBACnB,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;SACH;KACF;CACF;AAGD,eAAe,0BAA0B,CAAC;AAE1C,OAAO,EACL,gCAAgC,EAChC,sCAAsC,EACtC,4BAA4B,EAC5B,kCAAkC,EAClC,6BAA6B,EAC7B,mCAAmC,EACnC,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,GACrB,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import WdioImageComparisonService from './domain/service/webdriverService.js';
|
|
2
|
+
import { WdioLoggerAdapter } from './infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';
|
|
3
|
+
import { ApolloAdapter, ApolloAdapterConfigSchema, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayloadSchema, createApolloTrackAdapter, } from '@autonomous-testing/sdk';
|
|
2
4
|
// Export the extended WebdriverIO namespace with added image tracking methods
|
|
3
5
|
export default WdioImageComparisonService;
|
|
6
|
+
export { CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayloadSchema, createApolloTrackAdapter, ApolloAdapter, ApolloAdapterConfigSchema, WdioLoggerAdapter, };
|
|
4
7
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAQA,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAQA,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AACrG,OAAO,EACL,aAAa,EAEb,yBAAyB,EAGzB,sCAAsC,EAEtC,kCAAkC,EAElC,mCAAmC,EAInC,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAkEjC,8EAA8E;AAC9E,eAAe,0BAA0B,CAAC;AAE1C,OAAO,EAEL,sCAAsC,EAEtC,kCAAkC,EAElC,mCAAmC,EAInC,wBAAwB,EAExB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,GAElB,CAAC","sourcesContent":["import {\n TrackElementOptions,\n TrackFullPageMobileNativeOptions,\n TrackFullPageOptions,\n TrackImageOptions,\n TrackViewportOptions,\n} from './core/domain/valueObjects/track.interface.js';\nimport { ScreenshotOutput } from './desktopBrowser/index.js';\nimport WdioImageComparisonService from './domain/service/webdriverService.js';\nimport { WdioLoggerAdapter } from './infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';\nimport {\n ApolloAdapter,\n ApolloAdapterConfig,\n ApolloAdapterConfigSchema,\n ApolloAdapterOptions,\n CreateIntegrationScenarioPayload,\n CreateIntegrationScenarioPayloadSchema,\n CreateIntegrationStepPayload,\n CreateIntegrationStepPayloadSchema,\n CreateIntegrationSuitePayload,\n CreateIntegrationSuitePayloadSchema,\n IntegrationScenario,\n IntegrationStep,\n IntegrationSuite,\n createApolloTrackAdapter,\n} from '@autonomous-testing/sdk';\n\n/**\n * Extends the WebdriverIO namespace with additional methods for tracking images.\n */\ndeclare global {\n // eslint-disable-next-line\n namespace WebdriverIO {\n interface Browser {\n startSuite(suiteName: string): Promise<void>;\n startScenario(scenarioName: string): Promise<void>;\n stopScenario(): Promise<void>;\n\n /**\n * Tracks an image of an element.\n *\n * @param {TrackElementOptions} [trackElementOptions] - Options for tracking the element image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackElement(trackElementOptions: TrackElementOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the viewport.\n *\n * @param {TrackViewportOptions} [trackScreenOptions] - Options for tracking the screen image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackScreen(nametrackViewportOptions: TrackViewportOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the complete screen.\n *\n * @param {TrackFullPageOptions} [trackFullPageScreenOptions] - Options for tracking the full page image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackFullPageScreen(trackFullPageScreenOptions: TrackFullPageOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the complete screen.\n *\n * @param {TrackImageOptions} [trackImageOptions] - Options for tracking the full page image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackImage(trackImageOptions: TrackImageOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the complete screen.\n *\n * @param {TrackFullPageMobileNativeOptions} [trackFullPageScreenOptions] - Options for tracking the full page image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackFullPageMobileNative(\n trackFullPageMobileNativeOptions: TrackFullPageMobileNativeOptions,\n ): Promise<ScreenshotOutput>;\n }\n\n interface Element {}\n\n interface Capabilities {\n 'wdio-ics:options'?: {\n logName?: string;\n };\n }\n }\n}\n\n// Export the extended WebdriverIO namespace with added image tracking methods\nexport default WdioImageComparisonService;\n\nexport {\n CreateIntegrationScenarioPayload,\n CreateIntegrationScenarioPayloadSchema,\n CreateIntegrationStepPayload,\n CreateIntegrationStepPayloadSchema,\n CreateIntegrationSuitePayload,\n CreateIntegrationSuitePayloadSchema,\n IntegrationScenario,\n IntegrationStep,\n IntegrationSuite,\n createApolloTrackAdapter,\n ApolloAdapterConfig,\n ApolloAdapter,\n ApolloAdapterConfigSchema,\n WdioLoggerAdapter,\n ApolloAdapterOptions,\n};\n"]}
|
|
@@ -6,8 +6,8 @@ import { execSync } from 'child_process';
|
|
|
6
6
|
* @param logger - WebdriverIO Logger instance for logging.
|
|
7
7
|
*/
|
|
8
8
|
const logVersionMetadata = (logger) => {
|
|
9
|
-
let hash = "
|
|
10
|
-
let version = "
|
|
9
|
+
let hash = "5d132ed77b72bc99cd18d1b4c9288f61c3ccb99c"
|
|
10
|
+
let version = "5.0.1"
|
|
11
11
|
// If version is not "__LOCAL__," get it from npm package
|
|
12
12
|
if (version === '__LOCAL__') {
|
|
13
13
|
version = process.env['npm_package_version'] || '__LOCAL__';
|
package/docs/configuration.md
CHANGED
|
@@ -16,9 +16,9 @@ export interface WopeeServiceOptions {
|
|
|
16
16
|
screenshotValidation?: VrtAdapterOptions;
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Image processing options.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
imageProcessing?: ImageProcessingOptions;
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Landscape or portrait.
|
|
@@ -201,25 +201,16 @@ export const DEFAULT_VRT_ADAPTER_OPTIONS: Partial<VrtAdapterOptions> = {
|
|
|
201
201
|
and
|
|
202
202
|
|
|
203
203
|
```typescript
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
204
|
+
interface ImageProcessingOptions {
|
|
205
|
+
maskColor: z.string().default('black'),
|
|
206
|
+
mode: z.enum(['masking', 'cropping', 'none']).default('none'),
|
|
207
|
+
xLeft: z.number().default(0),
|
|
208
|
+
xRight: z.number().default(0),
|
|
209
|
+
yBottom: z.number().default(0),
|
|
210
|
+
yTop: z.number().default(0),
|
|
209
211
|
}
|
|
210
212
|
```
|
|
211
213
|
|
|
212
|
-
with default values of
|
|
213
|
-
|
|
214
|
-
```typescript
|
|
215
|
-
const DEFAULT_LOCAL_SAVE_SCREENSHOT_OPTIONS: Partial<CroppingOptions> = {
|
|
216
|
-
xCropLeft: 0,
|
|
217
|
-
xCropRight: 0,
|
|
218
|
-
yCropTop: 0,
|
|
219
|
-
yCropBottom: 0,
|
|
220
|
-
};
|
|
221
|
-
```
|
|
222
|
-
|
|
223
214
|
## WebdriverIO level configuration
|
|
224
215
|
|
|
225
216
|
Simple add `wopee` service with respective confutation described in section [Service level configuration](#service-level-configuration)
|
|
@@ -8,6 +8,8 @@ declare const CreateIntegrationStepPayloadSchema: z.ZodObject<{
|
|
|
8
8
|
scenarioName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
9
9
|
suiteName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
10
10
|
viewport: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
11
|
+
pageContentBase64: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
12
|
+
baselineBranchName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
11
13
|
}, "strip", z.ZodTypeAny, {
|
|
12
14
|
imageBase64: string;
|
|
13
15
|
stepName: string;
|
|
@@ -17,6 +19,8 @@ declare const CreateIntegrationStepPayloadSchema: z.ZodObject<{
|
|
|
17
19
|
customTags?: string | null | undefined;
|
|
18
20
|
pixelToPixelDiffTolerance?: number | null | undefined;
|
|
19
21
|
viewport?: string | null | undefined;
|
|
22
|
+
pageContentBase64?: string | null | undefined;
|
|
23
|
+
baselineBranchName?: string | null | undefined;
|
|
20
24
|
}, {
|
|
21
25
|
imageBase64: string;
|
|
22
26
|
stepName: string;
|
|
@@ -26,6 +30,8 @@ declare const CreateIntegrationStepPayloadSchema: z.ZodObject<{
|
|
|
26
30
|
customTags?: string | null | undefined;
|
|
27
31
|
pixelToPixelDiffTolerance?: number | null | undefined;
|
|
28
32
|
viewport?: string | null | undefined;
|
|
33
|
+
pageContentBase64?: string | null | undefined;
|
|
34
|
+
baselineBranchName?: string | null | undefined;
|
|
29
35
|
}>;
|
|
30
36
|
type CreateIntegrationStepPayload = z.infer<typeof CreateIntegrationStepPayloadSchema>;
|
|
31
37
|
export { CreateIntegrationStepPayload, CreateIntegrationStepPayloadSchema };
|
|
@@ -11,6 +11,8 @@ const CreateIntegrationStepPayloadSchema = zod_1.z.object({
|
|
|
11
11
|
scenarioName: zod_1.z.string().nullable().optional(),
|
|
12
12
|
suiteName: zod_1.z.string().nullable().optional(),
|
|
13
13
|
viewport: zod_1.z.string().nullable().optional(),
|
|
14
|
+
pageContentBase64: zod_1.z.string().nullable().optional(),
|
|
15
|
+
baselineBranchName: zod_1.z.string().nullable().optional(),
|
|
14
16
|
});
|
|
15
17
|
exports.CreateIntegrationStepPayloadSchema = CreateIntegrationStepPayloadSchema;
|
|
16
18
|
//# sourceMappingURL=createIntegrationStepPayload.interface.js.map
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { CreateIntegrationScenarioPayload } from './createIntegrationScenarioPayload.interface';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
import { IntegrationStepSchema } from './integrationStep.interface';
|
|
11
|
-
import { IntegrationSuite } from './integrationSuite.interface';
|
|
12
|
-
import { IntegrationSuiteSchema } from './integrationSuite.interface';
|
|
13
|
-
export { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayloadSchema, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationScenarioSchema, IntegrationStepSchema, IntegrationSuiteSchema, IntegrationSuite, };
|
|
1
|
+
import { CreateIntegrationScenarioPayload, CreateIntegrationScenarioPayloadSchema } from './createIntegrationScenarioPayload.interface';
|
|
2
|
+
import { CreateIntegrationStepPayload, CreateIntegrationStepPayloadSchema } from './createIntegrationStepPayload.interface';
|
|
3
|
+
import { CreateIntegrationSuitePayload, CreateIntegrationSuitePayloadSchema } from './createIntegrationSuitePayload.interface';
|
|
4
|
+
import { IntegrationScenario, IntegrationScenarioSchema } from './integrationScenario.interface';
|
|
5
|
+
import { IntegrationStep, IntegrationStepSchema } from './integrationStep.interface';
|
|
6
|
+
import { IntegrationSuite, IntegrationSuiteSchema } from './integrationSuite.interface';
|
|
7
|
+
import { VisualAssert, VisualAssertSchema } from './visualAssert.interface';
|
|
8
|
+
import { VisualAssertPayload, VisualAssertPayloadSchema } from './visualAssertPayload.interface';
|
|
9
|
+
export { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayloadSchema, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationScenarioSchema, IntegrationStepSchema, IntegrationSuiteSchema, IntegrationSuite, VisualAssert, VisualAssertSchema, VisualAssertPayload, VisualAssertPayloadSchema, };
|
|
14
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IntegrationSuiteSchema = exports.IntegrationStepSchema = exports.IntegrationScenarioSchema = exports.CreateIntegrationSuitePayloadSchema = exports.CreateIntegrationStepPayloadSchema = exports.CreateIntegrationScenarioPayloadSchema = void 0;
|
|
3
|
+
exports.VisualAssertPayloadSchema = exports.VisualAssertSchema = exports.IntegrationSuiteSchema = exports.IntegrationStepSchema = exports.IntegrationScenarioSchema = exports.CreateIntegrationSuitePayloadSchema = exports.CreateIntegrationStepPayloadSchema = exports.CreateIntegrationScenarioPayloadSchema = void 0;
|
|
4
4
|
const createIntegrationScenarioPayload_interface_1 = require("./createIntegrationScenarioPayload.interface");
|
|
5
5
|
Object.defineProperty(exports, "CreateIntegrationScenarioPayloadSchema", { enumerable: true, get: function () { return createIntegrationScenarioPayload_interface_1.CreateIntegrationScenarioPayloadSchema; } });
|
|
6
6
|
const createIntegrationStepPayload_interface_1 = require("./createIntegrationStepPayload.interface");
|
|
@@ -13,4 +13,8 @@ const integrationStep_interface_1 = require("./integrationStep.interface");
|
|
|
13
13
|
Object.defineProperty(exports, "IntegrationStepSchema", { enumerable: true, get: function () { return integrationStep_interface_1.IntegrationStepSchema; } });
|
|
14
14
|
const integrationSuite_interface_1 = require("./integrationSuite.interface");
|
|
15
15
|
Object.defineProperty(exports, "IntegrationSuiteSchema", { enumerable: true, get: function () { return integrationSuite_interface_1.IntegrationSuiteSchema; } });
|
|
16
|
+
const visualAssert_interface_1 = require("./visualAssert.interface");
|
|
17
|
+
Object.defineProperty(exports, "VisualAssertSchema", { enumerable: true, get: function () { return visualAssert_interface_1.VisualAssertSchema; } });
|
|
18
|
+
const visualAssertPayload_interface_1 = require("./visualAssertPayload.interface");
|
|
19
|
+
Object.defineProperty(exports, "VisualAssertPayloadSchema", { enumerable: true, get: function () { return visualAssertPayload_interface_1.VisualAssertPayloadSchema; } });
|
|
16
20
|
//# sourceMappingURL=index.js.map
|
package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssert.interface.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare enum VisualAssertStatus {
|
|
3
|
+
passed = "passed",
|
|
4
|
+
failed = "failed"
|
|
5
|
+
}
|
|
6
|
+
declare const VisualAssertStatusSchema: z.ZodNativeEnum<typeof VisualAssertStatus>;
|
|
7
|
+
declare const VisualAssertSchema: z.ZodObject<{
|
|
8
|
+
status: z.ZodNativeEnum<typeof VisualAssertStatus>;
|
|
9
|
+
confidence: z.ZodNumber;
|
|
10
|
+
message: z.ZodString;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
message: string;
|
|
13
|
+
status: VisualAssertStatus;
|
|
14
|
+
confidence: number;
|
|
15
|
+
}, {
|
|
16
|
+
message: string;
|
|
17
|
+
status: VisualAssertStatus;
|
|
18
|
+
confidence: number;
|
|
19
|
+
}>;
|
|
20
|
+
type VisualAssert = z.infer<typeof VisualAssertSchema>;
|
|
21
|
+
export { VisualAssertStatus, VisualAssertStatusSchema, VisualAssert, VisualAssertSchema };
|
|
22
|
+
//# sourceMappingURL=visualAssert.interface.d.ts.map
|
package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssert.interface.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VisualAssertSchema = exports.VisualAssertStatusSchema = exports.VisualAssertStatus = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
var VisualAssertStatus;
|
|
6
|
+
(function (VisualAssertStatus) {
|
|
7
|
+
VisualAssertStatus["passed"] = "passed";
|
|
8
|
+
VisualAssertStatus["failed"] = "failed";
|
|
9
|
+
})(VisualAssertStatus || (exports.VisualAssertStatus = VisualAssertStatus = {}));
|
|
10
|
+
const VisualAssertStatusSchema = zod_1.z.nativeEnum(VisualAssertStatus);
|
|
11
|
+
exports.VisualAssertStatusSchema = VisualAssertStatusSchema;
|
|
12
|
+
const VisualAssertSchema = zod_1.z.object({
|
|
13
|
+
status: VisualAssertStatusSchema,
|
|
14
|
+
confidence: zod_1.z.number(),
|
|
15
|
+
message: zod_1.z.string(),
|
|
16
|
+
});
|
|
17
|
+
exports.VisualAssertSchema = VisualAssertSchema;
|
|
18
|
+
//# sourceMappingURL=visualAssert.interface.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const VisualAssertPayloadSchema: z.ZodObject<{
|
|
3
|
+
context: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4
|
+
prompt: z.ZodString;
|
|
5
|
+
imageBase64: z.ZodString;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
prompt: string;
|
|
8
|
+
imageBase64: string;
|
|
9
|
+
context?: string | null | undefined;
|
|
10
|
+
}, {
|
|
11
|
+
prompt: string;
|
|
12
|
+
imageBase64: string;
|
|
13
|
+
context?: string | null | undefined;
|
|
14
|
+
}>;
|
|
15
|
+
type VisualAssertPayload = z.infer<typeof VisualAssertPayloadSchema>;
|
|
16
|
+
export { VisualAssertPayload, VisualAssertPayloadSchema };
|
|
17
|
+
//# sourceMappingURL=visualAssertPayload.interface.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VisualAssertPayloadSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const VisualAssertPayloadSchema = zod_1.z.object({
|
|
6
|
+
context: zod_1.z.string().nullable().optional(),
|
|
7
|
+
prompt: zod_1.z.string(),
|
|
8
|
+
imageBase64: zod_1.z.string(),
|
|
9
|
+
});
|
|
10
|
+
exports.VisualAssertPayloadSchema = VisualAssertPayloadSchema;
|
|
11
|
+
//# sourceMappingURL=visualAssertPayload.interface.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite } from '../domain/entities';
|
|
1
|
+
import { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite, VisualAssert, VisualAssertPayload } from '../domain/entities';
|
|
2
2
|
export declare abstract class ApiPort {
|
|
3
3
|
/** ApiPort is an abstract base class providing a template for integration management.
|
|
4
4
|
* This class includes methods for starting and stopping integration suites and scenarios,
|
|
@@ -12,5 +12,6 @@ export declare abstract class ApiPort {
|
|
|
12
12
|
abstract createIntegrationScenario(payload: CreateIntegrationScenarioPayload): Promise<IntegrationScenario>;
|
|
13
13
|
abstract stopIntegrationScenario(): Promise<void>;
|
|
14
14
|
abstract createIntegrationStep(payload: CreateIntegrationStepPayload): Promise<IntegrationStep>;
|
|
15
|
+
abstract visualAssert(payload: VisualAssertPayload): Promise<VisualAssert>;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiPort, CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite, LoggerPort } from '../../../core';
|
|
1
|
+
import { ApiPort, CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite, LoggerPort, VisualAssert, VisualAssertPayload } from '../../../core';
|
|
2
2
|
import { ApolloAdapterConfig } from './interface';
|
|
3
3
|
declare class ApolloAdapter extends ApiPort {
|
|
4
4
|
private _config;
|
|
@@ -14,6 +14,7 @@ declare class ApolloAdapter extends ApiPort {
|
|
|
14
14
|
createIntegrationScenario(payload: CreateIntegrationScenarioPayload): Promise<IntegrationScenario>;
|
|
15
15
|
stopIntegrationScenario(): Promise<void>;
|
|
16
16
|
createIntegrationStep(payload: CreateIntegrationStepPayload): Promise<IntegrationStep>;
|
|
17
|
+
visualAssert(payload: VisualAssertPayload): Promise<VisualAssert>;
|
|
17
18
|
}
|
|
18
19
|
export { ApolloAdapter };
|
|
19
20
|
//# sourceMappingURL=adapter.d.ts.map
|
package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/adapter.js
CHANGED
|
@@ -118,6 +118,16 @@ class ApolloAdapter extends core_1.ApiPort {
|
|
|
118
118
|
this._logger.info(`Tracking response: ${JSON.stringify(integrationStep)}`);
|
|
119
119
|
return integrationStep;
|
|
120
120
|
}
|
|
121
|
+
async visualAssert(payload) {
|
|
122
|
+
const query = mutations_1.visualAssertMutation;
|
|
123
|
+
const variables = (0, factories_1.visualAssertApolloPayloadFactory)(this._config, payload);
|
|
124
|
+
const response = await this._post(query, variables);
|
|
125
|
+
const data = response.data.data.visualAssert;
|
|
126
|
+
const visualAssertApolloResponse = interface_1.VisualAssertApolloResponseSchema.parse(data);
|
|
127
|
+
const visualAssert = (0, factories_1.visualAssertFactory)(visualAssertApolloResponse);
|
|
128
|
+
this._logger.info(`Visual assertion: ${JSON.stringify(visualAssert)}`);
|
|
129
|
+
return visualAssert;
|
|
130
|
+
}
|
|
121
131
|
}
|
|
122
132
|
exports.ApolloAdapter = ApolloAdapter;
|
|
123
133
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite } from '../../../core';
|
|
2
|
-
import { ApolloAdapterConfig, CreateIntegrationScenarioApolloPayload, CreateIntegrationStepApolloPayload, CreateIntegrationStepApolloResponse, CreateIntegrationSuiteApolloPayload, StopIntegrationScenarioApolloPayload } from './interface';
|
|
1
|
+
import { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite, VisualAssert, VisualAssertPayload } from '../../../core';
|
|
2
|
+
import { ApolloAdapterConfig, CreateIntegrationScenarioApolloPayload, CreateIntegrationStepApolloPayload, CreateIntegrationStepApolloResponse, CreateIntegrationSuiteApolloPayload, StopIntegrationScenarioApolloPayload, VisualAssertApolloPayload, VisualAssertApolloResponse } from './interface';
|
|
3
3
|
declare function createIntegrationSuiteApolloPayloadFactory(config: ApolloAdapterConfig, createIntegrationSuitePayload: CreateIntegrationSuitePayload): CreateIntegrationSuiteApolloPayload;
|
|
4
4
|
declare function createIntegrationScenarioApolloPayloadFactory(config: ApolloAdapterConfig, integrationSuite: IntegrationSuite, createIntegrationScenarioPayload: CreateIntegrationScenarioPayload): CreateIntegrationScenarioApolloPayload;
|
|
5
5
|
declare function stopIntegrationScenarioApolloPayloadFactory(config: ApolloAdapterConfig, integrationScenario: IntegrationScenario): StopIntegrationScenarioApolloPayload;
|
|
6
6
|
declare function createIntegrationStepApolloPayloadFactory(config: ApolloAdapterConfig, integrationScenario: IntegrationScenario, createIntegrationStepPayload: CreateIntegrationStepPayload): CreateIntegrationStepApolloPayload;
|
|
7
7
|
declare function integrationStepFactory(createIntegrationStepApolloResponse: CreateIntegrationStepApolloResponse): IntegrationStep;
|
|
8
|
-
|
|
8
|
+
declare function visualAssertApolloPayloadFactory(config: ApolloAdapterConfig, visualAssertPayload: VisualAssertPayload): VisualAssertApolloPayload;
|
|
9
|
+
declare function visualAssertFactory(visualAssertApolloResponse: VisualAssertApolloResponse): VisualAssert;
|
|
10
|
+
export { createIntegrationSuiteApolloPayloadFactory, createIntegrationScenarioApolloPayloadFactory, stopIntegrationScenarioApolloPayloadFactory, createIntegrationStepApolloPayloadFactory, integrationStepFactory, visualAssertApolloPayloadFactory, visualAssertFactory, };
|
|
9
11
|
//# sourceMappingURL=factories.d.ts.map
|
|
@@ -5,6 +5,8 @@ exports.createIntegrationScenarioApolloPayloadFactory = createIntegrationScenari
|
|
|
5
5
|
exports.stopIntegrationScenarioApolloPayloadFactory = stopIntegrationScenarioApolloPayloadFactory;
|
|
6
6
|
exports.createIntegrationStepApolloPayloadFactory = createIntegrationStepApolloPayloadFactory;
|
|
7
7
|
exports.integrationStepFactory = integrationStepFactory;
|
|
8
|
+
exports.visualAssertApolloPayloadFactory = visualAssertApolloPayloadFactory;
|
|
9
|
+
exports.visualAssertFactory = visualAssertFactory;
|
|
8
10
|
const core_1 = require("../../../core");
|
|
9
11
|
const shared_1 = require("../../../shared");
|
|
10
12
|
const interface_1 = require("./interface");
|
|
@@ -100,12 +102,14 @@ function createIntegrationStepApolloPayloadFactory(config, integrationScenario,
|
|
|
100
102
|
os: config.os,
|
|
101
103
|
pixelToPixelDiffTolerance: config.pixelToPixelDiffTolerance,
|
|
102
104
|
viewport: config.viewport,
|
|
105
|
+
baselineBranchName: config.baselineBranchName,
|
|
103
106
|
});
|
|
104
107
|
const localConfigPayload = (0, shared_1.filterNoneValues)({
|
|
105
108
|
comment: createIntegrationStepPayload.comment,
|
|
106
109
|
customTags: createIntegrationStepPayload.customTags,
|
|
107
110
|
pixelToPixelDiffTolerance: createIntegrationStepPayload.pixelToPixelDiffTolerance,
|
|
108
111
|
viewport: createIntegrationStepPayload.viewport,
|
|
112
|
+
baselineBranchName: createIntegrationStepPayload.baselineBranchName,
|
|
109
113
|
});
|
|
110
114
|
const rawConfigPayload = (0, shared_1.mergeDicts)(globalConfigPayload, localConfigPayload);
|
|
111
115
|
const configPayload = interface_1.CreateIntegrationStepConfigApolloPayloadSchema.parse(rawConfigPayload);
|
|
@@ -120,6 +124,8 @@ function createIntegrationStepApolloPayloadFactory(config, integrationScenario,
|
|
|
120
124
|
stepName: createIntegrationStepPayload.stepName,
|
|
121
125
|
trackName: `${integrationScenario.name}-${createIntegrationStepPayload.stepName}`,
|
|
122
126
|
viewport: configPayload.viewport,
|
|
127
|
+
pageContentBase64: createIntegrationStepPayload.pageContentBase64,
|
|
128
|
+
baselineBranchName: configPayload.baselineBranchName,
|
|
123
129
|
});
|
|
124
130
|
}
|
|
125
131
|
function integrationStepFactory(createIntegrationStepApolloResponse) {
|
|
@@ -141,4 +147,21 @@ function integrationStepFactory(createIntegrationStepApolloResponse) {
|
|
|
141
147
|
status: createIntegrationStepApolloResponse.status,
|
|
142
148
|
});
|
|
143
149
|
}
|
|
150
|
+
function visualAssertApolloPayloadFactory(config, visualAssertPayload) {
|
|
151
|
+
return interface_1.VisualAssertApolloPayloadSchema.parse({
|
|
152
|
+
input: {
|
|
153
|
+
imageBase64: visualAssertPayload.imageBase64,
|
|
154
|
+
context: visualAssertPayload.context,
|
|
155
|
+
prompt: visualAssertPayload.prompt,
|
|
156
|
+
projectUuid: config.projectUuid,
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
function visualAssertFactory(visualAssertApolloResponse) {
|
|
161
|
+
return core_1.VisualAssertSchema.parse({
|
|
162
|
+
status: visualAssertApolloResponse.status,
|
|
163
|
+
confidence: visualAssertApolloResponse.confidence,
|
|
164
|
+
message: visualAssertApolloResponse.message,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
144
167
|
//# sourceMappingURL=factories.js.map
|