@camperaid/watest 2.4.6 → 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 +79 -56
- package/core/core.js +25 -45
- 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 +15 -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 +73 -0
- 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
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const { do_self_tests, is_failure_output, is_ok_output } = require('./test.js');
|
|
1
|
+
import { do_self_tests, is_failure_output, is_ok_output } from './test.js';
|
|
4
2
|
|
|
5
3
|
const snippet = `
|
|
6
4
|
<html><body>
|
|
@@ -12,7 +10,7 @@ const snippet = `
|
|
|
12
10
|
</body></html>
|
|
13
11
|
`;
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
export var test = do_self_tests(snippet, async ({ driver }) => {
|
|
16
14
|
// textSelected
|
|
17
15
|
await is_ok_output(
|
|
18
16
|
() => driver.textSelected('#selected-input', `textSelected`),
|
|
@@ -22,7 +20,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
22
20
|
`Ok: textSelected`,
|
|
23
21
|
],
|
|
24
22
|
[],
|
|
25
|
-
`textSelected
|
|
23
|
+
`textSelected`,
|
|
26
24
|
);
|
|
27
25
|
|
|
28
26
|
// textSelected:failure
|
|
@@ -37,6 +35,6 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
37
35
|
`Failed: textSelected, timeout while waiting to meet criteria`,
|
|
38
36
|
`Failed: textSelected`,
|
|
39
37
|
],
|
|
40
|
-
`textSelected:failure
|
|
38
|
+
`textSelected:failure`,
|
|
41
39
|
);
|
|
42
40
|
});
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const { do_self_tests, is_failure_output, is_ok_output } = require('./test.js');
|
|
1
|
+
import { do_self_tests, is_failure_output, is_ok_output } from './test.js';
|
|
4
2
|
|
|
5
3
|
const snippet = `
|
|
6
4
|
<html><body>
|
|
@@ -15,7 +13,7 @@ const snippet = `
|
|
|
15
13
|
</body></html>
|
|
16
14
|
`;
|
|
17
15
|
|
|
18
|
-
|
|
16
|
+
export var test = do_self_tests(snippet, async ({ driver }) => {
|
|
19
17
|
// textIs: success
|
|
20
18
|
await is_ok_output(
|
|
21
19
|
() => driver.textIs('#p', 'Paragraph', `textIs`),
|
|
@@ -25,7 +23,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
25
23
|
`Ok: textIs`,
|
|
26
24
|
],
|
|
27
25
|
[],
|
|
28
|
-
`textIs
|
|
26
|
+
`textIs`,
|
|
29
27
|
);
|
|
30
28
|
|
|
31
29
|
// textIs: whitespaces
|
|
@@ -37,7 +35,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
37
35
|
`Ok: textIs`,
|
|
38
36
|
],
|
|
39
37
|
[],
|
|
40
|
-
`textIs:whitespaces
|
|
38
|
+
`textIs:whitespaces`,
|
|
41
39
|
);
|
|
42
40
|
|
|
43
41
|
// textIs: failure
|
|
@@ -50,7 +48,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
50
48
|
`Failed: textIs, timeout while waiting to meet criteria`,
|
|
51
49
|
`Failed: textIs`,
|
|
52
50
|
],
|
|
53
|
-
`textIs:failure
|
|
51
|
+
`textIs:failure`,
|
|
54
52
|
);
|
|
55
53
|
|
|
56
54
|
// textIs: ambigious
|
|
@@ -62,7 +60,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
62
60
|
`Failed: textIs, ambigious 'p' selector, got 3 elements, expected 1`,
|
|
63
61
|
`Failed: textIs`,
|
|
64
62
|
],
|
|
65
|
-
`textIs:ambigious
|
|
63
|
+
`textIs:ambigious`,
|
|
66
64
|
);
|
|
67
65
|
|
|
68
66
|
// textIs: no elements
|
|
@@ -74,7 +72,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
74
72
|
`Failed: textIs, no elements matching '#p-not-exists' selector`,
|
|
75
73
|
`Failed: textIs`,
|
|
76
74
|
],
|
|
77
|
-
`textIs:noelements
|
|
75
|
+
`textIs:noelements`,
|
|
78
76
|
);
|
|
79
77
|
|
|
80
78
|
// textIs: input
|
|
@@ -86,7 +84,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
86
84
|
`Ok: textIs`,
|
|
87
85
|
],
|
|
88
86
|
[],
|
|
89
|
-
`textIs:input
|
|
87
|
+
`textIs:input`,
|
|
90
88
|
);
|
|
91
89
|
|
|
92
90
|
// textIs: textarea
|
|
@@ -98,7 +96,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
98
96
|
`Ok: textIs`,
|
|
99
97
|
],
|
|
100
98
|
[],
|
|
101
|
-
`textIs:textarea
|
|
99
|
+
`textIs:textarea`,
|
|
102
100
|
);
|
|
103
101
|
|
|
104
102
|
// textStartsWith: success
|
|
@@ -110,7 +108,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
110
108
|
`Ok: textStartsWith`,
|
|
111
109
|
],
|
|
112
110
|
[],
|
|
113
|
-
`textStartsWith
|
|
111
|
+
`textStartsWith`,
|
|
114
112
|
);
|
|
115
113
|
|
|
116
114
|
// textStartsWith: failure
|
|
@@ -123,7 +121,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
123
121
|
`Failed: textStartsWith, timeout while waiting to meet criteria`,
|
|
124
122
|
`Failed: textStartsWith`,
|
|
125
123
|
],
|
|
126
|
-
`textStartsWith:failure
|
|
124
|
+
`textStartsWith:failure`,
|
|
127
125
|
);
|
|
128
126
|
|
|
129
127
|
// textEmpty: success
|
|
@@ -135,6 +133,6 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
135
133
|
`Ok: textEmpty`,
|
|
136
134
|
],
|
|
137
135
|
[],
|
|
138
|
-
`textEmpty
|
|
136
|
+
`textEmpty`,
|
|
139
137
|
);
|
|
140
138
|
});
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const { do_self_tests, is_failure_output, is_ok_output } = require('./test.js');
|
|
1
|
+
import { do_self_tests, is_failure_output, is_ok_output } from './test.js';
|
|
4
2
|
|
|
5
3
|
const snippet = `
|
|
6
4
|
<html><body>
|
|
@@ -9,7 +7,7 @@ const snippet = `
|
|
|
9
7
|
</body></html>
|
|
10
8
|
`;
|
|
11
9
|
|
|
12
|
-
|
|
10
|
+
export var test = do_self_tests(snippet, async ({ driver }) => {
|
|
13
11
|
// textIs: success
|
|
14
12
|
await is_ok_output(
|
|
15
13
|
() => driver.textIsAll('p', ['Paragraph', 'Maragraph'], `textIsAll`),
|
|
@@ -19,7 +17,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
19
17
|
`Ok: textIsAll`,
|
|
20
18
|
],
|
|
21
19
|
[],
|
|
22
|
-
`textIsAll:success
|
|
20
|
+
`textIsAll:success`,
|
|
23
21
|
);
|
|
24
22
|
|
|
25
23
|
// textIs: failure
|
|
@@ -33,7 +31,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
33
31
|
`Failed: textIsAll, timeout while waiting to meet criteria`,
|
|
34
32
|
`Failed: textIsAll`,
|
|
35
33
|
],
|
|
36
|
-
`textIsAll:failure
|
|
34
|
+
`textIsAll:failure`,
|
|
37
35
|
);
|
|
38
36
|
|
|
39
37
|
// textIs: ambigious
|
|
@@ -45,7 +43,7 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
45
43
|
`Failed: textIsAll, ambigious 'p' selector, got 2 elements, expected 1`,
|
|
46
44
|
`Failed: textIsAll`,
|
|
47
45
|
],
|
|
48
|
-
`textIsAll:ambigious
|
|
46
|
+
`textIsAll:ambigious`,
|
|
49
47
|
);
|
|
50
48
|
|
|
51
49
|
// textIs: no elements
|
|
@@ -57,6 +55,6 @@ module.exports.test = do_self_tests(snippet, async ({ driver }) => {
|
|
|
57
55
|
`Failed: textIsAll, no elements matching '#p-not-exists' selector`,
|
|
58
56
|
`Failed: textIsAll`,
|
|
59
57
|
],
|
|
60
|
-
`textIsAll:noelements
|
|
58
|
+
`textIsAll:noelements`,
|
|
61
59
|
);
|
|
62
60
|
});
|
package/tests/webdriver/test.js
CHANGED
|
@@ -1,40 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { is_output } from '../../core/base.js';
|
|
2
|
+
import { testflow, fail } from '../../core/core.js';
|
|
3
|
+
import { scope } from '../../webdriver/session.js';
|
|
4
|
+
import { TestExecutionError } from '../../webdriver/driver_base.js';
|
|
2
5
|
|
|
3
|
-
const
|
|
4
|
-
const { fail, core } = testflow;
|
|
5
|
-
|
|
6
|
-
const { is_output } = require('../../core/base.js');
|
|
7
|
-
const { scope } = require('../../webdriver/session.js');
|
|
8
|
-
const { TestExecutionError } = require('../../webdriver/driver_base.js');
|
|
9
|
-
|
|
10
|
-
const scripts = [
|
|
11
|
-
'../../core/core.js',
|
|
12
|
-
'../../core/base.js',
|
|
13
|
-
'../../webdriver/app_driver.js',
|
|
14
|
-
'../../webdriver/control_driver.js',
|
|
15
|
-
];
|
|
16
|
-
for (let script of scripts) {
|
|
17
|
-
let script_exports = require(script);
|
|
18
|
-
for (let e in script_exports) {
|
|
19
|
-
module.exports[e] = script_exports[e];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports.do_self_tests = (snippet, test) =>
|
|
24
|
-
scope(snippet, async session => {
|
|
25
|
-
session.driver.screenshot_disabled = true;
|
|
26
|
-
|
|
27
|
-
// Set ~0 timeout to make failing test failing snappy. Hacky but works.
|
|
28
|
-
const defaultTimeout = core.getTimeout();
|
|
29
|
-
core.setTimeout(0.001);
|
|
30
|
-
|
|
31
|
-
try {
|
|
32
|
-
await test(session);
|
|
33
|
-
} finally {
|
|
34
|
-
// Restore timeout
|
|
35
|
-
core.setTimeout(defaultTimeout);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
6
|
+
const reducedTimeout = 0.001;
|
|
38
7
|
|
|
39
8
|
const eat_ok = func => async () => {
|
|
40
9
|
try {
|
|
@@ -47,7 +16,7 @@ const eat_ok = func => async () => {
|
|
|
47
16
|
|
|
48
17
|
const eat_failure = func => async () => {
|
|
49
18
|
try {
|
|
50
|
-
testflow.lock();
|
|
19
|
+
testflow.lock({ timeout: reducedTimeout });
|
|
51
20
|
await func();
|
|
52
21
|
testflow.unlock();
|
|
53
22
|
fail(`No test failure`);
|
|
@@ -59,11 +28,33 @@ const eat_failure = func => async () => {
|
|
|
59
28
|
}
|
|
60
29
|
};
|
|
61
30
|
|
|
62
|
-
|
|
31
|
+
export * from '../../core/core.js';
|
|
32
|
+
export * from '../../core/base.js';
|
|
33
|
+
export * from '../../webdriver/app_driver.js';
|
|
34
|
+
export * from '../../webdriver/control_driver.js';
|
|
35
|
+
|
|
36
|
+
export function do_self_tests(snippet, test) {
|
|
37
|
+
return scope(snippet, async session => {
|
|
38
|
+
session.driver.screenshot_disabled = true;
|
|
39
|
+
|
|
40
|
+
// Set ~0 timeout to make failing test failing snappy. Hacky but works.
|
|
41
|
+
const defaultTimeout = testflow.core.getTimeout();
|
|
42
|
+
testflow.core.setTimeout(reducedTimeout);
|
|
43
|
+
|
|
44
|
+
try {
|
|
45
|
+
await test(session);
|
|
46
|
+
} finally {
|
|
47
|
+
// Restore timeout
|
|
48
|
+
testflow.core.setTimeout(defaultTimeout);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function is_ok_output(func, out, err, msg) {
|
|
63
54
|
return is_output(eat_ok(func), out, err, msg);
|
|
64
|
-
}
|
|
55
|
+
}
|
|
65
56
|
|
|
66
|
-
|
|
57
|
+
export function is_failure_output(driver, func, out, err, msg) {
|
|
67
58
|
// Tests in Firefox are running in a child process, which doesn't use stderr.
|
|
68
59
|
if (driver.firefox) {
|
|
69
60
|
out.push(...err);
|
|
@@ -71,4 +62,4 @@ module.exports.is_failure_output = (driver, func, out, err, msg) => {
|
|
|
71
62
|
}
|
|
72
63
|
out.push(`Sleeping for 1 ms`);
|
|
73
64
|
return is_output(eat_failure(func), out, err, msg);
|
|
74
|
-
}
|
|
65
|
+
}
|
package/webdriver/app_driver.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const { define_class_promise } = require('./util.js');
|
|
4
|
-
const { assert } = require('../core/core.js');
|
|
1
|
+
import { define_class_promise } from './util.js';
|
|
2
|
+
import { assert } from '../core/core.js';
|
|
5
3
|
|
|
6
4
|
/**
|
|
7
5
|
* A bass class used to create chainable application drivers.
|
|
@@ -38,8 +36,8 @@ class AppDriver {
|
|
|
38
36
|
return this.chain(() =>
|
|
39
37
|
this.action(`Get ${this.uiname}`).elementVisible(
|
|
40
38
|
this.Self,
|
|
41
|
-
`${this.uiname} is shown
|
|
42
|
-
)
|
|
39
|
+
`${this.uiname} is shown`,
|
|
40
|
+
),
|
|
43
41
|
);
|
|
44
42
|
}
|
|
45
43
|
|
|
@@ -67,7 +65,7 @@ class AppDriver {
|
|
|
67
65
|
assert(typeof link == 'function', `Only function can be chained`);
|
|
68
66
|
return new this.constructor.CtorPromise(
|
|
69
67
|
this.p.then(link),
|
|
70
|
-
Object.assign({}, this.properties, properties || {})
|
|
68
|
+
Object.assign({}, this.properties, properties || {}),
|
|
71
69
|
);
|
|
72
70
|
}
|
|
73
71
|
|
|
@@ -78,7 +76,7 @@ class AppDriver {
|
|
|
78
76
|
.elementFocused(selector, 'Focused')
|
|
79
77
|
.selectAll(selector, `Select all text`)
|
|
80
78
|
.sendKeys(selector, value, `Type into ${field}`)
|
|
81
|
-
.textIs(selector, value, `Check ${field} text`)
|
|
79
|
+
.textIs(selector, value, `Check ${field} text`),
|
|
82
80
|
);
|
|
83
81
|
}
|
|
84
82
|
|
|
@@ -86,7 +84,7 @@ class AppDriver {
|
|
|
86
84
|
return this.chain(() =>
|
|
87
85
|
this.action(`${this.uiname}.clear ${field}`)
|
|
88
86
|
.clear(selector, `Clear text`)
|
|
89
|
-
.textIs(selector, '', `Check ${field} text`)
|
|
87
|
+
.textIs(selector, '', `Check ${field} text`),
|
|
90
88
|
);
|
|
91
89
|
}
|
|
92
90
|
|
|
@@ -94,7 +92,7 @@ class AppDriver {
|
|
|
94
92
|
return this.chain(() =>
|
|
95
93
|
this.action(`${this.uiname}.setValue for ${field}`)
|
|
96
94
|
.setValue(selector, value, `Set value property for ${field}`)
|
|
97
|
-
.textIs(selector, value, `Check ${field} text`)
|
|
95
|
+
.textIs(selector, value, `Check ${field} text`),
|
|
98
96
|
);
|
|
99
97
|
}
|
|
100
98
|
|
|
@@ -102,7 +100,7 @@ class AppDriver {
|
|
|
102
100
|
return this.chain(() =>
|
|
103
101
|
this.action(`${this.uiname}.check ${field}`)
|
|
104
102
|
.click(selector, `Click at ${field}`)
|
|
105
|
-
.hasElements(`${selector}:checked`, `${field} should be checked`)
|
|
103
|
+
.hasElements(`${selector}:checked`, `${field} should be checked`),
|
|
106
104
|
);
|
|
107
105
|
}
|
|
108
106
|
|
|
@@ -112,8 +110,8 @@ class AppDriver {
|
|
|
112
110
|
.click(selector, `Click at ${field}`)
|
|
113
111
|
.hasElements(
|
|
114
112
|
`${selector}:not(:checked)`,
|
|
115
|
-
`${field} should be unchecked
|
|
116
|
-
)
|
|
113
|
+
`${field} should be unchecked`,
|
|
114
|
+
),
|
|
117
115
|
);
|
|
118
116
|
}
|
|
119
117
|
|
|
@@ -121,14 +119,14 @@ class AppDriver {
|
|
|
121
119
|
return this.chain(() =>
|
|
122
120
|
this.action(`${this.uiname}.execute ${descr}`).executeScript(
|
|
123
121
|
script,
|
|
124
|
-
`Execute script
|
|
125
|
-
)
|
|
122
|
+
`Execute script`,
|
|
123
|
+
),
|
|
126
124
|
);
|
|
127
125
|
}
|
|
128
126
|
|
|
129
127
|
screenshot(msg) {
|
|
130
128
|
return this.chain(() =>
|
|
131
|
-
this.action(`${this.uiname}.screenshot for ${msg}`).screenshot()
|
|
129
|
+
this.action(`${this.uiname}.screenshot for ${msg}`).screenshot(),
|
|
132
130
|
);
|
|
133
131
|
}
|
|
134
132
|
|
|
@@ -185,6 +183,4 @@ class AppDriver {
|
|
|
185
183
|
}
|
|
186
184
|
}
|
|
187
185
|
|
|
188
|
-
|
|
189
|
-
AppDriver,
|
|
190
|
-
};
|
|
186
|
+
export { AppDriver };
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const { assert } = require('../core/core.js');
|
|
4
|
-
const { AppDriver } = require('./app_driver.js');
|
|
1
|
+
import { assert } from '../core/core.js';
|
|
2
|
+
import { AppDriver } from './app_driver.js';
|
|
5
3
|
|
|
6
4
|
/**
|
|
7
5
|
* Control driver base.
|
|
@@ -14,7 +12,7 @@ class ControlDriver extends AppDriver {
|
|
|
14
12
|
session,
|
|
15
13
|
selector,
|
|
16
14
|
},
|
|
17
|
-
p
|
|
15
|
+
p,
|
|
18
16
|
);
|
|
19
17
|
}
|
|
20
18
|
|
|
@@ -27,6 +25,4 @@ class ControlDriver extends AppDriver {
|
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
ControlDriver,
|
|
32
|
-
};
|
|
28
|
+
export { ControlDriver };
|