@progress/kendo-e2e 4.5.0 → 4.7.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.
@@ -1,4 +1,4 @@
1
- import { UIComponent } from "./ui-component";
1
+ import { FuzzTestExpectations, UIComponent } from "./ui-component";
2
2
  import { Browser, By, WebElement } from "../selenium";
3
3
  export declare class Chat extends UIComponent {
4
4
  protected parentElement?: WebElement | By | string;
@@ -9,4 +9,5 @@ export declare class Chat extends UIComponent {
9
9
  lastMessage(): Promise<WebElement>;
10
10
  message(index: number): Promise<WebElement>;
11
11
  quickReply(index: number): Promise<WebElement>;
12
+ setMaliciousInputs(myInputElement?: WebElement, maliciousInputArray?: string[][], expectationsArray?: FuzzTestExpectations): Promise<void>;
12
13
  }
@@ -52,6 +52,15 @@ class Chat extends ui_component_1.UIComponent {
52
52
  return (yield this.findChildren(locator))[index];
53
53
  });
54
54
  }
55
+ setMaliciousInputs(myInputElement, maliciousInputArray, expectationsArray) {
56
+ const _super = Object.create(null, {
57
+ setMaliciousInputs: { get: () => super.setMaliciousInputs }
58
+ });
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const inputElement = myInputElement || (yield this.messageInput());
61
+ yield _super.setMaliciousInputs.call(this, inputElement, maliciousInputArray, expectationsArray);
62
+ });
63
+ }
55
64
  }
56
65
  exports.Chat = Chat;
57
66
  Chat.SELECTOR = const_1.SELECTORS.CHAT;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/components/chat.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAoC;AACpC,iDAA6C;AAG7C,MAAa,IAAK,SAAQ,0BAAW;IAGjC,YAAY,OAAgB,EAAE,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAY,aAAwC;QACrG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADsB,kBAAa,GAAb,aAAa,CAA2B;IAEzG,CAAC;IAEK,UAAU;;YACZ,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,YAAY;;YACd,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;KAAA;IAEK,WAAW;;YACb,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,OAAO,CAAC,KAAa;;YACvB,MAAM,OAAO,GAAG,6BAA6B,CAAC;YAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAS,EAAE,gDAAC,OAAA,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAA,GAAA,EAAE;gBACnF,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC,KAAK,GAAG;aACzD,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;KAAA;IAEK,UAAU,CAAC,KAAa;;YAC1B,MAAM,OAAO,GAAG,gBAAgB,CAAC;YACjC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAS,EAAE,gDAAC,OAAA,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAA,GAAA,EAAE;gBACnF,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,2CAA2C,KAAK,GAAG;aAC/D,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;KAAA;;AAnCL,oBAoCC;AAnCiB,aAAQ,GAAG,iBAAS,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/components/chat.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAoC;AACpC,iDAAmE;AAGnE,MAAa,IAAK,SAAQ,0BAAW;IAGjC,YAAY,OAAgB,EAAE,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAY,aAAwC;QACrG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADsB,kBAAa,GAAb,aAAa,CAA2B;IAEzG,CAAC;IAEK,UAAU;;YACZ,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,YAAY;;YACd,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;KAAA;IAEK,WAAW;;YACb,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,OAAO,CAAC,KAAa;;YACvB,MAAM,OAAO,GAAG,6BAA6B,CAAC;YAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAS,EAAE,gDAAC,OAAA,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAA,GAAA,EAAE;gBACnF,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC,KAAK,GAAG;aACzD,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;KAAA;IAEK,UAAU,CAAC,KAAa;;YAC1B,MAAM,OAAO,GAAG,gBAAgB,CAAC;YACjC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAS,EAAE,gDAAC,OAAA,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAA,GAAA,EAAE;gBACnF,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,2CAA2C,KAAK,GAAG;aAC/D,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;KAAA;IAEc,kBAAkB,CAAC,cAA2B,EAAE,mBAAgC,EAAE,iBAAwC;;;;;YACrI,MAAM,YAAY,GAAG,cAAc,KAAI,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA,CAAC;YACjE,MAAM,OAAM,kBAAkB,YAAC,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACzF,CAAC;KAAA;;AAxCL,oBAyCC;AAxCiB,aAAQ,GAAG,iBAAS,CAAC,IAAI,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { Browser, By, WebElement } from "../selenium";
2
2
  import { DropDown } from "./dropdown";
3
+ import { FuzzTestExpectations } from "./ui-component";
3
4
  export declare class DropDownList extends DropDown {
4
5
  static SELECTOR: string;
5
6
  constructor(browser: Browser, locator?: By | string, rootElement?: WebElement);
6
7
  filter(): Promise<WebElement>;
7
8
  setFilter(text: string): Promise<void>;
8
9
  isFocused(): Promise<boolean>;
10
+ setMaliciousInputs(myInputElement?: WebElement, maliciousInputArray?: string[][], expectationsArray?: FuzzTestExpectations): Promise<void>;
9
11
  }
@@ -38,6 +38,15 @@ class DropDownList extends dropdown_1.DropDown {
38
38
  return isVisuallyFocused && isKeyboardFocused;
39
39
  });
40
40
  }
41
+ setMaliciousInputs(myInputElement, maliciousInputArray, expectationsArray) {
42
+ const _super = Object.create(null, {
43
+ setMaliciousInputs: { get: () => super.setMaliciousInputs }
44
+ });
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const inputElement = myInputElement || (yield this.filter());
47
+ yield _super.setMaliciousInputs.call(this, inputElement, maliciousInputArray, expectationsArray);
48
+ });
49
+ }
41
50
  }
42
51
  exports.DropDownList = DropDownList;
43
52
  DropDownList.SELECTOR = const_1.SELECTORS.DROPDOWN_LIST;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdownlist.js","sourceRoot":"","sources":["../../src/components/dropdownlist.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAsD;AACtD,yCAAsC;AACtC,mCAA4C;AAE5C,MAAa,YAAa,SAAQ,mBAAQ;IAGtC,YAAY,OAAgB,EAAE,UAAuB,YAAY,CAAC,QAAQ,EAAE,WAAwB;QAChG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAEY,MAAM;;YACf,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,aAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACtF,CAAC;KAAA;IAEY,SAAS,CAAC,IAAY;;YAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAS,EAAE,gDAAC,OAAA,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,GAAA,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC9H,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;KAAA;IAEY,SAAS;;YAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC;YACrE,MAAM,iBAAiB,GAAG,CAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAK,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA,CAAC;YACtF,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAM,CAAC,OAAO,CAAC,CAAC;YACrG,OAAO,iBAAiB,IAAI,iBAAiB,CAAC;QAClD,CAAC;KAAA;;AAvBL,oCAwBC;AAvBiB,qBAAQ,GAAG,iBAAS,CAAC,aAAa,CAAC"}
1
+ {"version":3,"file":"dropdownlist.js","sourceRoot":"","sources":["../../src/components/dropdownlist.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAsD;AACtD,yCAAsC;AACtC,mCAA4C;AAG5C,MAAa,YAAa,SAAQ,mBAAQ;IAGtC,YAAY,OAAgB,EAAE,UAAuB,YAAY,CAAC,QAAQ,EAAE,WAAwB;QAChG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAEY,MAAM;;YACf,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,aAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACtF,CAAC;KAAA;IAEY,SAAS,CAAC,IAAY;;YAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAS,EAAE,gDAAC,OAAA,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,GAAA,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC9H,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;KAAA;IAEY,SAAS;;YAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC;YACrE,MAAM,iBAAiB,GAAG,CAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAK,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA,CAAC;YACtF,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAM,CAAC,OAAO,CAAC,CAAC;YACrG,OAAO,iBAAiB,IAAI,iBAAiB,CAAC;QAClD,CAAC;KAAA;IAEc,kBAAkB,CAAC,cAA2B,EAAE,mBAAgC,EAAE,iBAAwC;;;;;YACrI,MAAM,YAAY,GAAG,cAAc,KAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA,CAAC;YAC3D,MAAM,OAAM,kBAAkB,YAAC,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACzF,CAAC;KAAA;;AA5BL,oCA6BC;AA5BiB,qBAAQ,GAAG,iBAAS,CAAC,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- import { UIComponent } from "./ui-component";
1
+ import { FuzzTestExpectations, UIComponent } from "./ui-component";
2
2
  import { Browser, By, WebElement } from "../selenium";
3
3
  export declare class Editor extends UIComponent {
4
4
  protected parentElement?: WebElement | By | string;
@@ -8,4 +8,6 @@ export declare class Editor extends UIComponent {
8
8
  getToolByTitle(title: string): Promise<WebElement>;
9
9
  focusToolByTitle(title: string): Promise<void>;
10
10
  getEditableArea(): Promise<WebElement>;
11
+ getEditableContent(): Promise<WebElement>;
12
+ setMaliciousInputs(myInputElement?: WebElement, maliciousInputArray?: string[][], expectationsArray?: FuzzTestExpectations): Promise<void>;
11
13
  }
@@ -64,6 +64,20 @@ class Editor extends ui_component_1.UIComponent {
64
64
  return yield this.findChild('.k-editable-area');
65
65
  });
66
66
  }
67
+ getEditableContent() {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ return yield this.findChild('.k-content');
70
+ });
71
+ }
72
+ setMaliciousInputs(myInputElement, maliciousInputArray, expectationsArray) {
73
+ const _super = Object.create(null, {
74
+ setMaliciousInputs: { get: () => super.setMaliciousInputs }
75
+ });
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const inputElement = myInputElement || (yield this.getEditableContent());
78
+ yield _super.setMaliciousInputs.call(this, inputElement, maliciousInputArray, expectationsArray);
79
+ });
80
+ }
67
81
  }
68
82
  exports.Editor = Editor;
69
83
  Editor.SELECTOR = const_1.SELECTORS.EDITOR;
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/components/editor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA6C;AAC7C,0CAA2D;AAC3D,mCAAoC;AAEpC,MAAa,MAAO,SAAQ,0BAAW;IAGnC,YAAY,OAAgB,EAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAY,aAAwC;QACvG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADwB,kBAAa,GAAb,aAAa,CAA2B;IAE3G,CAAC;IAEK,QAAQ;;YACV,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACnE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,OAAO,GAAG,EAAE,CAAC;YACjB,CAAC;oBACO,CAAC;gBACL,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC;YAC1D,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAEK,cAAc,CAAC,KAAa;;YAC9B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;QACtD,CAAC;KAAA;IAEK,gBAAgB,CAAC,KAAa;;YAChC,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAG,CAAC,WAAW,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC;gBACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAA,MAAM,OAAO,CAAC,KAAK,EAAE,OAAK,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA,EAAE,CAAC;oBACjD,KAAK,GAAG,IAAI,CAAC;oBACb,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;KAAA;IAEK,eAAe;;YACjB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;KAAA;;AAhDL,wBAiDC;AAhDiB,eAAQ,GAAG,iBAAS,CAAC,MAAM,CAAC"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/components/editor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAmE;AACnE,0CAA2D;AAC3D,mCAAoC;AAEpC,MAAa,MAAO,SAAQ,0BAAW;IAGnC,YAAY,OAAgB,EAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAY,aAAwC;QACvG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADwB,kBAAa,GAAb,aAAa,CAA2B;IAE3G,CAAC;IAEK,QAAQ;;YACV,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACnE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,OAAO,GAAG,EAAE,CAAC;YACjB,CAAC;oBACO,CAAC;gBACL,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC;YAC1D,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAEK,cAAc,CAAC,KAAa;;YAC9B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;QACtD,CAAC;KAAA;IAEK,gBAAgB,CAAC,KAAa;;YAChC,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAG,CAAC,WAAW,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC;gBACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAA,MAAM,OAAO,CAAC,KAAK,EAAE,OAAK,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA,EAAE,CAAC;oBACjD,KAAK,GAAG,IAAI,CAAC;oBACb,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;KAAA;IAEK,eAAe;;YACjB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;KAAA;IAEK,kBAAkB;;YACpB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEc,kBAAkB,CAAC,cAA2B,EAAE,mBAAgC,EAAE,iBAAwC;;;;;YACrI,MAAM,YAAY,GAAG,cAAc,KAAI,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA,CAAC;YACvE,MAAM,OAAM,kBAAkB,YAAC,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACzF,CAAC;KAAA;;AAzDL,wBA0DC;AAzDiB,eAAQ,GAAG,iBAAS,CAAC,MAAM,CAAC"}
@@ -1,4 +1,4 @@
1
- import { UIComponent } from "./ui-component";
1
+ import { FuzzTestExpectations, UIComponent } from "./ui-component";
2
2
  import { Browser, By, WebElement } from "../selenium";
3
3
  export declare class Input extends UIComponent {
4
4
  protected parentElement?: WebElement | By | string;
@@ -11,4 +11,5 @@ export declare class Input extends UIComponent {
11
11
  clear?: boolean;
12
12
  }): Promise<void>;
13
13
  clearValue(): Promise<void>;
14
+ setMaliciousInputs(myInputElement?: WebElement, maliciousInputArray?: string[][], expectationsArray?: FuzzTestExpectations): Promise<void>;
14
15
  }
@@ -42,6 +42,15 @@ class Input extends ui_component_1.UIComponent {
42
42
  yield this.setValue('');
43
43
  });
44
44
  }
45
+ setMaliciousInputs(myInputElement, maliciousInputArray, expectationsArray) {
46
+ const _super = Object.create(null, {
47
+ setMaliciousInputs: { get: () => super.setMaliciousInputs }
48
+ });
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const inputElement = myInputElement || (yield this.input());
51
+ yield _super.setMaliciousInputs.call(this, inputElement, maliciousInputArray, expectationsArray);
52
+ });
53
+ }
45
54
  }
46
55
  exports.Input = Input;
47
56
  Input.SELECTOR = const_1.SELECTORS.INPUT;
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA6C;AAC7C,mCAAoC;AAGpC,MAAa,KAAM,SAAQ,0BAAW;IAGlC,YAAY,OAAgB,EAAE,UAAuB,KAAK,CAAC,QAAQ,EAAY,aAAwC;QACnH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADoC,kBAAa,GAAb,aAAa,CAA2B;IAEvH,CAAC;IAEK,KAAK;;YACP,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACxE,CAAC;KAAA;IAEK,QAAQ;;YACV,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;KAAA;IAEK,cAAc;;YAChB,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,QAAQ;6DAAC,KAAa,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE;YAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;KAAA;IAEK,UAAU;;YACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;KAAA;;AAzBL,sBA0BC;AAzBiB,cAAQ,GAAG,iBAAS,CAAC,KAAK,CAAC"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAmE;AACnE,mCAAoC;AAGpC,MAAa,KAAM,SAAQ,0BAAW;IAGlC,YAAY,OAAgB,EAAE,UAAuB,KAAK,CAAC,QAAQ,EAAY,aAAwC;QACnH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADoC,kBAAa,GAAb,aAAa,CAA2B;IAEvH,CAAC;IAEK,KAAK;;YACP,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACxE,CAAC;KAAA;IAEK,QAAQ;;YACV,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;KAAA;IAEK,cAAc;;YAChB,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,QAAQ;6DAAC,KAAa,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE;YAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;KAAA;IAEK,UAAU;;YACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;KAAA;IAEc,kBAAkB,CAAC,cAA2B,EAAE,mBAAgC,EAAE,iBAAwC;;;;;YACrI,MAAM,YAAY,GAAG,cAAc,KAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA,CAAC;YAC1D,MAAM,OAAM,kBAAkB,YAAC,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACzF,CAAC;KAAA;;AA9BL,sBA+BC;AA9BiB,cAAQ,GAAG,iBAAS,CAAC,KAAK,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Browser, By, WebElement } from "../selenium";
2
- import { UIComponent } from "./ui-component";
2
+ import { FuzzTestExpectations, UIComponent } from "./ui-component";
3
3
  export declare class TextBox extends UIComponent {
4
4
  protected parentElement?: WebElement | By | string;
5
5
  static SELECTOR: string;
@@ -12,4 +12,5 @@ export declare class TextBox extends UIComponent {
12
12
  getValue(): Promise<string>;
13
13
  getSelectionStart(): Promise<number>;
14
14
  getSelectionEnd(): Promise<number>;
15
+ setMaliciousInputs(myInputElement?: WebElement, maliciousInputArray?: string[][], expectationsArray?: FuzzTestExpectations): Promise<void>;
15
16
  }
@@ -63,6 +63,15 @@ class TextBox extends ui_component_1.UIComponent {
63
63
  return parseInt(yield this.browser.getProperty(input, "selectionEnd"));
64
64
  });
65
65
  }
66
+ setMaliciousInputs(myInputElement, maliciousInputArray, expectationsArray) {
67
+ const _super = Object.create(null, {
68
+ setMaliciousInputs: { get: () => super.setMaliciousInputs }
69
+ });
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ const inputElement = myInputElement || (yield this.input());
72
+ yield _super.setMaliciousInputs.call(this, inputElement, maliciousInputArray, expectationsArray);
73
+ });
74
+ }
66
75
  }
67
76
  exports.TextBox = TextBox;
68
77
  TextBox.SELECTOR = const_1.SELECTORS.TEXTBOX;
@@ -1 +1 @@
1
- {"version":3,"file":"textbox.js","sourceRoot":"","sources":["../../src/components/textbox.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA2D;AAC3D,mCAAoC;AACpC,iDAA6C;AAE7C,MAAa,OAAQ,SAAQ,0BAAW;IAGpC,YAAY,OAAgB,EAAE,UAAuB,OAAO,CAAC,QAAQ,EAAY,aAAwC;QACrH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADsC,kBAAa,GAAb,aAAa,CAA2B;IAEzH,CAAC;IAEK,KAAK;;YACP,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;KAAA;IAEK,UAAU;;YACZ,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;KAAA;IAEK,QAAQ;6DAAC,KAAa,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;KAAA;IAEK,QAAQ;;YACV,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,iBAAiB;;YACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7E,CAAC;KAAA;IAEK,eAAe;;YACjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QAC3E,CAAC;KAAA;;AA5CL,0BA6CC;AA5CiB,gBAAQ,GAAG,iBAAS,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"textbox.js","sourceRoot":"","sources":["../../src/components/textbox.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA2D;AAC3D,mCAAoC;AACpC,iDAAmE;AAEnE,MAAa,OAAQ,SAAQ,0BAAW;IAGpC,YAAY,OAAgB,EAAE,UAAuB,OAAO,CAAC,QAAQ,EAAY,aAAwC;QACrH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QADsC,kBAAa,GAAb,aAAa,CAA2B;IAEzH,CAAC;IAEK,KAAK;;YACP,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;KAAA;IAEK,UAAU;;YACZ,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;KAAA;IAEK,QAAQ;6DAAC,KAAa,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;KAAA;IAEK,QAAQ;;YACV,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,iBAAiB;;YACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7E,CAAC;KAAA;IAEK,eAAe;;YACjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QAC3E,CAAC;KAAA;IAEc,kBAAkB,CAAC,cAA2B,EAAE,mBAAgC,EAAE,iBAAwC;;;;;YACrI,MAAM,YAAY,GAAG,cAAc,KAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA,CAAC;YAC1D,MAAM,OAAM,kBAAkB,YAAC,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACzF,CAAC;KAAA;;AAjDL,0BAkDC;AAjDiB,gBAAQ,GAAG,iBAAS,CAAC,OAAO,CAAC"}
@@ -1,4 +1,24 @@
1
1
  import { Browser, By, WebElement } from "../selenium";
2
+ export interface FuzzTestExpectations {
3
+ performanceCheck?: (executionTime: number, input: string, targetExecutionTimeMs?: number) => Promise<void>;
4
+ consoleErrorCheck?: (errorLogs: string[], input: string) => Promise<void>;
5
+ xssAlertCheck?: (browser: Browser, input: string) => Promise<void>;
6
+ sanitizationCheck?: (inputValue: string, input: string) => Promise<void>;
7
+ domManipulationCheck?: (browser: Browser, input: string) => Promise<void>;
8
+ }
9
+ export declare const XSS_PAYLOADS: string[];
10
+ export declare const SQL_INJECTION_PAYLOADS: string[];
11
+ export declare const COMMAND_INJECTION_PAYLOADS: string[];
12
+ export declare const PATH_TRAVERSAL_PAYLOADS: string[];
13
+ export declare const HTML_INJECTION_PAYLOADS: string[];
14
+ export declare const BUFFER_OVERFLOW_PAYLOADS: string[];
15
+ export declare const MALICIOUS_INPUT_PAYLOADS: string[][];
16
+ export declare const FUZZ_TEST_EXPECTATIONS: {
17
+ performanceCheck: (executionTime: number, input: string, targetExecutionTimeMs?: number) => Promise<void>;
18
+ consoleErrorCheck: (errorLogs: string[], input: string) => Promise<void>;
19
+ xssAlertCheck: (browser: Browser, input: string) => Promise<void>;
20
+ domManipulationCheck: (browser: Browser, input: string) => Promise<void>;
21
+ };
2
22
  export declare class UIComponent {
3
23
  protected browser: Browser;
4
24
  locator: By | string;
@@ -23,4 +43,26 @@ export declare class UIComponent {
23
43
  timeout?: number;
24
44
  pollTimeout?: number;
25
45
  }): Promise<void>;
46
+ /**
47
+ * Tests the component with various malicious inputs to ensure its robustness against common security vulnerabilities.
48
+ *
49
+ * @param {WebElement} [myInputElement] - The input element to be tested.
50
+ * @param {string[][]} [maliciousInputArray] - An array of arrays containing malicious input strings. If not provided, the method will use the default `MALICIOUS_INPUT_PAYLOADS`.
51
+ * @param {Partial<FuzzTestExpectations>} [expectationsArray] - An object containing custom expectations for the tests. If not provided, the method will use the default `FUZZ_TEST_EXPECTATIONS`.
52
+ *
53
+ * @example
54
+ * // Default usage
55
+ * await myComponent.setMaliciousInputs(myInputElement);
56
+ *
57
+ * @example
58
+ * // Partial customization of the expectations
59
+ * await myComponent.setMaliciousInputs(myInputElement, undefined, {
60
+ * performanceCheck: async (executionTime, input, targetExecutionTimeMs = 4000) => {
61
+ * if (executionTime >= targetExecutionTimeMs) {
62
+ * throw new Error(`Custom: Execution time exceeded for input: "${input}"`);
63
+ * }
64
+ * }
65
+ * });
66
+ */
67
+ setMaliciousInputs(myInputElement: WebElement, maliciousInputArray?: string[][], expectationsArray?: Partial<FuzzTestExpectations>): Promise<void>;
26
68
  }
@@ -9,8 +9,83 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UIComponent = void 0;
12
+ exports.UIComponent = exports.FUZZ_TEST_EXPECTATIONS = exports.MALICIOUS_INPUT_PAYLOADS = exports.BUFFER_OVERFLOW_PAYLOADS = exports.HTML_INJECTION_PAYLOADS = exports.PATH_TRAVERSAL_PAYLOADS = exports.COMMAND_INJECTION_PAYLOADS = exports.SQL_INJECTION_PAYLOADS = exports.XSS_PAYLOADS = void 0;
13
13
  const selenium_1 = require("../selenium");
14
+ exports.XSS_PAYLOADS = [
15
+ `"><script>alert('XSS')</script>`,
16
+ `<IMG SRC="javascript:alert('XSS');">`,
17
+ `<svg onload=alert(1)>`,
18
+ `"><img src=x onerror=alert(1)>`,
19
+ ];
20
+ exports.SQL_INJECTION_PAYLOADS = [
21
+ `' OR '1'='1`,
22
+ `"; DROP TABLE users; --`,
23
+ `" UNION SELECT null, username, password FROM users --`,
24
+ `admin' --`,
25
+ ];
26
+ exports.COMMAND_INJECTION_PAYLOADS = [
27
+ `; ls -la`,
28
+ `| cat /etc/passwd`,
29
+ `$(reboot)`,
30
+ `&& rm -rf /`,
31
+ ];
32
+ exports.PATH_TRAVERSAL_PAYLOADS = [
33
+ `../../../../etc/passwd`,
34
+ `..\..\..\..\windows\system32\cmd.exe`,
35
+ `/etc/shadow`,
36
+ `../../boot.ini`,
37
+ ];
38
+ exports.HTML_INJECTION_PAYLOADS = [
39
+ `<h1>Hacked!</h1>`,
40
+ `<iframe src="http://evil.com"></iframe>`,
41
+ `<marquee>Security Broken</marquee>`,
42
+ `<link rel="stylesheet" href="http://evil.com/bad.css">`,
43
+ `<img src="/imagepath" onerror="alert('xss')">`
44
+ ];
45
+ exports.BUFFER_OVERFLOW_PAYLOADS = [
46
+ "A".repeat(5000),
47
+ "\x42".repeat(10000),
48
+ ];
49
+ exports.MALICIOUS_INPUT_PAYLOADS = [
50
+ exports.XSS_PAYLOADS,
51
+ exports.SQL_INJECTION_PAYLOADS,
52
+ exports.COMMAND_INJECTION_PAYLOADS,
53
+ exports.PATH_TRAVERSAL_PAYLOADS,
54
+ exports.HTML_INJECTION_PAYLOADS,
55
+ exports.BUFFER_OVERFLOW_PAYLOADS,
56
+ ];
57
+ exports.FUZZ_TEST_EXPECTATIONS = {
58
+ performanceCheck: (executionTime_1, input_1, ...args_1) => __awaiter(void 0, [executionTime_1, input_1, ...args_1], void 0, function* (executionTime, input, targetExecutionTimeMs = 10000) {
59
+ if (executionTime >= targetExecutionTimeMs) {
60
+ throw new Error(`Input took too long (${executionTime}ms)! Expected time: ${targetExecutionTimeMs}ms. Input: "${input}"`);
61
+ }
62
+ }),
63
+ consoleErrorCheck: (errorLogs, input) => __awaiter(void 0, void 0, void 0, function* () {
64
+ if (errorLogs.length > 0) {
65
+ console.error(`Console error for input: "${input}" ->`, errorLogs);
66
+ }
67
+ expect(errorLogs).toEqual([]);
68
+ }),
69
+ xssAlertCheck: (browser, input) => __awaiter(void 0, void 0, void 0, function* () {
70
+ try {
71
+ yield browser.driver.switchTo().alert();
72
+ throw new Error(`XSS detected! Alert triggered for input: "${input}"`);
73
+ }
74
+ catch (error) {
75
+ if (error.name !== "NoSuchAlertError") {
76
+ throw error;
77
+ }
78
+ }
79
+ }),
80
+ domManipulationCheck: (browser, input) => __awaiter(void 0, void 0, void 0, function* () {
81
+ const bodyHTML = yield browser.executeScript('return document.body.innerHTML;');
82
+ if (bodyHTML.includes('<script>')) {
83
+ console.error(`XSS in DOM! Input: "${input}"`);
84
+ console.log(bodyHTML);
85
+ }
86
+ expect(bodyHTML).not.toContain('<script>');
87
+ })
88
+ };
14
89
  class UIComponent {
15
90
  constructor(browser, locator, rootElement) {
16
91
  this.browser = browser;
@@ -52,6 +127,60 @@ class UIComponent {
52
127
  yield this.browser.waitForAnimation(yield this.root(), { timeout: timeout, pollTimeout: pollTimeout });
53
128
  });
54
129
  }
130
+ /**
131
+ * Tests the component with various malicious inputs to ensure its robustness against common security vulnerabilities.
132
+ *
133
+ * @param {WebElement} [myInputElement] - The input element to be tested.
134
+ * @param {string[][]} [maliciousInputArray] - An array of arrays containing malicious input strings. If not provided, the method will use the default `MALICIOUS_INPUT_PAYLOADS`.
135
+ * @param {Partial<FuzzTestExpectations>} [expectationsArray] - An object containing custom expectations for the tests. If not provided, the method will use the default `FUZZ_TEST_EXPECTATIONS`.
136
+ *
137
+ * @example
138
+ * // Default usage
139
+ * await myComponent.setMaliciousInputs(myInputElement);
140
+ *
141
+ * @example
142
+ * // Partial customization of the expectations
143
+ * await myComponent.setMaliciousInputs(myInputElement, undefined, {
144
+ * performanceCheck: async (executionTime, input, targetExecutionTimeMs = 4000) => {
145
+ * if (executionTime >= targetExecutionTimeMs) {
146
+ * throw new Error(`Custom: Execution time exceeded for input: "${input}"`);
147
+ * }
148
+ * }
149
+ * });
150
+ */
151
+ setMaliciousInputs(myInputElement_1) {
152
+ return __awaiter(this, arguments, void 0, function* (myInputElement, maliciousInputArray = exports.MALICIOUS_INPUT_PAYLOADS, expectationsArray = {}) {
153
+ // Merge custom expectations with defaults
154
+ const expectations = Object.assign(Object.assign({}, exports.FUZZ_TEST_EXPECTATIONS), expectationsArray // Custom overrides
155
+ );
156
+ for (const category of maliciousInputArray) {
157
+ console.log(`Testing category: ${category[0] || "Unnamed Category"}`);
158
+ for (const currentInput of category) {
159
+ console.log(`Testing input: "${currentInput}"`);
160
+ const startTime = Date.now();
161
+ yield this.browser.type(myInputElement, currentInput, { clear: true });
162
+ const executionTime = Date.now() - startTime;
163
+ if (expectations.performanceCheck) {
164
+ yield expectations.performanceCheck(executionTime, currentInput);
165
+ }
166
+ const errorLogs = yield this.browser.getErrorLogs([]);
167
+ if (expectations.consoleErrorCheck) {
168
+ yield expectations.consoleErrorCheck(errorLogs, currentInput);
169
+ }
170
+ if (expectations.xssAlertCheck) {
171
+ yield expectations.xssAlertCheck(this.browser, currentInput);
172
+ }
173
+ const inputValue = yield myInputElement.getAttribute('value');
174
+ if (expectations.sanitizationCheck) {
175
+ yield expectations.sanitizationCheck(inputValue, currentInput);
176
+ }
177
+ if (expectations.domManipulationCheck) {
178
+ yield expectations.domManipulationCheck(this.browser, currentInput);
179
+ }
180
+ }
181
+ }
182
+ });
183
+ }
55
184
  }
56
185
  exports.UIComponent = UIComponent;
57
186
  //# sourceMappingURL=ui-component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-component.js","sourceRoot":"","sources":["../../src/components/ui-component.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA0D;AAE1D,MAAa,WAAW;IACpB,YAAsB,OAAgB,EAAS,OAAoB,EAAS,WAAsC;QAA5F,YAAO,GAAP,OAAO,CAAS;QAAS,YAAO,GAAP,OAAO,CAAa;QAAS,gBAAW,GAAX,WAAW,CAA2B;IAAI,CAAC;IAE1G,IAAI;;YACb,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;gBACnC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;KAAA;IAEY,SAAS;6DAAC,QAAqB,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,EAAE;YACzG,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;YAC3F,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC;KAAA;IAEY,YAAY;6DAAC,QAAqB,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,EAAE;YAC5G,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;YAC3F,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjF,CAAC;KAAA;IAEY,eAAe;6DAAC,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,EAAE;YACnE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAE,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;gBACrD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,gCAAgC;aACxF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,kEAAkE,CAAC;YACnF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAS,EAAE,gDAAC,OAAA,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA,GAAA,EAAE;gBAC1G,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,2BAA2B;aACnF,CAAC,CAAC;QACP,CAAC;KAAA;IAEY,gBAAgB;6DAAC,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,EAAE;YACpE,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3G,CAAC;KAAA;CACJ;AAjCD,kCAiCC"}
1
+ {"version":3,"file":"ui-component.js","sourceRoot":"","sources":["../../src/components/ui-component.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA0D;AAU7C,QAAA,YAAY,GAAG;IACxB,iCAAiC;IACjC,sCAAsC;IACtC,uBAAuB;IACvB,gCAAgC;CACnC,CAAC;AAEW,QAAA,sBAAsB,GAAG;IAClC,aAAa;IACb,yBAAyB;IACzB,uDAAuD;IACvD,WAAW;CACd,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACtC,UAAU;IACV,mBAAmB;IACnB,WAAW;IACX,aAAa;CAChB,CAAC;AAEW,QAAA,uBAAuB,GAAG;IACnC,wBAAwB;IACxB,sCAAsC;IACtC,aAAa;IACb,gBAAgB;CACnB,CAAC;AAEW,QAAA,uBAAuB,GAAG;IACnC,kBAAkB;IAClB,yCAAyC;IACzC,oCAAoC;IACpC,wDAAwD;IACxD,+CAA+C;CAClD,CAAC;AAEW,QAAA,wBAAwB,GAAG;IACpC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAChB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;CACvB,CAAC;AAEW,QAAA,wBAAwB,GAAG;IACpC,oBAAY;IACZ,8BAAsB;IACtB,kCAA0B;IAC1B,+BAAuB;IACvB,+BAAuB;IACvB,gCAAwB;CAC3B,CAAC;AAEW,QAAA,sBAAsB,GAAG;IAClC,gBAAgB,EAAE,sCAA4E,EAAE,6EAAvE,aAAqB,EAAE,KAAa,EAAE,qBAAqB,GAAG,KAAK;QACxF,IAAI,aAAa,IAAI,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,wBAAwB,aAAa,uBAAuB,qBAAqB,eAAe,KAAK,GAAG,CAAC,CAAC;QAC9H,CAAC;IACL,CAAC,CAAA;IAED,iBAAiB,EAAE,CAAO,SAAmB,EAAE,KAAa,EAAE,EAAE;QAC5D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,6BAA6B,KAAK,MAAM,EAAE,SAAS,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAA;IAED,aAAa,EAAE,CAAO,OAAgB,EAAE,KAAa,EAAE,EAAE;QACrD,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,GAAG,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACpC,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC,CAAA;IAED,oBAAoB,EAAE,CAAO,OAAgB,EAAE,KAAa,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAW,CAAC;QAC1F,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,uBAAuB,KAAK,GAAG,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC,CAAA;CACJ,CAAC;AAEF,MAAa,WAAW;IACpB,YAAsB,OAAgB,EAAS,OAAoB,EAAS,WAAsC;QAA5F,YAAO,GAAP,OAAO,CAAS;QAAS,YAAO,GAAP,OAAO,CAAa;QAAS,gBAAW,GAAX,WAAW,CAA2B;IAAI,CAAC;IAE1G,IAAI;;YACb,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;gBACnC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;KAAA;IAEY,SAAS;6DAAC,QAAqB,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,EAAE;YACzG,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;YAC3F,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC;KAAA;IAEY,YAAY;6DAAC,QAAqB,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,EAAE;YAC5G,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;YAC3F,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjF,CAAC;KAAA;IAEY,eAAe;6DAAC,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,EAAE;YACnE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAE,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;gBACrD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,gCAAgC;aACxF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,kEAAkE,CAAC;YACnF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAS,EAAE,gDAAC,OAAA,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA,GAAA,EAAE;gBAC1G,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,2BAA2B;aACnF,CAAC,CAAC;QACP,CAAC;KAAA;IAEY,gBAAgB;6DAAC,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,EAAE;YACpE,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3G,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,kBAAkB;6DAAC,cAA0B,EAAE,sBAAkC,gCAAwB,EAAE,oBAAmD,EAAE;YAClK,0CAA0C;YAC1C,MAAM,YAAY,mCACX,8BAAsB,GACtB,iBAAiB,CAAC,mBAAmB;aAC3C,CAAC;YAEF,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,QAAQ,CAAC,CAAC,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;gBAEtE,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,mBAAmB,YAAY,GAAG,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAE7B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEvE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBAC7C,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;wBAChC,MAAM,YAAY,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;oBACrE,CAAC;oBAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBACtD,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;wBACjC,MAAM,YAAY,CAAC,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;oBAClE,CAAC;oBAED,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;wBAC7B,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBACjE,CAAC;oBAED,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC9D,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;wBACjC,MAAM,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;oBACnE,CAAC;oBAED,IAAI,YAAY,CAAC,oBAAoB,EAAE,CAAC;wBACpC,MAAM,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBACxE,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;KAAA;CACJ;AAhGD,kCAgGC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { By, Key, until, WebElement, } from 'selenium-webdriver';
1
+ export { By, Key, until, WebElement, IRectangle } from 'selenium-webdriver';
2
2
  export * from './a11y';
3
3
  export * from './components';
4
4
  export * from './rendering';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAiE;AAAxD,wGAAA,EAAE,OAAA;AAAE,yGAAA,GAAG,OAAA;AAAE,2GAAA,KAAK,OAAA;AAAE,gHAAA,UAAU,OAAA;AACnC,yCAAuB;AACvB,+CAA6B;AAC7B,8CAA4B;AAC5B,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,kEAAgD;AAChD,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAA4E;AAAnE,wGAAA,EAAE,OAAA;AAAE,yGAAA,GAAG,OAAA;AAAE,2GAAA,KAAK,OAAA;AAAE,gHAAA,UAAU,OAAA;AACnC,yCAAuB;AACvB,+CAA6B;AAC7B,8CAA4B;AAC5B,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,kEAAgD;AAChD,0CAAwB"}
@@ -1,4 +1,4 @@
1
- import { By, ThenableWebDriver } from "selenium-webdriver";
1
+ import { By, IRectangle, ThenableWebDriver } from "selenium-webdriver";
2
2
  import { Level } from "selenium-webdriver/lib/logging";
3
3
  import { WebApp } from "./web-app";
4
4
  export { By, Key, ThenableWebDriver, until, WebElement, WebElementCondition } from "selenium-webdriver";
@@ -70,9 +70,16 @@ export declare class Browser extends WebApp {
70
70
  height: number;
71
71
  pixelRatio: number;
72
72
  } | any, enableBidi?: boolean);
73
- private static isDriver;
74
73
  close(): Promise<void>;
75
74
  navigateTo(url: string): Promise<void>;
75
+ getRect(): Promise<IRectangle>;
76
+ setRect(rect: {
77
+ width?: number;
78
+ height?: number;
79
+ x?: number;
80
+ y?: number;
81
+ }): Promise<void>;
82
+ resizeToDocumentScrollHeight(): Promise<void>;
76
83
  refresh(): Promise<void>;
77
84
  switchToIFrame(elementLocator: By): Promise<void>;
78
85
  getCurrentUrl(): Promise<string>;
@@ -99,10 +99,6 @@ class Browser extends web_app_1.WebApp {
99
99
  }
100
100
  super(driver);
101
101
  }
102
- // A runtime type check (type guard) to determine whether it’s a driver or mobile options
103
- static isDriver(obj) {
104
- return obj && typeof obj.getSession === "function";
105
- }
106
102
  close() {
107
103
  return __awaiter(this, void 0, void 0, function* () {
108
104
  yield this.driver.quit();
@@ -113,6 +109,31 @@ class Browser extends web_app_1.WebApp {
113
109
  yield this.driver.navigate().to(url);
114
110
  });
115
111
  }
112
+ getRect() {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ return yield this.driver.manage().window().getRect();
115
+ });
116
+ }
117
+ setRect(rect) {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ var _a, _b, _c, _d;
120
+ const currentRect = yield this.driver.manage().window().getRect();
121
+ this.driver.manage().window().setRect({
122
+ width: (_a = rect.width) !== null && _a !== void 0 ? _a : currentRect.width,
123
+ height: (_b = rect.height) !== null && _b !== void 0 ? _b : currentRect.height,
124
+ x: (_c = rect.x) !== null && _c !== void 0 ? _c : currentRect.x,
125
+ y: (_d = rect.y) !== null && _d !== void 0 ? _d : currentRect.y
126
+ });
127
+ });
128
+ }
129
+ resizeToDocumentScrollHeight() {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ const originalRect = yield this.getRect();
132
+ const viewportHeight = yield this.driver.executeScript("return window.innerHeight");
133
+ const documentHeight = yield this.driver.executeScript("return document.body.scrollHeight");
134
+ yield this.setRect({ height: documentHeight + originalRect.height - viewportHeight });
135
+ });
136
+ }
116
137
  refresh() {
117
138
  return __awaiter(this, void 0, void 0, function* () {
118
139
  yield this.driver.navigate().refresh();
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/selenium/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/selenium/browser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-e2e",
3
- "version": "4.5.0",
3
+ "version": "4.7.0",
4
4
  "description": "Kendo UI end-to-end test utilities.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {