@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.
- package/.prettierrc.js +1 -3
- package/.watestrc.js +7 -3
- package/bin/watest.js +3 -8
- package/core/base.js +83 -69
- package/core/core.js +25 -46
- package/core/format.js +96 -56
- package/core/process_args.js +1 -5
- package/core/series.js +62 -57
- package/core/settings.js +32 -32
- package/core/spawn.js +14 -21
- package/core/util.js +12 -19
- package/esling.config.js +0 -0
- 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 +82 -18
- package/tests/base/test.js +14 -21
- 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/loader/tests/meta.js +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_mixed/tests/ui/meta.js +2 -2
- 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/loader_multiple/tests/base/meta.js +2 -2
- package/tests/e2e/samples/loader_multiple/tests/core/meta.js +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/loader/meta.mjs +2 -2
- 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 +28 -19
- package/webdriver/control_driver.js +4 -8
- package/webdriver/driver.js +64 -63
- package/webdriver/driver_base.js +52 -62
- 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,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
|
-
() =>
|
|
811
|
-
|
|
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
|
-
|
|
1111
|
+
export { Driver };
|