@camperaid/watest 2.4.7 → 2.4.8

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 (134) hide show
  1. package/.prettierrc.js +1 -3
  2. package/.watestrc.js +1 -3
  3. package/bin/watest.js +3 -8
  4. package/core/base.js +60 -59
  5. package/core/core.js +25 -46
  6. package/core/format.js +96 -56
  7. package/core/process_args.js +1 -5
  8. package/core/series.js +60 -56
  9. package/core/settings.js +27 -32
  10. package/core/spawn.js +14 -21
  11. package/core/util.js +12 -19
  12. package/eslint.config.js +27 -0
  13. package/index.js +11 -17
  14. package/interfaces/logger.js +1 -3
  15. package/interfaces/servicer.js +1 -3
  16. package/logging/filestream.js +3 -7
  17. package/logging/logging.js +5 -11
  18. package/logging/logpipe.js +21 -21
  19. package/package.json +12 -11
  20. package/tests/base/t_api.js +3 -6
  21. package/tests/base/t_contains.js +12 -12
  22. package/tests/base/t_core.js +11 -8
  23. package/tests/base/t_format.js +13 -14
  24. package/tests/base/t_is.js +9 -11
  25. package/tests/base/t_is_object.js +23 -25
  26. package/tests/base/t_is_primitive.js +12 -14
  27. package/tests/base/t_is_string.js +6 -8
  28. package/tests/base/t_ok.js +4 -6
  29. package/tests/base/t_stringify.js +6 -8
  30. package/tests/base/t_test_.js +3 -5
  31. package/tests/base/t_throws.js +10 -12
  32. package/tests/base/test.js +8 -18
  33. package/tests/e2e/samples/{loader/.watestrc.cjs → folder/.watestrc.js} +1 -1
  34. package/tests/e2e/samples/folder/package-lock.json +1019 -5940
  35. package/tests/e2e/samples/folder/package.json +3 -2
  36. package/tests/e2e/samples/folder/tests/meta.js +1 -1
  37. package/tests/e2e/samples/folder/tests/unit/t_test.js +3 -3
  38. package/tests/e2e/samples/{loader_mixed/.watestrc.cjs → loader/.watestrc.js} +1 -1
  39. package/tests/e2e/samples/loader/package-lock.json +1751 -28
  40. package/tests/e2e/samples/loader/package.json +2 -2
  41. package/tests/e2e/samples/{folder/.watestrc.cjs → loader_mixed/.watestrc.js} +1 -1
  42. package/tests/e2e/samples/loader_mixed/package-lock.json +1751 -28
  43. package/tests/e2e/samples/loader_multiple/{.watestrc.cjs → .watestrc.js} +1 -1
  44. package/tests/e2e/samples/loader_multiple/package-lock.json +1751 -28
  45. package/tests/e2e/samples/loader_multiple/package.json +2 -2
  46. package/tests/e2e/samples/single/.watestrc.js +5 -0
  47. package/tests/e2e/samples/single/package-lock.json +1017 -5938
  48. package/tests/e2e/samples/single/package.json +5 -2
  49. package/tests/e2e/samples/wd_mixed/{.watestrc.cjs → .watestrc.js} +1 -1
  50. package/tests/e2e/samples/wd_mixed/package-lock.json +779 -4862
  51. package/tests/e2e/samples/wd_mixed/package.json +2 -2
  52. package/tests/e2e/samples/wd_single/{.watestrc.cjs → .watestrc.js} +1 -1
  53. package/tests/e2e/samples/wd_single/package-lock.json +779 -4862
  54. package/tests/e2e/samples/wd_single/package.json +2 -2
  55. package/tests/e2e/t_folder.js +4 -6
  56. package/tests/e2e/t_loader.js +4 -6
  57. package/tests/e2e/t_loader_mixed.js +4 -6
  58. package/tests/e2e/t_loader_multiple.js +4 -6
  59. package/tests/e2e/t_loader_multiple_patterns.js +4 -6
  60. package/tests/e2e/t_single.js +4 -6
  61. package/tests/e2e/t_wd_firefox.js +4 -6
  62. package/tests/e2e/t_wd_firefox_chrome.js +4 -6
  63. package/tests/e2e/t_wd_firefox_chrome_pattern.js +4 -6
  64. package/tests/e2e/t_wd_mixed_firefox.js +4 -6
  65. package/tests/e2e/t_wd_mixed_firefox_chrome.js +4 -6
  66. package/tests/e2e/test.js +15 -16
  67. package/tests/meta.js +1 -3
  68. package/tests/series/build/t_adjust_names.js +4 -6
  69. package/tests/series/build/t_adjust_names_webdriver.js +6 -10
  70. package/tests/series/build/t_expected_failures.js +4 -6
  71. package/tests/series/build/t_loader.js +4 -6
  72. package/tests/series/build/t_loader_mixed.js +4 -6
  73. package/tests/series/build/t_mixed.js +4 -6
  74. package/tests/series/build/t_nested.js +4 -6
  75. package/tests/series/build/t_patterns_loader.js +4 -6
  76. package/tests/series/build/t_patterns_webdriver.js +4 -6
  77. package/tests/series/build/t_webdriver.js +4 -6
  78. package/tests/series/build/t_webdriver_firefox_mixed.js +4 -6
  79. package/tests/series/build/t_webdriver_nested.js +4 -6
  80. package/tests/series/build/t_webdriver_services.js +4 -6
  81. package/tests/series/generic/t_failures_info.js +9 -12
  82. package/tests/series/logging/t_failures.js +18 -20
  83. package/tests/series/logging/t_success.js +15 -17
  84. package/tests/series/logging/t_verify.js +17 -14
  85. package/tests/series/meta.js +1 -3
  86. package/tests/series/mock_series.js +7 -13
  87. package/tests/series/perform/t_failure.js +4 -6
  88. package/tests/series/perform/t_failure_notest.js +4 -6
  89. package/tests/series/perform/t_intermittent.js +5 -7
  90. package/tests/series/perform/t_intermittent_global.js +4 -6
  91. package/tests/series/perform/t_missing_perma.js +5 -7
  92. package/tests/series/perform/t_nested.js +4 -10
  93. package/tests/series/perform/t_perma.js +4 -6
  94. package/tests/series/perform/t_success.js +5 -11
  95. package/tests/series/run/t_debunk_failure.js +7 -6
  96. package/tests/series/run/t_debunk_success.js +7 -6
  97. package/tests/series/run/t_nested.js +7 -6
  98. package/tests/series/run/t_verify.js +7 -6
  99. package/tests/series/run/t_verify_webdriver.js +7 -6
  100. package/tests/series/test.js +29 -40
  101. package/tests/webdriver/meta.js +1 -3
  102. package/tests/webdriver/t_app_driver.js +3 -5
  103. package/tests/webdriver/t_app_driver_selectors.js +3 -5
  104. package/tests/webdriver/t_attribute.js +5 -7
  105. package/tests/webdriver/t_attribute_all.js +6 -8
  106. package/tests/webdriver/t_doubleclick.js +3 -5
  107. package/tests/webdriver/t_doubleclickat.js +3 -5
  108. package/tests/webdriver/t_execute.js +4 -6
  109. package/tests/webdriver/t_if_has_elements.js +6 -8
  110. package/tests/webdriver/t_if_no_elements.js +6 -8
  111. package/tests/webdriver/t_no_elements_or_not_visible.js +7 -9
  112. package/tests/webdriver/t_properties.js +11 -13
  113. package/tests/webdriver/t_script.js +8 -10
  114. package/tests/webdriver/t_select_all.js +6 -11
  115. package/tests/webdriver/t_selection.js +4 -6
  116. package/tests/webdriver/t_text.js +12 -14
  117. package/tests/webdriver/t_text_all.js +6 -8
  118. package/tests/webdriver/test.js +32 -41
  119. package/webdriver/app_driver.js +15 -19
  120. package/webdriver/control_driver.js +4 -8
  121. package/webdriver/driver.js +58 -61
  122. package/webdriver/driver_base.js +50 -60
  123. package/webdriver/session.js +6 -11
  124. package/webdriver/util.js +7 -8
  125. package/.eslintrc.js +0 -45
  126. package/index.mjs +0 -5
  127. package/tests/e2e/samples/folder/node_modules/.package-lock.json +0 -3871
  128. package/tests/e2e/samples/loader/node_modules/.package-lock.json +0 -36
  129. package/tests/e2e/samples/loader_mixed/node_modules/.package-lock.json +0 -36
  130. package/tests/e2e/samples/loader_multiple/node_modules/.package-lock.json +0 -36
  131. package/tests/e2e/samples/single/.watestrc.cjs +0 -5
  132. package/tests/e2e/samples/single/node_modules/.package-lock.json +0 -3871
  133. package/tests/e2e/samples/wd_mixed/node_modules/.package-lock.json +0 -3586
  134. package/tests/e2e/samples/wd_single/node_modules/.package-lock.json +0 -3586
@@ -1,12 +1,9 @@
1
- 'use strict';
2
-
3
- const { By, Condition, Key, until } = require('selenium-webdriver');
4
-
5
- const { test_is, test_contains, is, contains, ok } = require('../core/base.js');
6
- const { assert, fail } = require('../core/core.js');
7
- const { is_mac, stringify, toDataURL } = require('../core/util.js');
8
- const { log } = require('../logging/logging.js');
9
- const { getTimeout, DriverBase } = require('./driver_base.js');
1
+ import { By, Condition, Key, until } from 'selenium-webdriver';
2
+ import { test_is, test_contains, is, contains, ok } from '../core/base.js';
3
+ import { assert, fail } from '../core/core.js';
4
+ import { is_mac, stringify, toDataURL } from '../core/util.js';
5
+ import { log } from '../logging/logging.js';
6
+ import { getTimeout, DriverBase } from './driver_base.js';
10
7
 
11
8
  /**
12
9
  * A chainable web driver providing a number of handy methods to navigate
@@ -54,7 +51,7 @@ class Driver extends DriverBase {
54
51
  forward() {
55
52
  return this.run(
56
53
  () => this.dvr.navigate().forward(),
57
- 'Move forward in history'
54
+ 'Move forward in history',
58
55
  );
59
56
  }
60
57
 
@@ -75,7 +72,7 @@ class Driver extends DriverBase {
75
72
  () => this.dvr.wait(until.urlIs(url), getTimeout()),
76
73
  msg,
77
74
  `Expected url: '${url}'`,
78
- () => this.dvr.getCurrentUrl().then(u => `actual current url: '${u}'`)
75
+ () => this.dvr.getCurrentUrl().then(u => `actual current url: '${u}'`),
79
76
  );
80
77
  }
81
78
 
@@ -89,8 +86,8 @@ class Driver extends DriverBase {
89
86
  `Expected title: '${title}', url: '${url}'`,
90
87
  () =>
91
88
  Promise.all([this.dvr.getTitle(), this.dvr.getCurrentUrl()]).then(
92
- ([t, u]) => `actual title: '${t}', current url: '${u}'`
93
- )
89
+ ([t, u]) => `actual title: '${t}', current url: '${u}'`,
90
+ ),
94
91
  );
95
92
  }
96
93
 
@@ -117,7 +114,7 @@ class Driver extends DriverBase {
117
114
  */
118
115
  logIntoConsole(message) {
119
116
  return this.chain(() =>
120
- this.dvr.executeScript(`console.log(arguments[0])`, message)
117
+ this.dvr.executeScript(`console.log(arguments[0])`, message),
121
118
  );
122
119
  }
123
120
 
@@ -175,7 +172,7 @@ class Driver extends DriverBase {
175
172
  this.dvr
176
173
  .wait(until.elementIsVisible(el), getTimeout())
177
174
  .getAttribute(attr),
178
- msg
175
+ msg,
179
176
  );
180
177
  }
181
178
 
@@ -248,7 +245,7 @@ class Driver extends DriverBase {
248
245
  test: got =>
249
246
  test_is(
250
247
  got,
251
- values.map(value => got => got == value)
248
+ values.map(value => got => got == value),
252
249
  ),
253
250
  expected_stringified: stringify(values),
254
251
  });
@@ -289,7 +286,7 @@ class Driver extends DriverBase {
289
286
  test: got =>
290
287
  test_is(
291
288
  got,
292
- values.map(value => got => got && got.includes(value))
289
+ values.map(value => got => got && got.includes(value)),
293
290
  ),
294
291
  expected_stringified: stringify(values),
295
292
  });
@@ -303,7 +300,7 @@ class Driver extends DriverBase {
303
300
  assert(classname, `classNameStateIs: no classname`);
304
301
  assert(
305
302
  ['on', 'off'].includes(off_or_on),
306
- `classNameStateIs: wrong off_or_on`
303
+ `classNameStateIs: wrong off_or_on`,
307
304
  );
308
305
  assert(msg, `classNameStateIs: no msg`);
309
306
 
@@ -318,7 +315,7 @@ class Driver extends DriverBase {
318
315
  v,
319
316
  `${selector} has ${
320
317
  (off_or_on == 'off' && 'not ') || ''
321
- }${classname} class name`
318
+ }${classname} class name`,
322
319
  ),
323
320
  });
324
321
  }
@@ -481,9 +478,9 @@ class Driver extends DriverBase {
481
478
  this.dvr.executeScript(
482
479
  `return arguments[0]['${property}'] = arguments[1];`,
483
480
  el,
484
- value
481
+ value,
485
482
  ),
486
- msg
483
+ msg,
487
484
  );
488
485
  }
489
486
 
@@ -511,7 +508,7 @@ class Driver extends DriverBase {
511
508
  await this.waitForElementToInvoke(
512
509
  selector,
513
510
  el => el.sendKeys(paths.join('\n')),
514
- msg
511
+ msg,
515
512
  );
516
513
  });
517
514
  }
@@ -528,7 +525,7 @@ class Driver extends DriverBase {
528
525
  assert(msg, `executeScript: no msg`);
529
526
  return this.run(
530
527
  () => this.dvr.executeAsyncScript(this.wrapScript(func)),
531
- msg
528
+ msg,
532
529
  );
533
530
  }
534
531
 
@@ -564,7 +561,7 @@ class Driver extends DriverBase {
564
561
  got,
565
562
  expected,
566
563
  `script retval contains ${stringify(expected)}`,
567
- { ignore_unexpected: true }
564
+ { ignore_unexpected: true },
568
565
  ),
569
566
  });
570
567
  }
@@ -580,7 +577,7 @@ class Driver extends DriverBase {
580
577
  assert(selector, `click: no selector`);
581
578
  assert(msg, `click: no msg`);
582
579
  return super.click(selector, msg, options || {}, el =>
583
- this.dvr.wait(until.elementIsVisible(el), getTimeout()).click()
580
+ this.dvr.wait(until.elementIsVisible(el), getTimeout()).click(),
584
581
  );
585
582
  }
586
583
 
@@ -608,7 +605,7 @@ class Driver extends DriverBase {
608
605
  .move({ x: pos[0], y: pos[1], origin: el })
609
606
  .pause((this.firefox && 300) || 0)
610
607
  .click()
611
- .perform()
608
+ .perform(),
612
609
  );
613
610
  }
614
611
 
@@ -623,7 +620,7 @@ class Driver extends DriverBase {
623
620
  selector,
624
621
  `${msg}. Double click at ${selector}`,
625
622
  {},
626
- el => this.dvr.actions({ bridge: true }).doubleClick(el).perform()
623
+ el => this.dvr.actions({ bridge: true }).doubleClick(el).perform(),
627
624
  );
628
625
  }
629
626
 
@@ -645,7 +642,7 @@ class Driver extends DriverBase {
645
642
  .move({ x: pos[0], y: pos[1], origin: el })
646
643
  .pause((this.firefox && 300) || 0)
647
644
  .doubleClick()
648
- .perform()
645
+ .perform(),
649
646
  );
650
647
  }
651
648
 
@@ -664,7 +661,7 @@ class Driver extends DriverBase {
664
661
  .move({ x: to[0], y: to[1], origin: el })
665
662
  .release()
666
663
  .perform(),
667
- `Drag-n-drop from ${from}, to ${to}`
664
+ `Drag-n-drop from ${from}, to ${to}`,
668
665
  );
669
666
  }
670
667
 
@@ -675,7 +672,7 @@ class Driver extends DriverBase {
675
672
  return this.waitForElementToInvoke(
676
673
  selector,
677
674
  el => this.dvr.executeScript(`return arguments[0].scrollIntoView();`, el),
678
- msg
675
+ msg,
679
676
  );
680
677
  }
681
678
 
@@ -695,7 +692,7 @@ class Driver extends DriverBase {
695
692
  selector,
696
693
  el =>
697
694
  this.dvr.wait(until.elementIsVisible(el), getTimeout()).sendKeys(text),
698
- msg
695
+ msg,
699
696
  );
700
697
  }
701
698
 
@@ -712,7 +709,7 @@ class Driver extends DriverBase {
712
709
  this.dvr
713
710
  .wait(until.elementIsVisible(el), getTimeout())
714
711
  .sendKeys(Key.RETURN),
715
- msg
712
+ msg,
716
713
  );
717
714
  }
718
715
 
@@ -729,7 +726,7 @@ class Driver extends DriverBase {
729
726
  this.dvr
730
727
  .wait(until.elementIsVisible(el), getTimeout())
731
728
  .sendKeys(Key.BACK_SPACE),
732
- msg
729
+ msg,
733
730
  );
734
731
  }
735
732
 
@@ -745,7 +742,7 @@ class Driver extends DriverBase {
745
742
  .actions({ bridge: true })
746
743
  .sendKeys(...keys)
747
744
  .perform(),
748
- `Press Backspace ${count} times`
745
+ `Press Backspace ${count} times`,
749
746
  );
750
747
  }
751
748
 
@@ -765,7 +762,7 @@ class Driver extends DriverBase {
765
762
  .actions({ bridge: true })
766
763
  .sendKeys(...keys)
767
764
  .perform(),
768
- `Press ArrowUp ${count} times`
765
+ `Press ArrowUp ${count} times`,
769
766
  );
770
767
  }
771
768
 
@@ -776,7 +773,7 @@ class Driver extends DriverBase {
776
773
  return this.run(
777
774
  () =>
778
775
  this.dvr.actions({ bridge: true }).sendKeys(Key.ARROW_DOWN).perform(),
779
- `Press ArrowDown`
776
+ `Press ArrowDown`,
780
777
  );
781
778
  }
782
779
 
@@ -787,7 +784,7 @@ class Driver extends DriverBase {
787
784
  return this.run(
788
785
  () =>
789
786
  this.dvr.actions({ bridge: true }).sendKeys(Key.ARROW_RIGHT).perform(),
790
- `Press ArrowRight`
787
+ `Press ArrowRight`,
791
788
  );
792
789
  }
793
790
 
@@ -798,7 +795,7 @@ class Driver extends DriverBase {
798
795
  return this.run(
799
796
  () =>
800
797
  this.dvr.actions({ bridge: true }).sendKeys(Key.ARROW_LEFT).perform(),
801
- `Press ArrowLeft`
798
+ `Press ArrowLeft`,
802
799
  );
803
800
  }
804
801
 
@@ -808,7 +805,7 @@ class Driver extends DriverBase {
808
805
  tab() {
809
806
  return this.run(
810
807
  () => this.dvr.actions({ bridge: true }).sendKeys(Key.TAB).perform(),
811
- `Press Tab`
808
+ `Press Tab`,
812
809
  );
813
810
  }
814
811
 
@@ -824,7 +821,7 @@ class Driver extends DriverBase {
824
821
  .sendKeys(Key.TAB)
825
822
  .keyUp(Key.SHIFT)
826
823
  .perform(),
827
- `Press Shift+Tab`
824
+ `Press Shift+Tab`,
828
825
  );
829
826
  }
830
827
 
@@ -844,7 +841,7 @@ class Driver extends DriverBase {
844
841
  return this.waitForElementToInvoke(
845
842
  selector,
846
843
  el => el.sendKeys(Key.chord(accel, 'a')),
847
- `${msg} press Ctrl+A`
844
+ `${msg} press Ctrl+A`,
848
845
  );
849
846
  }
850
847
 
@@ -867,7 +864,7 @@ else {
867
864
  fail(`Failed to execute selectAll script: ${script}`);
868
865
  throw e;
869
866
  }),
870
- msg
867
+ msg,
871
868
  );
872
869
  }
873
870
 
@@ -921,7 +918,7 @@ else {
921
918
  getClipboardText() {
922
919
  return this.executeScript(
923
920
  `window.navigator.clipboard.readText()`,
924
- `Read clipboard text`
921
+ `Read clipboard text`,
925
922
  );
926
923
  }
927
924
 
@@ -942,13 +939,13 @@ else {
942
939
  this.dvr.findElements(By.css(selector)).then(els => {
943
940
  breadcrumbs = `Got elements count: ${els.length}, expected: ${count}`;
944
941
  return els.length == count;
945
- })
942
+ }),
946
943
  );
947
944
  return this.run(
948
945
  () => this.dvr.wait(cond, getTimeout()),
949
946
  msg,
950
947
  `Selector: '${selector}'`,
951
- () => breadcrumbs
948
+ () => breadcrumbs,
952
949
  );
953
950
  }
954
951
 
@@ -976,12 +973,12 @@ else {
976
973
  return true;
977
974
  }
978
975
  let isDisplayedArray = await Promise.all(
979
- Array.from(els).map(el => el.isDisplayed())
976
+ Array.from(els).map(el => el.isDisplayed()),
980
977
  );
981
978
  breadcrumbs = `Got elements count: ${
982
979
  els.length
983
980
  }, elements visibility [${isDisplayedArray.join(
984
- ' ,'
981
+ ' ,',
985
982
  )}], expected: not visible`;
986
983
  return isDisplayedArray.every(isDisplayed => !isDisplayed);
987
984
  });
@@ -990,7 +987,7 @@ else {
990
987
  () => this.waitForCondition(cond, () => breadcrumbs),
991
988
  msg,
992
989
  `Selector: '${selector}'`,
993
- () => breadcrumbs
990
+ () => breadcrumbs,
994
991
  );
995
992
  }
996
993
 
@@ -1002,7 +999,7 @@ else {
1002
999
  assert(msg, `hasElements: no msg`);
1003
1000
 
1004
1001
  let cond = new Condition(`until element count`, () =>
1005
- this.dvr.findElements(By.css(selector)).then(els => els.length > 0)
1002
+ this.dvr.findElements(By.css(selector)).then(els => els.length > 0),
1006
1003
  );
1007
1004
  return this.run(() => this.dvr.wait(cond, getTimeout()), msg);
1008
1005
  }
@@ -1017,7 +1014,7 @@ else {
1017
1014
  return this.waitForElementToInvoke(
1018
1015
  selector,
1019
1016
  el => this.dvr.wait(until.elementIsNotVisible(el), getTimeout()),
1020
- msg
1017
+ msg,
1021
1018
  );
1022
1019
  }
1023
1020
 
@@ -1031,7 +1028,7 @@ else {
1031
1028
  return this.waitForElementToInvoke(
1032
1029
  selector,
1033
1030
  el => this.dvr.wait(until.elementIsVisible(el), getTimeout()),
1034
- msg
1031
+ msg,
1035
1032
  );
1036
1033
  }
1037
1034
 
@@ -1045,7 +1042,7 @@ else {
1045
1042
  return this.waitForElementToInvoke(
1046
1043
  selector,
1047
1044
  el => this.dvr.wait(until.elementIsNotVisible(el), getTimeout()),
1048
- msg
1045
+ msg,
1049
1046
  );
1050
1047
  }
1051
1048
 
@@ -1066,11 +1063,11 @@ else {
1066
1063
  .activeElement()
1067
1064
  .then(activeEl =>
1068
1065
  Promise.all([activeEl.getId(), el.getId()]).then(
1069
- ids => ids[0] == ids[1]
1070
- )
1071
- )
1066
+ ids => ids[0] == ids[1],
1067
+ ),
1068
+ ),
1072
1069
  ),
1073
- getTimeout()
1070
+ getTimeout(),
1074
1071
  ),
1075
1072
  msg,
1076
1073
  () =>
@@ -1078,7 +1075,7 @@ else {
1078
1075
  .switchTo()
1079
1076
  .activeElement()
1080
1077
  .getTagName()
1081
- .then(tag => `Active element: ${tag}`)
1078
+ .then(tag => `Active element: ${tag}`),
1082
1079
  );
1083
1080
  }
1084
1081
 
@@ -1089,7 +1086,7 @@ else {
1089
1086
  .findElements(By.css(selector))
1090
1087
  .then(els => (els.length > 0 ? chain() : else_chain && else_chain())),
1091
1088
  msg,
1092
- `Selector: '${selector}'`
1089
+ `Selector: '${selector}'`,
1093
1090
  );
1094
1091
  }
1095
1092
 
@@ -1099,12 +1096,12 @@ else {
1099
1096
  this.dvr
1100
1097
  .findElements(By.css(selector))
1101
1098
  .then(els =>
1102
- els.length == 0 ? chain() : else_chain && else_chain()
1099
+ els.length == 0 ? chain() : else_chain && else_chain(),
1103
1100
  ),
1104
1101
  msg,
1105
- `Selector: '${selector}'`
1102
+ `Selector: '${selector}'`,
1106
1103
  );
1107
1104
  }
1108
1105
  }
1109
1106
 
1110
- module.exports.Driver = Driver;
1107
+ export { Driver };