@serenity-js/protractor 3.4.2 → 3.6.0
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 +27 -0
- package/lib/adapter/Config.d.ts +2 -2
- package/lib/adapter/Config.d.ts.map +1 -1
- package/lib/adapter/ProtractorFrameworkAdapter.d.ts +3 -3
- package/lib/adapter/ProtractorFrameworkAdapter.d.ts.map +1 -1
- package/lib/adapter/ProtractorFrameworkAdapter.js.map +1 -1
- package/lib/adapter/browser-detector/BrowserDetector.d.ts +4 -4
- package/lib/adapter/browser-detector/BrowserDetector.d.ts.map +1 -1
- package/lib/adapter/browser-detector/BrowserDetector.js.map +1 -1
- package/lib/adapter/browser-detector/StandardisedCapabilities.d.ts +1 -1
- package/lib/adapter/browser-detector/StandardisedCapabilities.d.ts.map +1 -1
- package/lib/adapter/reporter/ProtractorReport.d.ts +1 -1
- package/lib/adapter/reporter/ProtractorReport.d.ts.map +1 -1
- package/lib/adapter/reporter/ProtractorReporter.d.ts +6 -6
- package/lib/adapter/reporter/ProtractorReporter.d.ts.map +1 -1
- package/lib/adapter/reporter/ProtractorReporter.js.map +1 -1
- package/lib/adapter/run.d.ts +2 -2
- package/lib/adapter/run.d.ts.map +1 -1
- package/lib/adapter/runner/TestRunnerDetector.d.ts +3 -3
- package/lib/adapter/runner/TestRunnerDetector.d.ts.map +1 -1
- package/lib/adapter/runner/TestRunnerDetector.js +1 -1
- package/lib/adapter/runner/TestRunnerDetector.js.map +1 -1
- package/lib/adapter/runner/TestRunnerLoader.d.ts +2 -2
- package/lib/adapter/runner/TestRunnerLoader.d.ts.map +1 -1
- package/lib/screenplay/abilities/BrowseTheWebWithProtractor.d.ts +2 -3
- package/lib/screenplay/abilities/BrowseTheWebWithProtractor.d.ts.map +1 -1
- package/lib/screenplay/abilities/BrowseTheWebWithProtractor.js +0 -9
- package/lib/screenplay/abilities/BrowseTheWebWithProtractor.js.map +1 -1
- package/lib/screenplay/models/ProtractorBrowsingSession.d.ts +3 -2
- package/lib/screenplay/models/ProtractorBrowsingSession.d.ts.map +1 -1
- package/lib/screenplay/models/ProtractorBrowsingSession.js +8 -1
- package/lib/screenplay/models/ProtractorBrowsingSession.js.map +1 -1
- package/lib/screenplay/models/ProtractorCookie.d.ts +3 -2
- package/lib/screenplay/models/ProtractorCookie.d.ts.map +1 -1
- package/lib/screenplay/models/ProtractorCookie.js.map +1 -1
- package/lib/screenplay/models/ProtractorModalDialogHandler.d.ts +4 -3
- package/lib/screenplay/models/ProtractorModalDialogHandler.d.ts.map +1 -1
- package/lib/screenplay/models/ProtractorModalDialogHandler.js.map +1 -1
- package/lib/screenplay/models/ProtractorPage.d.ts +7 -5
- package/lib/screenplay/models/ProtractorPage.d.ts.map +1 -1
- package/lib/screenplay/models/ProtractorPage.js +4 -0
- package/lib/screenplay/models/ProtractorPage.js.map +1 -1
- package/lib/screenplay/models/ProtractorPageElement.d.ts +3 -2
- package/lib/screenplay/models/ProtractorPageElement.d.ts.map +1 -1
- package/lib/screenplay/models/ProtractorPageElement.js.map +1 -1
- package/lib/screenplay/models/locators/ProtractorLocator.d.ts +14 -3
- package/lib/screenplay/models/locators/ProtractorLocator.d.ts.map +1 -1
- package/lib/screenplay/models/locators/ProtractorLocator.js +7 -52
- package/lib/screenplay/models/locators/ProtractorLocator.js.map +1 -1
- package/lib/screenplay/models/locators/ProtractorRootLocator.d.ts +1 -1
- package/lib/screenplay/models/locators/ProtractorRootLocator.d.ts.map +1 -1
- package/lib/screenplay/models/locators/ProtractorSelectors.d.ts +10 -0
- package/lib/screenplay/models/locators/ProtractorSelectors.d.ts.map +1 -0
- package/lib/screenplay/models/locators/ProtractorSelectors.js +79 -0
- package/lib/screenplay/models/locators/ProtractorSelectors.js.map +1 -0
- package/lib/screenplay/questions/ProtractorParam.d.ts +1 -1
- package/lib/screenplay/questions/ProtractorParam.d.ts.map +1 -1
- package/lib/screenplay/questions/ProtractorParam.js +0 -1
- package/lib/screenplay/questions/ProtractorParam.js.map +1 -1
- package/lib/screenplay/unpromisedWebElement.d.ts +1 -1
- package/lib/screenplay/unpromisedWebElement.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/adapter/Config.ts +2 -2
- package/src/adapter/ProtractorFrameworkAdapter.ts +7 -4
- package/src/adapter/browser-detector/BrowserDetector.ts +5 -4
- package/src/adapter/browser-detector/StandardisedCapabilities.ts +1 -1
- package/src/adapter/reporter/ProtractorReport.ts +1 -1
- package/src/adapter/reporter/ProtractorReporter.ts +9 -7
- package/src/adapter/run.ts +2 -2
- package/src/adapter/runner/TestRunnerDetector.ts +3 -3
- package/src/adapter/runner/TestRunnerLoader.ts +3 -3
- package/src/screenplay/abilities/BrowseTheWebWithProtractor.ts +2 -13
- package/src/screenplay/interactions/UseAngular.ts +1 -1
- package/src/screenplay/models/ProtractorBrowsingSession.ts +15 -5
- package/src/screenplay/models/ProtractorCookie.ts +3 -2
- package/src/screenplay/models/ProtractorModalDialogHandler.ts +4 -3
- package/src/screenplay/models/ProtractorPage.ts +19 -6
- package/src/screenplay/models/ProtractorPageElement.ts +6 -4
- package/src/screenplay/models/locators/ProtractorLocator.ts +10 -38
- package/src/screenplay/models/locators/ProtractorRootLocator.ts +1 -1
- package/src/screenplay/models/locators/ProtractorSelectors.ts +65 -0
- package/src/screenplay/questions/ProtractorParam.ts +2 -1
- package/src/screenplay/unpromisedWebElement.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorPageElement.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPageElement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA+C;
|
|
1
|
+
{"version":3,"file":"ProtractorPageElement.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPageElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import type { PageElement, RootLocator, Selector } from '@serenity-js/web';
|
|
2
|
+
import { Locator } from '@serenity-js/web';
|
|
3
|
+
import type * as protractor from 'protractor';
|
|
4
|
+
import type { ProtractorErrorHandler } from '../ProtractorErrorHandler';
|
|
5
|
+
import type { ProtractorRootLocator } from './ProtractorRootLocator';
|
|
4
6
|
/**
|
|
5
7
|
* Protractor-specific implementation of {@apilink Locator}.
|
|
6
8
|
*
|
|
@@ -19,4 +21,13 @@ export declare class ProtractorLocator extends Locator<protractor.ElementFinder,
|
|
|
19
21
|
element(): PageElement<protractor.ElementFinder>;
|
|
20
22
|
allElements(): Promise<Array<PageElement<protractor.ElementFinder>>>;
|
|
21
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare class ProtractorExistingElementLocator extends ProtractorLocator {
|
|
28
|
+
private readonly existingNativeElement;
|
|
29
|
+
constructor(parent: ProtractorRootLocator, selector: Selector, errorHandler: ProtractorErrorHandler, existingNativeElement: protractor.ElementFinder);
|
|
30
|
+
nativeElement(): Promise<protractor.ElementFinder>;
|
|
31
|
+
allNativeElements(): Promise<Array<protractor.ElementFinder>>;
|
|
32
|
+
}
|
|
22
33
|
//# sourceMappingURL=ProtractorLocator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorLocator.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorLocator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProtractorLocator.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorLocator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,KAAK,UAAU,MAAM,YAAY,CAAC;AAG9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGrE;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC;IAKpF,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAF7B,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,EAC7C,QAAQ,EAAE,QAAQ,EACD,YAAY,EAAE,sBAAsB;IAKzD,SAAS,CAAC,cAAc,IAAI,UAAU,CAAC,OAAO;IAIxC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAU7B,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;YAS1C,oBAAoB;IAU5B,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAKnE,EAAE,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC;IAIpF,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;IAIxE,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC;IAI1C,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;CAc7E;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,iBAAiB;IAK/D,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAHtC,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,sBAAsB,EACnB,qBAAqB,EAAE,UAAU,CAAC,aAAa;IAK9D,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;IAIlD,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CAGtE"}
|
|
@@ -1,34 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.ProtractorLocator = void 0;
|
|
27
|
-
const core_1 = require("@serenity-js/core");
|
|
3
|
+
exports.ProtractorExistingElementLocator = exports.ProtractorLocator = void 0;
|
|
28
4
|
const web_1 = require("@serenity-js/web");
|
|
29
|
-
const protractor = __importStar(require("protractor"));
|
|
30
5
|
const unpromisedWebElement_1 = require("../../unpromisedWebElement");
|
|
31
6
|
const ProtractorPageElement_1 = require("../ProtractorPageElement");
|
|
7
|
+
const ProtractorSelectors_1 = require("./ProtractorSelectors");
|
|
32
8
|
/**
|
|
33
9
|
* Protractor-specific implementation of {@apilink Locator}.
|
|
34
10
|
*
|
|
@@ -39,30 +15,8 @@ class ProtractorLocator extends web_1.Locator {
|
|
|
39
15
|
super(parent, selector);
|
|
40
16
|
this.errorHandler = errorHandler;
|
|
41
17
|
}
|
|
42
|
-
// todo: refactor; replace with a map and some more generic lookup mechanism
|
|
43
18
|
nativeSelector() {
|
|
44
|
-
|
|
45
|
-
return protractor.by.css(this.selector.value);
|
|
46
|
-
}
|
|
47
|
-
if (this.selector instanceof web_1.ByDeepCss) {
|
|
48
|
-
if (!protractor.by.shadowDomCss) {
|
|
49
|
-
throw new core_1.LogicError(`By.deepCss() requires query-selector-shadow-dom plugin, which Serenity/JS ProtractorFrameworkAdapter registers by default. If you're using Serenity/JS without ProtractorFrameworkAdapter, please register the plugin yourself.`);
|
|
50
|
-
}
|
|
51
|
-
return protractor.by.shadowDomCss(this.selector.value.replace('>>>', '').trim());
|
|
52
|
-
}
|
|
53
|
-
if (this.selector instanceof web_1.ByCssContainingText) {
|
|
54
|
-
return protractor.by.cssContainingText(this.selector.value, this.selector.text);
|
|
55
|
-
}
|
|
56
|
-
if (this.selector instanceof web_1.ById) {
|
|
57
|
-
return protractor.by.id(this.selector.value);
|
|
58
|
-
}
|
|
59
|
-
if (this.selector instanceof web_1.ByTagName) {
|
|
60
|
-
return protractor.by.tagName(this.selector.value);
|
|
61
|
-
}
|
|
62
|
-
if (this.selector instanceof web_1.ByXPath) {
|
|
63
|
-
return protractor.by.xpath(this.selector.value);
|
|
64
|
-
}
|
|
65
|
-
throw new core_1.LogicError((0, core_1.f) `${this.selector} is not supported by ${this.constructor.name}`);
|
|
19
|
+
return ProtractorSelectors_1.ProtractorSelectors.locatorFrom(this.selector);
|
|
66
20
|
}
|
|
67
21
|
async isPresent() {
|
|
68
22
|
try {
|
|
@@ -103,14 +57,14 @@ class ProtractorLocator extends web_1.Locator {
|
|
|
103
57
|
}
|
|
104
58
|
async allElements() {
|
|
105
59
|
const elements = await this.allNativeElements();
|
|
106
|
-
return Promise.all(elements.map(childElement => new ProtractorPageElement_1.ProtractorPageElement(new
|
|
60
|
+
return Promise.all(elements.map(childElement => new ProtractorPageElement_1.ProtractorPageElement(new ProtractorExistingElementLocator(this.parent, this.selector, this.errorHandler, (0, unpromisedWebElement_1.unpromisedWebElement)(childElement)))));
|
|
107
61
|
}
|
|
108
62
|
}
|
|
109
63
|
exports.ProtractorLocator = ProtractorLocator;
|
|
110
64
|
/**
|
|
111
|
-
* @
|
|
65
|
+
* @internal
|
|
112
66
|
*/
|
|
113
|
-
class
|
|
67
|
+
class ProtractorExistingElementLocator extends ProtractorLocator {
|
|
114
68
|
constructor(parent, selector, errorHandler, existingNativeElement) {
|
|
115
69
|
super(parent, selector, errorHandler);
|
|
116
70
|
this.existingNativeElement = existingNativeElement;
|
|
@@ -122,4 +76,5 @@ class ExistingElementLocator extends ProtractorLocator {
|
|
|
122
76
|
return [this.existingNativeElement];
|
|
123
77
|
}
|
|
124
78
|
}
|
|
79
|
+
exports.ProtractorExistingElementLocator = ProtractorExistingElementLocator;
|
|
125
80
|
//# sourceMappingURL=ProtractorLocator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorLocator.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorLocator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProtractorLocator.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorLocator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorRootLocator.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorRootLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ProtractorRootLocator.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorRootLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,KAAK,UAAU,MAAM,YAAY,CAAC;AAI9C;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,UAAU,CAAC,iBAAiB;IAI5D,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IAO3E,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Selector } from '@serenity-js/web';
|
|
2
|
+
import * as protractor from 'protractor';
|
|
3
|
+
export declare class ProtractorSelectors {
|
|
4
|
+
static selectorFrom(nativeLocator: protractor.Locator & {
|
|
5
|
+
using?: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}): Selector;
|
|
8
|
+
static locatorFrom(selector: Selector): protractor.Locator;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ProtractorSelectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtractorSelectors.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorSelectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAmE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAEzC,qBAAa,mBAAmB;IAC5B,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,QAAQ;IA4BpG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC,OAAO;CA+B7D"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.ProtractorSelectors = void 0;
|
|
27
|
+
const core_1 = require("@serenity-js/core");
|
|
28
|
+
const web_1 = require("@serenity-js/web");
|
|
29
|
+
const protractor = __importStar(require("protractor"));
|
|
30
|
+
class ProtractorSelectors {
|
|
31
|
+
static selectorFrom(nativeLocator) {
|
|
32
|
+
switch (true) {
|
|
33
|
+
case nativeLocator.using === 'xpath':
|
|
34
|
+
return new web_1.ByXPath(nativeLocator.value);
|
|
35
|
+
case nativeLocator.toString().startsWith('by.shadowDomCss'): {
|
|
36
|
+
const [, selector] = nativeLocator.toString().match(/by\.shadowDomCss\("(.*)"\)$/);
|
|
37
|
+
return new web_1.ByDeepCss(selector);
|
|
38
|
+
}
|
|
39
|
+
case nativeLocator.toString().startsWith('by.cssContainingText'): {
|
|
40
|
+
// https://github.com/angular/protractor/blob/4bc80d1a459542d883ea9200e4e1f48d265d0fda/lib/locators.ts#L428
|
|
41
|
+
const [, selector, text] = nativeLocator.toString().match(/by\.cssContainingText\("(.*)", "(.*)"\)$/);
|
|
42
|
+
return new web_1.ByCssContainingText(selector, text);
|
|
43
|
+
}
|
|
44
|
+
case nativeLocator.using === 'css selector' && nativeLocator.value.startsWith('*[id='): {
|
|
45
|
+
const [, selector] = nativeLocator.value.match(/\*\[id="(.*)"]$/);
|
|
46
|
+
return new web_1.ById(selector);
|
|
47
|
+
}
|
|
48
|
+
// case nativeLocator.using === 'css selector':
|
|
49
|
+
default:
|
|
50
|
+
return new web_1.ByCss(nativeLocator.value);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
static locatorFrom(selector) {
|
|
54
|
+
if (selector instanceof web_1.ByCss) {
|
|
55
|
+
return protractor.by.css(selector.value);
|
|
56
|
+
}
|
|
57
|
+
if (selector instanceof web_1.ByDeepCss) {
|
|
58
|
+
if (!protractor.by.shadowDomCss) {
|
|
59
|
+
throw new core_1.LogicError(`By.deepCss() requires query-selector-shadow-dom plugin, which Serenity/JS ProtractorFrameworkAdapter registers by default. If you're using Serenity/JS without ProtractorFrameworkAdapter, please register the plugin yourself.`);
|
|
60
|
+
}
|
|
61
|
+
return protractor.by.shadowDomCss(selector.value.replace('>>>', '').trim());
|
|
62
|
+
}
|
|
63
|
+
if (selector instanceof web_1.ByCssContainingText) {
|
|
64
|
+
return protractor.by.cssContainingText(selector.value, selector.text);
|
|
65
|
+
}
|
|
66
|
+
if (selector instanceof web_1.ById) {
|
|
67
|
+
return protractor.by.id(selector.value);
|
|
68
|
+
}
|
|
69
|
+
if (selector instanceof web_1.ByTagName) {
|
|
70
|
+
return protractor.by.tagName(selector.value);
|
|
71
|
+
}
|
|
72
|
+
if (selector instanceof web_1.ByXPath) {
|
|
73
|
+
return protractor.by.xpath(selector.value);
|
|
74
|
+
}
|
|
75
|
+
throw new core_1.LogicError((0, core_1.f) `${selector} is not supported by ${this.constructor.name}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.ProtractorSelectors = ProtractorSelectors;
|
|
79
|
+
//# sourceMappingURL=ProtractorSelectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtractorSelectors.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorSelectors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAkD;AAClD,0CAAkH;AAClH,uDAAyC;AAEzC,MAAa,mBAAmB;IAC5B,MAAM,CAAC,YAAY,CAAC,aAAqE;QAErF,QAAQ,IAAI,EAAE;YACV,KAAK,aAAa,CAAC,KAAK,KAAK,OAAO;gBAChC,OAAO,IAAI,aAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE5C,KAAK,aAAa,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACzD,MAAM,CAAE,AAAD,EAAG,QAAQ,CAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACrF,OAAO,IAAI,eAAS,CAAC,QAAQ,CAAC,CAAC;aAClC;YAED,KAAK,aAAa,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC9D,2GAA2G;gBAC3G,MAAM,CAAE,AAAD,EAAG,QAAQ,EAAE,IAAI,CAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBACxG,OAAO,IAAI,yBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAClD;YAED,KAAK,aAAa,CAAC,KAAK,KAAK,cAAc,IAAI,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpF,MAAM,CAAE,AAAD,EAAG,QAAQ,CAAE,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBACnE,OAAO,IAAI,UAAI,CAAC,QAAQ,CAAC,CAAC;aAC7B;YAED,+CAA+C;YAC/C;gBACI,OAAO,IAAI,WAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,QAAkB;QACjC,IAAI,QAAQ,YAAY,WAAK,EAAE;YAC3B,OAAO,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC5C;QAED,IAAI,QAAQ,YAAY,eAAS,EAAE;YAC/B,IAAI,CAAE,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE;gBAC9B,MAAM,IAAI,iBAAU,CAAC,iOAAiO,CAAC,CAAA;aAC1P;YAED,OAAO,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAC/E;QAED,IAAI,QAAQ,YAAY,yBAAmB,EAAE;YACzC,OAAO,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;SACzE;QAED,IAAI,QAAQ,YAAY,UAAI,EAAE;YAC1B,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC3C;QAED,IAAI,QAAQ,YAAY,eAAS,EAAE;YAC/B,OAAO,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChD;QAED,IAAI,QAAQ,YAAY,aAAO,EAAE;YAC7B,OAAO,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC9C;QAED,MAAM,IAAI,iBAAU,CAAC,IAAA,QAAC,EAAC,GAAI,QAAS,wBAAyB,IAAI,CAAC,WAAW,CAAC,IAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;CACJ;AA5DD,kDA4DC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Answerable, QuestionAdapter } from '@serenity-js/core';
|
|
1
|
+
import type { Answerable, QuestionAdapter } from '@serenity-js/core';
|
|
2
2
|
/**
|
|
3
3
|
* Returns a Protractor configuration parameter specified in `protractor.conf.js`
|
|
4
4
|
* and identified by name. Protractor configuration parameters can be overridden via the command line.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorParam.d.ts","sourceRoot":"","sources":["../../../src/screenplay/questions/ProtractorParam.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"ProtractorParam.d.ts","sourceRoot":"","sources":["../../../src/screenplay/questions/ProtractorParam.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,qBAAa,eAAe;IAExB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC;CAQrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorParam.js","sourceRoot":"","sources":["../../../src/screenplay/questions/ProtractorParam.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ProtractorParam.js","sourceRoot":"","sources":["../../../src/screenplay/questions/ProtractorParam.ts"],"names":[],"mappings":";;;AAEA,4CAAgD;AAEhD,4CAA0D;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAa,eAAe;IAExB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAc,IAAwB;QAC/C,OAAO,eAAQ,CAAC,KAAK,CAAc,IAAA,QAAC,EAAA,OAAQ,IAAK,uCAAuC,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACpG,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,sCAA0B,CAAC,EAAE,CAAC,KAAK,CAA+B,CAAC;YAExF,OAAO,YAAY,CAAC,KAAK,CAAc,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,0CAgBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WebElement } from 'protractor';
|
|
1
|
+
import type { WebElement } from 'protractor';
|
|
2
2
|
/**
|
|
3
3
|
* Under [certain conditions](https://github.com/angular/protractor/blob/4bc80d1a459542d883ea9200e4e1f48d265d0fda/lib/element.ts#L797),
|
|
4
4
|
* Protractor `WebElement` implements a `then()` method, and under others it doesn't.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpromisedWebElement.d.ts","sourceRoot":"","sources":["../../src/screenplay/unpromisedWebElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"unpromisedWebElement.d.ts","sourceRoot":"","sources":["../../src/screenplay/unpromisedWebElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAa5E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serenity-js/protractor",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0",
|
|
4
4
|
"description": "Test your web apps with Serenity/JS",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
"node": "^16.13 || ^18.12 || ^20"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@serenity-js/core": "3.
|
|
52
|
-
"@serenity-js/web": "3.
|
|
51
|
+
"@serenity-js/core": "3.6.0",
|
|
52
|
+
"@serenity-js/web": "3.6.0",
|
|
53
53
|
"deepmerge": "^4.3.1",
|
|
54
54
|
"query-selector-shadow-dom": "^1.0.1",
|
|
55
55
|
"selenium-webdriver": "^3.6.0",
|
|
56
|
-
"tiny-types": "^1.
|
|
56
|
+
"tiny-types": "^1.20.0"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"@serenity-js/cucumber": "^3.0.0",
|
|
@@ -75,12 +75,12 @@
|
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@integration/testing-tools": "3.0.0",
|
|
78
|
-
"@serenity-js/assertions": "3.
|
|
79
|
-
"@serenity-js/cucumber": "3.
|
|
80
|
-
"@serenity-js/jasmine": "3.
|
|
81
|
-
"@serenity-js/local-server": "3.
|
|
82
|
-
"@serenity-js/mocha": "3.
|
|
83
|
-
"@serenity-js/rest": "3.
|
|
78
|
+
"@serenity-js/assertions": "3.6.0",
|
|
79
|
+
"@serenity-js/cucumber": "3.6.0",
|
|
80
|
+
"@serenity-js/jasmine": "3.6.0",
|
|
81
|
+
"@serenity-js/local-server": "3.6.0",
|
|
82
|
+
"@serenity-js/mocha": "3.6.0",
|
|
83
|
+
"@serenity-js/rest": "3.6.0",
|
|
84
84
|
"@serenity-js/web": "3.1.1",
|
|
85
85
|
"@types/chai": "^4.3.5",
|
|
86
86
|
"@types/express": "^4.17.17",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"selenium-webdriver": "^3.6.0",
|
|
100
100
|
"start-server-and-test": "^2.0.0",
|
|
101
101
|
"ts-node": "^10.9.1",
|
|
102
|
-
"typescript": "^5.
|
|
102
|
+
"typescript": "^5.1.6"
|
|
103
103
|
},
|
|
104
|
-
"gitHead": "
|
|
104
|
+
"gitHead": "970ac224860693ab70e813e176b7532241503b14"
|
|
105
105
|
}
|
package/src/adapter/Config.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SerenityConfig } from '@serenity-js/core';
|
|
2
|
-
import { Config as ProtractorConfig } from 'protractor';
|
|
1
|
+
import type { SerenityConfig } from '@serenity-js/core';
|
|
2
|
+
import type { Config as ProtractorConfig } from 'protractor';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Protractor configuration object with an additional
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { Serenity } from '@serenity-js/core';
|
|
2
|
+
import { AnsiDiffFormatter, ArtifactArchiver, Cast } from '@serenity-js/core';
|
|
3
|
+
import type { Runner } from 'protractor';
|
|
4
|
+
import { protractor } from 'protractor';
|
|
3
5
|
import { isRecord } from 'tiny-types/lib/objects';
|
|
4
6
|
|
|
5
7
|
import { BrowserDetector, StandardisedCapabilities } from './browser-detector';
|
|
6
|
-
import { Config } from './Config';
|
|
7
|
-
import { ProtractorReport
|
|
8
|
+
import type { Config } from './Config';
|
|
9
|
+
import type { ProtractorReport} from './reporter';
|
|
10
|
+
import { ProtractorReporter } from './reporter';
|
|
8
11
|
import { TestRunnerDetector } from './runner';
|
|
9
12
|
import deepmerge = require('deepmerge');
|
|
10
13
|
import { TakeNotes } from '@serenity-js/core';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Stage } from '@serenity-js/core';
|
|
2
|
-
import {
|
|
1
|
+
import type { Stage } from '@serenity-js/core';
|
|
2
|
+
import type { DomainEvent} from '@serenity-js/core/lib/events';
|
|
3
|
+
import { AsyncOperationAttempted, AsyncOperationCompleted, SceneStarts, SceneTagged } from '@serenity-js/core/lib/events';
|
|
3
4
|
import { BrowserTag, CorrelationId, Description, Name, PlatformTag } from '@serenity-js/core/lib/model';
|
|
4
|
-
import { StageCrewMember } from '@serenity-js/core/lib/stage';
|
|
5
|
+
import type { StageCrewMember } from '@serenity-js/core/lib/stage';
|
|
5
6
|
|
|
6
|
-
import { StandardisedCapabilities } from './StandardisedCapabilities';
|
|
7
|
+
import type { StandardisedCapabilities } from './StandardisedCapabilities';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* @private
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { Stage, Timestamp } from '@serenity-js/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import {
|
|
1
|
+
import type { Stage, Timestamp } from '@serenity-js/core';
|
|
2
|
+
import type { DomainEvent} from '@serenity-js/core/lib/events';
|
|
3
|
+
import { AsyncOperationAttempted, AsyncOperationCompleted, AsyncOperationFailed, SceneFinished, SceneFinishes, SceneStarts } from '@serenity-js/core/lib/events';
|
|
4
|
+
import type { Outcome, ProblemIndication } from '@serenity-js/core/lib/model';
|
|
5
|
+
import { CorrelationId, Description, ExecutionSkipped, Name } from '@serenity-js/core/lib/model';
|
|
6
|
+
import type { StageCrewMember } from '@serenity-js/core/lib/stage';
|
|
7
|
+
import type { Runner } from 'protractor';
|
|
8
|
+
|
|
9
|
+
import type { ProtractorReport } from './ProtractorReport';
|
|
8
10
|
|
|
9
11
|
/**
|
|
10
12
|
* @private
|
package/src/adapter/run.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { serenity } from '@serenity-js/core';
|
|
2
2
|
import { Path } from '@serenity-js/core/lib/io';
|
|
3
|
-
import { Runner } from 'protractor';
|
|
3
|
+
import type { Runner } from 'protractor';
|
|
4
4
|
|
|
5
5
|
import { ProtractorFrameworkAdapter } from './ProtractorFrameworkAdapter';
|
|
6
|
-
import { ProtractorReport } from './reporter';
|
|
6
|
+
import type { ProtractorReport } from './reporter';
|
|
7
7
|
import { TestRunnerDetector, TestRunnerLoader } from './runner';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TestRunnerAdapter } from '@serenity-js/core/lib/adapter';
|
|
2
|
-
import { Config as ProtractorConfig } from 'protractor';
|
|
1
|
+
import type { TestRunnerAdapter } from '@serenity-js/core/lib/adapter';
|
|
2
|
+
import type { Config as ProtractorConfig } from 'protractor';
|
|
3
3
|
|
|
4
|
-
import { TestRunnerLoader } from './TestRunnerLoader';
|
|
4
|
+
import type { TestRunnerLoader } from './TestRunnerLoader';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Detects the {@apilink TestRunnerAdapter} to use,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* eslint-disable unicorn/prevent-abbreviations,@typescript-eslint/ban-types */
|
|
2
|
-
import { TestRunnerAdapter } from '@serenity-js/core/lib/adapter';
|
|
2
|
+
import type { TestRunnerAdapter } from '@serenity-js/core/lib/adapter';
|
|
3
3
|
import { Config, FileFinder, FileSystem, ModuleLoader, Path } from '@serenity-js/core/lib/io';
|
|
4
|
-
import { CucumberConfig } from '@serenity-js/cucumber/lib/adapter';
|
|
4
|
+
import type { CucumberConfig } from '@serenity-js/cucumber/lib/adapter';
|
|
5
5
|
|
|
6
|
-
import { CucumberAdapterConfig } from './CucumberAdapterConfig';
|
|
6
|
+
import type { CucumberAdapterConfig } from './CucumberAdapterConfig';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Loads a {@apilink TestRunnerAdapter} needed to invoke
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { ConfigurationError } from '@serenity-js/core';
|
|
2
|
-
import {
|
|
3
|
-
import * as protractor from 'protractor';
|
|
2
|
+
import { BrowseTheWeb } from '@serenity-js/web';
|
|
3
|
+
import type * as protractor from 'protractor';
|
|
4
4
|
|
|
5
5
|
import { ProtractorBrowsingSession } from '../models';
|
|
6
|
-
import { promised } from '../promised';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* This implementation of the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
|
|
@@ -62,16 +61,6 @@ export class BrowseTheWebWithProtractor extends BrowseTheWeb<protractor.ElementF
|
|
|
62
61
|
super(new ProtractorBrowsingSession(browser));
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
async browserCapabilities(): Promise<BrowserCapabilities> {
|
|
66
|
-
const capabilities = await promised(this.browser.getCapabilities());
|
|
67
|
-
|
|
68
|
-
return {
|
|
69
|
-
platformName: capabilities.get('platform'),
|
|
70
|
-
browserName: capabilities.get('browserName'),
|
|
71
|
-
browserVersion: capabilities.get('version'),
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
|
|
75
64
|
/**
|
|
76
65
|
* Returns Protractor configuration parameter at `path`.
|
|
77
66
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Interaction } from '@serenity-js/core';
|
|
2
2
|
|
|
3
3
|
import { BrowseTheWebWithProtractor } from '../abilities';
|
|
4
|
-
import { ProtractorPage } from '../models';
|
|
4
|
+
import type { ProtractorPage } from '../models';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Instructs the {@apilink Actor} to enable or disable automated synchronisation between Protractor and Angular 1.x application.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CorrelationId } from '@serenity-js/core/lib/model';
|
|
2
|
+
import type { BrowserCapabilities } from '@serenity-js/web';
|
|
2
3
|
import { BrowsingSession } from '@serenity-js/web';
|
|
3
|
-
import * as protractor from 'protractor';
|
|
4
|
+
import type * as protractor from 'protractor';
|
|
4
5
|
|
|
5
6
|
import { ProtractorPage } from '../models';
|
|
6
7
|
import { promised } from '../promised';
|
|
@@ -18,7 +19,7 @@ export class ProtractorBrowsingSession extends BrowsingSession<ProtractorPage> {
|
|
|
18
19
|
super();
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
async allPages(): Promise<Array<ProtractorPage>> {
|
|
22
|
+
override async allPages(): Promise<Array<ProtractorPage>> {
|
|
22
23
|
// scan all the active window handles and add any newly opened windows if needed
|
|
23
24
|
const windowHandles: string[] = await promised(this.browser.getAllWindowHandles());
|
|
24
25
|
|
|
@@ -48,10 +49,9 @@ export class ProtractorBrowsingSession extends BrowsingSession<ProtractorPage> {
|
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
/**
|
|
51
|
-
* @override
|
|
52
52
|
* @param page
|
|
53
53
|
*/
|
|
54
|
-
async changeCurrentPageTo(page: ProtractorPage): Promise<void> {
|
|
54
|
+
override async changeCurrentPageTo(page: ProtractorPage): Promise<void> {
|
|
55
55
|
const currentPage = await this.currentPage();
|
|
56
56
|
|
|
57
57
|
// are we already on this page?
|
|
@@ -113,7 +113,7 @@ export class ProtractorBrowsingSession extends BrowsingSession<ProtractorPage> {
|
|
|
113
113
|
return this.currentBrowserPage;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
protected async registerCurrentPage(): Promise<ProtractorPage> {
|
|
116
|
+
protected override async registerCurrentPage(): Promise<ProtractorPage> {
|
|
117
117
|
const windowHandle = await this.browser.getWindowHandle();
|
|
118
118
|
|
|
119
119
|
const errorHandler = new ProtractorErrorHandler();
|
|
@@ -130,4 +130,14 @@ export class ProtractorBrowsingSession extends BrowsingSession<ProtractorPage> {
|
|
|
130
130
|
|
|
131
131
|
return page;
|
|
132
132
|
}
|
|
133
|
+
|
|
134
|
+
override async browserCapabilities(): Promise<BrowserCapabilities> {
|
|
135
|
+
const capabilities = await promised(this.browser.getCapabilities());
|
|
136
|
+
|
|
137
|
+
return {
|
|
138
|
+
platformName: capabilities.get('platform'),
|
|
139
|
+
browserName: capabilities.get('browserName'),
|
|
140
|
+
browserVersion: capabilities.get('version'),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
133
143
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Timestamp } from '@serenity-js/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { CookieData} from '@serenity-js/web';
|
|
3
|
+
import { Cookie, CookieMissingError } from '@serenity-js/web';
|
|
4
|
+
import type { ProtractorBrowser } from 'protractor';
|
|
4
5
|
import { ensure, isDefined } from 'tiny-types';
|
|
5
6
|
|
|
6
7
|
import { promised } from '../promised';
|