@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.
Files changed (83) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/lib/adapter/Config.d.ts +2 -2
  3. package/lib/adapter/Config.d.ts.map +1 -1
  4. package/lib/adapter/ProtractorFrameworkAdapter.d.ts +3 -3
  5. package/lib/adapter/ProtractorFrameworkAdapter.d.ts.map +1 -1
  6. package/lib/adapter/ProtractorFrameworkAdapter.js.map +1 -1
  7. package/lib/adapter/browser-detector/BrowserDetector.d.ts +4 -4
  8. package/lib/adapter/browser-detector/BrowserDetector.d.ts.map +1 -1
  9. package/lib/adapter/browser-detector/BrowserDetector.js.map +1 -1
  10. package/lib/adapter/browser-detector/StandardisedCapabilities.d.ts +1 -1
  11. package/lib/adapter/browser-detector/StandardisedCapabilities.d.ts.map +1 -1
  12. package/lib/adapter/reporter/ProtractorReport.d.ts +1 -1
  13. package/lib/adapter/reporter/ProtractorReport.d.ts.map +1 -1
  14. package/lib/adapter/reporter/ProtractorReporter.d.ts +6 -6
  15. package/lib/adapter/reporter/ProtractorReporter.d.ts.map +1 -1
  16. package/lib/adapter/reporter/ProtractorReporter.js.map +1 -1
  17. package/lib/adapter/run.d.ts +2 -2
  18. package/lib/adapter/run.d.ts.map +1 -1
  19. package/lib/adapter/runner/TestRunnerDetector.d.ts +3 -3
  20. package/lib/adapter/runner/TestRunnerDetector.d.ts.map +1 -1
  21. package/lib/adapter/runner/TestRunnerDetector.js +1 -1
  22. package/lib/adapter/runner/TestRunnerDetector.js.map +1 -1
  23. package/lib/adapter/runner/TestRunnerLoader.d.ts +2 -2
  24. package/lib/adapter/runner/TestRunnerLoader.d.ts.map +1 -1
  25. package/lib/screenplay/abilities/BrowseTheWebWithProtractor.d.ts +2 -3
  26. package/lib/screenplay/abilities/BrowseTheWebWithProtractor.d.ts.map +1 -1
  27. package/lib/screenplay/abilities/BrowseTheWebWithProtractor.js +0 -9
  28. package/lib/screenplay/abilities/BrowseTheWebWithProtractor.js.map +1 -1
  29. package/lib/screenplay/models/ProtractorBrowsingSession.d.ts +3 -2
  30. package/lib/screenplay/models/ProtractorBrowsingSession.d.ts.map +1 -1
  31. package/lib/screenplay/models/ProtractorBrowsingSession.js +8 -1
  32. package/lib/screenplay/models/ProtractorBrowsingSession.js.map +1 -1
  33. package/lib/screenplay/models/ProtractorCookie.d.ts +3 -2
  34. package/lib/screenplay/models/ProtractorCookie.d.ts.map +1 -1
  35. package/lib/screenplay/models/ProtractorCookie.js.map +1 -1
  36. package/lib/screenplay/models/ProtractorModalDialogHandler.d.ts +4 -3
  37. package/lib/screenplay/models/ProtractorModalDialogHandler.d.ts.map +1 -1
  38. package/lib/screenplay/models/ProtractorModalDialogHandler.js.map +1 -1
  39. package/lib/screenplay/models/ProtractorPage.d.ts +7 -5
  40. package/lib/screenplay/models/ProtractorPage.d.ts.map +1 -1
  41. package/lib/screenplay/models/ProtractorPage.js +4 -0
  42. package/lib/screenplay/models/ProtractorPage.js.map +1 -1
  43. package/lib/screenplay/models/ProtractorPageElement.d.ts +3 -2
  44. package/lib/screenplay/models/ProtractorPageElement.d.ts.map +1 -1
  45. package/lib/screenplay/models/ProtractorPageElement.js.map +1 -1
  46. package/lib/screenplay/models/locators/ProtractorLocator.d.ts +14 -3
  47. package/lib/screenplay/models/locators/ProtractorLocator.d.ts.map +1 -1
  48. package/lib/screenplay/models/locators/ProtractorLocator.js +7 -52
  49. package/lib/screenplay/models/locators/ProtractorLocator.js.map +1 -1
  50. package/lib/screenplay/models/locators/ProtractorRootLocator.d.ts +1 -1
  51. package/lib/screenplay/models/locators/ProtractorRootLocator.d.ts.map +1 -1
  52. package/lib/screenplay/models/locators/ProtractorSelectors.d.ts +10 -0
  53. package/lib/screenplay/models/locators/ProtractorSelectors.d.ts.map +1 -0
  54. package/lib/screenplay/models/locators/ProtractorSelectors.js +79 -0
  55. package/lib/screenplay/models/locators/ProtractorSelectors.js.map +1 -0
  56. package/lib/screenplay/questions/ProtractorParam.d.ts +1 -1
  57. package/lib/screenplay/questions/ProtractorParam.d.ts.map +1 -1
  58. package/lib/screenplay/questions/ProtractorParam.js +0 -1
  59. package/lib/screenplay/questions/ProtractorParam.js.map +1 -1
  60. package/lib/screenplay/unpromisedWebElement.d.ts +1 -1
  61. package/lib/screenplay/unpromisedWebElement.d.ts.map +1 -1
  62. package/package.json +12 -12
  63. package/src/adapter/Config.ts +2 -2
  64. package/src/adapter/ProtractorFrameworkAdapter.ts +7 -4
  65. package/src/adapter/browser-detector/BrowserDetector.ts +5 -4
  66. package/src/adapter/browser-detector/StandardisedCapabilities.ts +1 -1
  67. package/src/adapter/reporter/ProtractorReport.ts +1 -1
  68. package/src/adapter/reporter/ProtractorReporter.ts +9 -7
  69. package/src/adapter/run.ts +2 -2
  70. package/src/adapter/runner/TestRunnerDetector.ts +3 -3
  71. package/src/adapter/runner/TestRunnerLoader.ts +3 -3
  72. package/src/screenplay/abilities/BrowseTheWebWithProtractor.ts +2 -13
  73. package/src/screenplay/interactions/UseAngular.ts +1 -1
  74. package/src/screenplay/models/ProtractorBrowsingSession.ts +15 -5
  75. package/src/screenplay/models/ProtractorCookie.ts +3 -2
  76. package/src/screenplay/models/ProtractorModalDialogHandler.ts +4 -3
  77. package/src/screenplay/models/ProtractorPage.ts +19 -6
  78. package/src/screenplay/models/ProtractorPageElement.ts +6 -4
  79. package/src/screenplay/models/locators/ProtractorLocator.ts +10 -38
  80. package/src/screenplay/models/locators/ProtractorRootLocator.ts +1 -1
  81. package/src/screenplay/models/locators/ProtractorSelectors.ts +65 -0
  82. package/src/screenplay/questions/ProtractorParam.ts +2 -1
  83. package/src/screenplay/unpromisedWebElement.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProtractorPageElement.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPageElement.ts"],"names":[],"mappings":"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"}
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 { Locator, PageElement, RootLocator, Selector } from '@serenity-js/web';
2
- import * as protractor from 'protractor';
3
- import { ProtractorErrorHandler } from '../ProtractorErrorHandler';
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":"AACA,OAAO,EAAmE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAChJ,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE;;;;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;IAMzD,SAAS,CAAC,cAAc,IAAI,UAAU,CAAC,OAAO;IAgCxC,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"}
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
- if (this.selector instanceof web_1.ByCss) {
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 ExistingElementLocator(this.parent, this.selector, this.errorHandler, (0, unpromisedWebElement_1.unpromisedWebElement)(childElement)))));
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
- * @private
65
+ * @internal
112
66
  */
113
- class ExistingElementLocator extends ProtractorLocator {
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":"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"}
1
+ {"version":3,"file":"ProtractorLocator.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorLocator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { RootLocator } from '@serenity-js/web';
2
- import * as protractor from 'protractor';
2
+ import type * as protractor from 'protractor';
3
3
  /**
4
4
  * Protractor-specific implementation of {@apilink RootLocator}.
5
5
  *
@@ -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;AAIzC;;;;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"}
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,EAAe,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAI7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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
+ {"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,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProtractorParam = void 0;
4
- /* eslint-disable unicorn/prevent-abbreviations */
5
4
  const core_1 = require("@serenity-js/core");
6
5
  const abilities_1 = require("../abilities");
7
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ProtractorParam.js","sourceRoot":"","sources":["../../../src/screenplay/questions/ProtractorParam.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,4CAA6E;AAE7E,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
+ {"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;AAExC;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAa5E"}
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.4.2",
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.4.2",
52
- "@serenity-js/web": "3.4.2",
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.19.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.4.2",
79
- "@serenity-js/cucumber": "3.4.2",
80
- "@serenity-js/jasmine": "3.4.2",
81
- "@serenity-js/local-server": "3.4.2",
82
- "@serenity-js/mocha": "3.4.2",
83
- "@serenity-js/rest": "3.4.2",
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.0.4"
102
+ "typescript": "^5.1.6"
103
103
  },
104
- "gitHead": "cfa92797638b21f0fde4f2cc836b57f849fee671"
104
+ "gitHead": "970ac224860693ab70e813e176b7532241503b14"
105
105
  }
@@ -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 { AnsiDiffFormatter, ArtifactArchiver, Cast, Serenity } from '@serenity-js/core';
2
- import { protractor, Runner } from 'protractor';
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, ProtractorReporter } from './reporter';
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 { AsyncOperationAttempted, AsyncOperationCompleted, DomainEvent, SceneStarts, SceneTagged } from '@serenity-js/core/lib/events';
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,4 +1,4 @@
1
- import { Capabilities, ProtractorBrowser } from 'protractor';
1
+ import type { Capabilities, ProtractorBrowser } from 'protractor';
2
2
 
3
3
  /**
4
4
  * @private
@@ -1,4 +1,4 @@
1
- import { SpecResult } from 'protractor/built/plugins';
1
+ import type { SpecResult } from 'protractor/built/plugins';
2
2
 
3
3
  /**
4
4
  * A JSON object which needs to be returned to Protractor when {@apilink ProtractorFrameworkAdapter}
@@ -1,10 +1,12 @@
1
- import { Stage, Timestamp } from '@serenity-js/core';
2
- import { AsyncOperationAttempted, AsyncOperationCompleted, AsyncOperationFailed, DomainEvent, SceneFinished, SceneFinishes, SceneStarts } from '@serenity-js/core/lib/events';
3
- import { CorrelationId, Description, ExecutionSkipped, Name, Outcome, ProblemIndication } from '@serenity-js/core/lib/model';
4
- import { StageCrewMember } from '@serenity-js/core/lib/stage';
5
- import { Runner } from 'protractor';
6
-
7
- import { ProtractorReport } from './ProtractorReport';
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
@@ -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 { BrowserCapabilities, BrowseTheWeb } from '@serenity-js/web';
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 { Cookie, CookieData, CookieMissingError } from '@serenity-js/web';
3
- import { ProtractorBrowser } from 'protractor';
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';