@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.
- package/.prettierrc.js +1 -3
- package/.watestrc.js +1 -3
- package/bin/watest.js +3 -8
- package/core/base.js +60 -59
- package/core/core.js +25 -46
- package/core/format.js +96 -56
- package/core/process_args.js +1 -5
- package/core/series.js +60 -56
- package/core/settings.js +27 -32
- package/core/spawn.js +14 -21
- package/core/util.js +12 -19
- package/eslint.config.js +27 -0
- package/index.js +11 -17
- package/interfaces/logger.js +1 -3
- package/interfaces/servicer.js +1 -3
- package/logging/filestream.js +3 -7
- package/logging/logging.js +5 -11
- package/logging/logpipe.js +21 -21
- package/package.json +12 -11
- package/tests/base/t_api.js +3 -6
- package/tests/base/t_contains.js +12 -12
- package/tests/base/t_core.js +11 -8
- package/tests/base/t_format.js +13 -14
- package/tests/base/t_is.js +9 -11
- package/tests/base/t_is_object.js +23 -25
- package/tests/base/t_is_primitive.js +12 -14
- package/tests/base/t_is_string.js +6 -8
- package/tests/base/t_ok.js +4 -6
- package/tests/base/t_stringify.js +6 -8
- package/tests/base/t_test_.js +3 -5
- package/tests/base/t_throws.js +10 -12
- package/tests/base/test.js +8 -18
- package/tests/e2e/samples/{loader/.watestrc.cjs → folder/.watestrc.js} +1 -1
- package/tests/e2e/samples/folder/package-lock.json +1019 -5940
- package/tests/e2e/samples/folder/package.json +3 -2
- package/tests/e2e/samples/folder/tests/meta.js +1 -1
- package/tests/e2e/samples/folder/tests/unit/t_test.js +3 -3
- package/tests/e2e/samples/{loader_mixed/.watestrc.cjs → loader/.watestrc.js} +1 -1
- package/tests/e2e/samples/loader/package-lock.json +1751 -28
- package/tests/e2e/samples/loader/package.json +2 -2
- package/tests/e2e/samples/{folder/.watestrc.cjs → loader_mixed/.watestrc.js} +1 -1
- package/tests/e2e/samples/loader_mixed/package-lock.json +1751 -28
- package/tests/e2e/samples/loader_multiple/{.watestrc.cjs → .watestrc.js} +1 -1
- package/tests/e2e/samples/loader_multiple/package-lock.json +1751 -28
- package/tests/e2e/samples/loader_multiple/package.json +2 -2
- package/tests/e2e/samples/single/.watestrc.js +5 -0
- package/tests/e2e/samples/single/package-lock.json +1017 -5938
- package/tests/e2e/samples/single/package.json +5 -2
- package/tests/e2e/samples/wd_mixed/{.watestrc.cjs → .watestrc.js} +1 -1
- package/tests/e2e/samples/wd_mixed/package-lock.json +779 -4862
- package/tests/e2e/samples/wd_mixed/package.json +2 -2
- package/tests/e2e/samples/wd_single/{.watestrc.cjs → .watestrc.js} +1 -1
- package/tests/e2e/samples/wd_single/package-lock.json +779 -4862
- package/tests/e2e/samples/wd_single/package.json +2 -2
- package/tests/e2e/t_folder.js +4 -6
- package/tests/e2e/t_loader.js +4 -6
- package/tests/e2e/t_loader_mixed.js +4 -6
- package/tests/e2e/t_loader_multiple.js +4 -6
- package/tests/e2e/t_loader_multiple_patterns.js +4 -6
- package/tests/e2e/t_single.js +4 -6
- package/tests/e2e/t_wd_firefox.js +4 -6
- package/tests/e2e/t_wd_firefox_chrome.js +4 -6
- package/tests/e2e/t_wd_firefox_chrome_pattern.js +4 -6
- package/tests/e2e/t_wd_mixed_firefox.js +4 -6
- package/tests/e2e/t_wd_mixed_firefox_chrome.js +4 -6
- package/tests/e2e/test.js +15 -16
- package/tests/meta.js +1 -3
- package/tests/series/build/t_adjust_names.js +4 -6
- package/tests/series/build/t_adjust_names_webdriver.js +6 -10
- package/tests/series/build/t_expected_failures.js +4 -6
- package/tests/series/build/t_loader.js +4 -6
- package/tests/series/build/t_loader_mixed.js +4 -6
- package/tests/series/build/t_mixed.js +4 -6
- package/tests/series/build/t_nested.js +4 -6
- package/tests/series/build/t_patterns_loader.js +4 -6
- package/tests/series/build/t_patterns_webdriver.js +4 -6
- package/tests/series/build/t_webdriver.js +4 -6
- package/tests/series/build/t_webdriver_firefox_mixed.js +4 -6
- package/tests/series/build/t_webdriver_nested.js +4 -6
- package/tests/series/build/t_webdriver_services.js +4 -6
- package/tests/series/generic/t_failures_info.js +9 -12
- package/tests/series/logging/t_failures.js +18 -20
- package/tests/series/logging/t_success.js +15 -17
- package/tests/series/logging/t_verify.js +17 -14
- package/tests/series/meta.js +1 -3
- package/tests/series/mock_series.js +7 -13
- package/tests/series/perform/t_failure.js +4 -6
- package/tests/series/perform/t_failure_notest.js +4 -6
- package/tests/series/perform/t_intermittent.js +5 -7
- package/tests/series/perform/t_intermittent_global.js +4 -6
- package/tests/series/perform/t_missing_perma.js +5 -7
- package/tests/series/perform/t_nested.js +4 -10
- package/tests/series/perform/t_perma.js +4 -6
- package/tests/series/perform/t_success.js +5 -11
- package/tests/series/run/t_debunk_failure.js +7 -6
- package/tests/series/run/t_debunk_success.js +7 -6
- package/tests/series/run/t_nested.js +7 -6
- package/tests/series/run/t_verify.js +7 -6
- package/tests/series/run/t_verify_webdriver.js +7 -6
- package/tests/series/test.js +29 -40
- package/tests/webdriver/meta.js +1 -3
- package/tests/webdriver/t_app_driver.js +3 -5
- package/tests/webdriver/t_app_driver_selectors.js +3 -5
- package/tests/webdriver/t_attribute.js +5 -7
- package/tests/webdriver/t_attribute_all.js +6 -8
- package/tests/webdriver/t_doubleclick.js +3 -5
- package/tests/webdriver/t_doubleclickat.js +3 -5
- package/tests/webdriver/t_execute.js +4 -6
- package/tests/webdriver/t_if_has_elements.js +6 -8
- package/tests/webdriver/t_if_no_elements.js +6 -8
- package/tests/webdriver/t_no_elements_or_not_visible.js +7 -9
- package/tests/webdriver/t_properties.js +11 -13
- package/tests/webdriver/t_script.js +8 -10
- package/tests/webdriver/t_select_all.js +6 -11
- package/tests/webdriver/t_selection.js +4 -6
- package/tests/webdriver/t_text.js +12 -14
- package/tests/webdriver/t_text_all.js +6 -8
- package/tests/webdriver/test.js +32 -41
- package/webdriver/app_driver.js +15 -19
- package/webdriver/control_driver.js +4 -8
- package/webdriver/driver.js +58 -61
- package/webdriver/driver_base.js +50 -60
- package/webdriver/session.js +6 -11
- package/webdriver/util.js +7 -8
- package/.eslintrc.js +0 -45
- package/index.mjs +0 -5
- package/tests/e2e/samples/folder/node_modules/.package-lock.json +0 -3871
- package/tests/e2e/samples/loader/node_modules/.package-lock.json +0 -36
- package/tests/e2e/samples/loader_mixed/node_modules/.package-lock.json +0 -36
- package/tests/e2e/samples/loader_multiple/node_modules/.package-lock.json +0 -36
- package/tests/e2e/samples/single/.watestrc.cjs +0 -5
- package/tests/e2e/samples/single/node_modules/.package-lock.json +0 -3871
- package/tests/e2e/samples/wd_mixed/node_modules/.package-lock.json +0 -3586
- package/tests/e2e/samples/wd_single/node_modules/.package-lock.json +0 -3586
package/webdriver/driver.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
1107
|
+
export { Driver };
|