@camperaid/watest 2.4.7 → 2.4.9

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 (140) hide show
  1. package/.prettierrc.js +1 -3
  2. package/.watestrc.js +7 -3
  3. package/bin/watest.js +3 -8
  4. package/core/base.js +83 -69
  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 +62 -57
  9. package/core/settings.js +32 -32
  10. package/core/spawn.js +14 -21
  11. package/core/util.js +12 -19
  12. package/esling.config.js +0 -0
  13. package/eslint.config.js +27 -0
  14. package/index.js +11 -17
  15. package/interfaces/logger.js +1 -3
  16. package/interfaces/servicer.js +1 -3
  17. package/logging/filestream.js +3 -7
  18. package/logging/logging.js +5 -11
  19. package/logging/logpipe.js +21 -21
  20. package/package.json +12 -11
  21. package/tests/base/t_api.js +3 -6
  22. package/tests/base/t_contains.js +12 -12
  23. package/tests/base/t_core.js +11 -8
  24. package/tests/base/t_format.js +13 -14
  25. package/tests/base/t_is.js +9 -11
  26. package/tests/base/t_is_object.js +23 -25
  27. package/tests/base/t_is_primitive.js +12 -14
  28. package/tests/base/t_is_string.js +6 -8
  29. package/tests/base/t_ok.js +4 -6
  30. package/tests/base/t_stringify.js +6 -8
  31. package/tests/base/t_test_.js +3 -5
  32. package/tests/base/t_throws.js +82 -18
  33. package/tests/base/test.js +14 -21
  34. package/tests/e2e/samples/{loader/.watestrc.cjs → folder/.watestrc.js} +1 -1
  35. package/tests/e2e/samples/folder/package-lock.json +1019 -5940
  36. package/tests/e2e/samples/folder/package.json +3 -2
  37. package/tests/e2e/samples/folder/tests/meta.js +1 -1
  38. package/tests/e2e/samples/folder/tests/unit/t_test.js +3 -3
  39. package/tests/e2e/samples/{loader_mixed/.watestrc.cjs → loader/.watestrc.js} +1 -1
  40. package/tests/e2e/samples/loader/package-lock.json +1751 -28
  41. package/tests/e2e/samples/loader/package.json +2 -2
  42. package/tests/e2e/samples/loader/tests/meta.js +2 -2
  43. package/tests/e2e/samples/{folder/.watestrc.cjs → loader_mixed/.watestrc.js} +1 -1
  44. package/tests/e2e/samples/loader_mixed/package-lock.json +1751 -28
  45. package/tests/e2e/samples/loader_mixed/tests/ui/meta.js +2 -2
  46. package/tests/e2e/samples/loader_multiple/{.watestrc.cjs → .watestrc.js} +1 -1
  47. package/tests/e2e/samples/loader_multiple/package-lock.json +1751 -28
  48. package/tests/e2e/samples/loader_multiple/package.json +2 -2
  49. package/tests/e2e/samples/loader_multiple/tests/base/meta.js +2 -2
  50. package/tests/e2e/samples/loader_multiple/tests/core/meta.js +2 -2
  51. package/tests/e2e/samples/single/.watestrc.js +5 -0
  52. package/tests/e2e/samples/single/package-lock.json +1017 -5938
  53. package/tests/e2e/samples/single/package.json +5 -2
  54. package/tests/e2e/samples/wd_mixed/{.watestrc.cjs → .watestrc.js} +1 -1
  55. package/tests/e2e/samples/wd_mixed/package-lock.json +779 -4862
  56. package/tests/e2e/samples/wd_mixed/package.json +2 -2
  57. package/tests/e2e/samples/wd_single/{.watestrc.cjs → .watestrc.js} +1 -1
  58. package/tests/e2e/samples/wd_single/package-lock.json +779 -4862
  59. package/tests/e2e/samples/wd_single/package.json +2 -2
  60. package/tests/e2e/t_folder.js +4 -6
  61. package/tests/e2e/t_loader.js +4 -6
  62. package/tests/e2e/t_loader_mixed.js +4 -6
  63. package/tests/e2e/t_loader_multiple.js +4 -6
  64. package/tests/e2e/t_loader_multiple_patterns.js +4 -6
  65. package/tests/e2e/t_single.js +4 -6
  66. package/tests/e2e/t_wd_firefox.js +4 -6
  67. package/tests/e2e/t_wd_firefox_chrome.js +4 -6
  68. package/tests/e2e/t_wd_firefox_chrome_pattern.js +4 -6
  69. package/tests/e2e/t_wd_mixed_firefox.js +4 -6
  70. package/tests/e2e/t_wd_mixed_firefox_chrome.js +4 -6
  71. package/tests/e2e/test.js +15 -16
  72. package/tests/meta.js +1 -3
  73. package/tests/series/build/t_adjust_names.js +4 -6
  74. package/tests/series/build/t_adjust_names_webdriver.js +6 -10
  75. package/tests/series/build/t_expected_failures.js +4 -6
  76. package/tests/series/build/t_loader.js +4 -6
  77. package/tests/series/build/t_loader_mixed.js +4 -6
  78. package/tests/series/build/t_mixed.js +4 -6
  79. package/tests/series/build/t_nested.js +4 -6
  80. package/tests/series/build/t_patterns_loader.js +4 -6
  81. package/tests/series/build/t_patterns_webdriver.js +4 -6
  82. package/tests/series/build/t_webdriver.js +4 -6
  83. package/tests/series/build/t_webdriver_firefox_mixed.js +4 -6
  84. package/tests/series/build/t_webdriver_nested.js +4 -6
  85. package/tests/series/build/t_webdriver_services.js +4 -6
  86. package/tests/series/generic/t_failures_info.js +9 -12
  87. package/tests/series/loader/meta.mjs +2 -2
  88. package/tests/series/logging/t_failures.js +18 -20
  89. package/tests/series/logging/t_success.js +15 -17
  90. package/tests/series/logging/t_verify.js +17 -14
  91. package/tests/series/meta.js +1 -3
  92. package/tests/series/mock_series.js +7 -13
  93. package/tests/series/perform/t_failure.js +4 -6
  94. package/tests/series/perform/t_failure_notest.js +4 -6
  95. package/tests/series/perform/t_intermittent.js +5 -7
  96. package/tests/series/perform/t_intermittent_global.js +4 -6
  97. package/tests/series/perform/t_missing_perma.js +5 -7
  98. package/tests/series/perform/t_nested.js +4 -10
  99. package/tests/series/perform/t_perma.js +4 -6
  100. package/tests/series/perform/t_success.js +5 -11
  101. package/tests/series/run/t_debunk_failure.js +7 -6
  102. package/tests/series/run/t_debunk_success.js +7 -6
  103. package/tests/series/run/t_nested.js +7 -6
  104. package/tests/series/run/t_verify.js +7 -6
  105. package/tests/series/run/t_verify_webdriver.js +7 -6
  106. package/tests/series/test.js +29 -40
  107. package/tests/webdriver/meta.js +1 -3
  108. package/tests/webdriver/t_app_driver.js +3 -5
  109. package/tests/webdriver/t_app_driver_selectors.js +3 -5
  110. package/tests/webdriver/t_attribute.js +5 -7
  111. package/tests/webdriver/t_attribute_all.js +6 -8
  112. package/tests/webdriver/t_doubleclick.js +3 -5
  113. package/tests/webdriver/t_doubleclickat.js +3 -5
  114. package/tests/webdriver/t_execute.js +4 -6
  115. package/tests/webdriver/t_if_has_elements.js +6 -8
  116. package/tests/webdriver/t_if_no_elements.js +6 -8
  117. package/tests/webdriver/t_no_elements_or_not_visible.js +7 -9
  118. package/tests/webdriver/t_properties.js +11 -13
  119. package/tests/webdriver/t_script.js +8 -10
  120. package/tests/webdriver/t_select_all.js +6 -11
  121. package/tests/webdriver/t_selection.js +4 -6
  122. package/tests/webdriver/t_text.js +12 -14
  123. package/tests/webdriver/t_text_all.js +6 -8
  124. package/tests/webdriver/test.js +32 -41
  125. package/webdriver/app_driver.js +28 -19
  126. package/webdriver/control_driver.js +4 -8
  127. package/webdriver/driver.js +64 -63
  128. package/webdriver/driver_base.js +52 -62
  129. package/webdriver/session.js +6 -11
  130. package/webdriver/util.js +7 -8
  131. package/.eslintrc.js +0 -45
  132. package/index.mjs +0 -5
  133. package/tests/e2e/samples/folder/node_modules/.package-lock.json +0 -3871
  134. package/tests/e2e/samples/loader/node_modules/.package-lock.json +0 -36
  135. package/tests/e2e/samples/loader_mixed/node_modules/.package-lock.json +0 -36
  136. package/tests/e2e/samples/loader_multiple/node_modules/.package-lock.json +0 -36
  137. package/tests/e2e/samples/single/.watestrc.cjs +0 -5
  138. package/tests/e2e/samples/single/node_modules/.package-lock.json +0 -3871
  139. package/tests/e2e/samples/wd_mixed/node_modules/.package-lock.json +0 -3586
  140. 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,17 +795,21 @@ 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
 
805
802
  /**
806
803
  * Press tab key.
807
804
  */
808
- tab() {
805
+ tab(tabCount = 1) {
809
806
  return this.run(
810
- () => this.dvr.actions({ bridge: true }).sendKeys(Key.TAB).perform(),
811
- `Press Tab`
807
+ () =>
808
+ this.dvr
809
+ .actions({ bridge: true })
810
+ .sendKeys(Array(tabCount).fill(Key.TAB).join(''))
811
+ .perform(),
812
+ `Press Tab`,
812
813
  );
813
814
  }
814
815
 
@@ -824,7 +825,7 @@ class Driver extends DriverBase {
824
825
  .sendKeys(Key.TAB)
825
826
  .keyUp(Key.SHIFT)
826
827
  .perform(),
827
- `Press Shift+Tab`
828
+ `Press Shift+Tab`,
828
829
  );
829
830
  }
830
831
 
@@ -844,7 +845,7 @@ class Driver extends DriverBase {
844
845
  return this.waitForElementToInvoke(
845
846
  selector,
846
847
  el => el.sendKeys(Key.chord(accel, 'a')),
847
- `${msg} press Ctrl+A`
848
+ `${msg} press Ctrl+A`,
848
849
  );
849
850
  }
850
851
 
@@ -867,7 +868,7 @@ else {
867
868
  fail(`Failed to execute selectAll script: ${script}`);
868
869
  throw e;
869
870
  }),
870
- msg
871
+ msg,
871
872
  );
872
873
  }
873
874
 
@@ -921,7 +922,7 @@ else {
921
922
  getClipboardText() {
922
923
  return this.executeScript(
923
924
  `window.navigator.clipboard.readText()`,
924
- `Read clipboard text`
925
+ `Read clipboard text`,
925
926
  );
926
927
  }
927
928
 
@@ -942,13 +943,13 @@ else {
942
943
  this.dvr.findElements(By.css(selector)).then(els => {
943
944
  breadcrumbs = `Got elements count: ${els.length}, expected: ${count}`;
944
945
  return els.length == count;
945
- })
946
+ }),
946
947
  );
947
948
  return this.run(
948
949
  () => this.dvr.wait(cond, getTimeout()),
949
950
  msg,
950
951
  `Selector: '${selector}'`,
951
- () => breadcrumbs
952
+ () => breadcrumbs,
952
953
  );
953
954
  }
954
955
 
@@ -976,12 +977,12 @@ else {
976
977
  return true;
977
978
  }
978
979
  let isDisplayedArray = await Promise.all(
979
- Array.from(els).map(el => el.isDisplayed())
980
+ Array.from(els).map(el => el.isDisplayed()),
980
981
  );
981
982
  breadcrumbs = `Got elements count: ${
982
983
  els.length
983
984
  }, elements visibility [${isDisplayedArray.join(
984
- ' ,'
985
+ ' ,',
985
986
  )}], expected: not visible`;
986
987
  return isDisplayedArray.every(isDisplayed => !isDisplayed);
987
988
  });
@@ -990,7 +991,7 @@ else {
990
991
  () => this.waitForCondition(cond, () => breadcrumbs),
991
992
  msg,
992
993
  `Selector: '${selector}'`,
993
- () => breadcrumbs
994
+ () => breadcrumbs,
994
995
  );
995
996
  }
996
997
 
@@ -1002,7 +1003,7 @@ else {
1002
1003
  assert(msg, `hasElements: no msg`);
1003
1004
 
1004
1005
  let cond = new Condition(`until element count`, () =>
1005
- this.dvr.findElements(By.css(selector)).then(els => els.length > 0)
1006
+ this.dvr.findElements(By.css(selector)).then(els => els.length > 0),
1006
1007
  );
1007
1008
  return this.run(() => this.dvr.wait(cond, getTimeout()), msg);
1008
1009
  }
@@ -1017,7 +1018,7 @@ else {
1017
1018
  return this.waitForElementToInvoke(
1018
1019
  selector,
1019
1020
  el => this.dvr.wait(until.elementIsNotVisible(el), getTimeout()),
1020
- msg
1021
+ msg,
1021
1022
  );
1022
1023
  }
1023
1024
 
@@ -1031,7 +1032,7 @@ else {
1031
1032
  return this.waitForElementToInvoke(
1032
1033
  selector,
1033
1034
  el => this.dvr.wait(until.elementIsVisible(el), getTimeout()),
1034
- msg
1035
+ msg,
1035
1036
  );
1036
1037
  }
1037
1038
 
@@ -1045,7 +1046,7 @@ else {
1045
1046
  return this.waitForElementToInvoke(
1046
1047
  selector,
1047
1048
  el => this.dvr.wait(until.elementIsNotVisible(el), getTimeout()),
1048
- msg
1049
+ msg,
1049
1050
  );
1050
1051
  }
1051
1052
 
@@ -1066,11 +1067,11 @@ else {
1066
1067
  .activeElement()
1067
1068
  .then(activeEl =>
1068
1069
  Promise.all([activeEl.getId(), el.getId()]).then(
1069
- ids => ids[0] == ids[1]
1070
- )
1071
- )
1070
+ ids => ids[0] == ids[1],
1071
+ ),
1072
+ ),
1072
1073
  ),
1073
- getTimeout()
1074
+ getTimeout(),
1074
1075
  ),
1075
1076
  msg,
1076
1077
  () =>
@@ -1078,7 +1079,7 @@ else {
1078
1079
  .switchTo()
1079
1080
  .activeElement()
1080
1081
  .getTagName()
1081
- .then(tag => `Active element: ${tag}`)
1082
+ .then(tag => `Active element: ${tag}`),
1082
1083
  );
1083
1084
  }
1084
1085
 
@@ -1089,7 +1090,7 @@ else {
1089
1090
  .findElements(By.css(selector))
1090
1091
  .then(els => (els.length > 0 ? chain() : else_chain && else_chain())),
1091
1092
  msg,
1092
- `Selector: '${selector}'`
1093
+ `Selector: '${selector}'`,
1093
1094
  );
1094
1095
  }
1095
1096
 
@@ -1099,12 +1100,12 @@ else {
1099
1100
  this.dvr
1100
1101
  .findElements(By.css(selector))
1101
1102
  .then(els =>
1102
- els.length == 0 ? chain() : else_chain && else_chain()
1103
+ els.length == 0 ? chain() : else_chain && else_chain(),
1103
1104
  ),
1104
1105
  msg,
1105
- `Selector: '${selector}'`
1106
+ `Selector: '${selector}'`,
1106
1107
  );
1107
1108
  }
1108
1109
  }
1109
1110
 
1110
- module.exports.Driver = Driver;
1111
+ export { Driver };