@appium/fake-driver 3.2.3 → 3.2.6
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/build/lib/commands/alert.js +2 -4
- package/build/lib/commands/contexts.js +2 -4
- package/build/lib/commands/element.js +2 -4
- package/build/lib/commands/find.js +2 -4
- package/build/lib/commands/general.js +2 -4
- package/build/lib/commands/index.js +2 -4
- package/build/lib/driver.js +21 -24
- package/build/lib/fake-app.js +3 -5
- package/build/lib/fake-driver-schema.js +2 -4
- package/build/lib/fake-element.js +2 -4
- package/build/lib/index.js +4 -11
- package/build/lib/logger.js +2 -4
- package/build/{screen.png → lib/screen.png} +0 -0
- package/build/lib/scripts/fake-error.js +2 -4
- package/build/lib/scripts/fake-success.js +2 -4
- package/build/lib/server.js +2 -4
- package/index.js +9 -1
- package/lib/fake-app.js +1 -1
- package/lib/index.js +1 -8
- package/{screen.png → lib/screen.png} +0 -0
- package/package.json +23 -14
- package/build/test/alert-tests.js +0 -64
- package/build/test/command-specs.js +0 -33
- package/build/test/context-tests.js +0 -63
- package/build/test/driver-e2e-specs.js +0 -85
- package/build/test/driver-specs.js +0 -49
- package/build/test/element-interaction-tests.js +0 -133
- package/build/test/find-element-tests.js +0 -88
- package/build/test/fixtures/app.xml +0 -38
- package/build/test/general-tests.js +0 -118
- package/build/test/helpers.js +0 -69
package/lib/fake-app.js
CHANGED
|
@@ -6,7 +6,7 @@ import xpath from 'xpath';
|
|
|
6
6
|
import log from './logger';
|
|
7
7
|
import { FakeElement } from './fake-element';
|
|
8
8
|
|
|
9
|
-
const SCREENSHOT = path.join(__dirname, '
|
|
9
|
+
const SCREENSHOT = path.join(__dirname, 'screen.png');
|
|
10
10
|
|
|
11
11
|
class FakeApp {
|
|
12
12
|
constructor () {
|
package/lib/index.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
// transpile:main
|
|
3
2
|
|
|
4
|
-
import { asyncify } from 'asyncbox';
|
|
5
3
|
import * as driver from './driver';
|
|
6
4
|
import * as server from './server';
|
|
7
5
|
|
|
8
|
-
|
|
9
6
|
const { FakeDriver } = driver;
|
|
10
7
|
const { startServer } = server;
|
|
11
8
|
|
|
@@ -22,8 +19,4 @@ async function main () {
|
|
|
22
19
|
return await startServer(port, host);
|
|
23
20
|
}
|
|
24
21
|
|
|
25
|
-
|
|
26
|
-
asyncify(main);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export { FakeDriver, startServer };
|
|
22
|
+
export { FakeDriver, startServer, main };
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appium/fake-driver",
|
|
3
|
-
"version": "3.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "3.2.6",
|
|
4
|
+
"description": "Mock driver used internally by Appium for testing. Ignore",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
7
7
|
"javascript",
|
|
@@ -12,12 +12,14 @@
|
|
|
12
12
|
"firefoxos",
|
|
13
13
|
"testing"
|
|
14
14
|
],
|
|
15
|
+
"homepage": "https://appium.io",
|
|
15
16
|
"bugs": {
|
|
16
17
|
"url": "https://github.com/appium/appium/issues"
|
|
17
18
|
},
|
|
18
19
|
"repository": {
|
|
19
20
|
"type": "git",
|
|
20
|
-
"url": "https://github.com/appium/appium.git"
|
|
21
|
+
"url": "https://github.com/appium/appium.git",
|
|
22
|
+
"directory": "packages/fake-driver"
|
|
21
23
|
},
|
|
22
24
|
"license": "Apache-2.0",
|
|
23
25
|
"author": "https://github.com/appium",
|
|
@@ -31,14 +33,22 @@
|
|
|
31
33
|
"index.js",
|
|
32
34
|
"lib",
|
|
33
35
|
"build",
|
|
34
|
-
"test/fixtures"
|
|
35
|
-
"screen.png"
|
|
36
|
+
"test/fixtures"
|
|
36
37
|
],
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "babel lib --root-mode=upward --out-dir=build/lib --copy-files",
|
|
40
|
+
"dev": "npm run build -- --watch",
|
|
41
|
+
"fix": "npm run lint -- --fix",
|
|
42
|
+
"lint": "eslint -c ../../.eslintrc --ignore-path ../../.eslintignore .",
|
|
43
|
+
"test": "npm run test:unit",
|
|
44
|
+
"test:e2e": "mocha --require ../../test/setup-babel.js --timeout 20s --slow 10s \"./test/e2e/**/*.spec.js\"",
|
|
45
|
+
"test:unit": "mocha --require ../../test/setup-babel.js \"./test/unit/**/*.spec.js\""
|
|
46
|
+
},
|
|
37
47
|
"dependencies": {
|
|
38
|
-
"@appium/base-driver": "^8.
|
|
39
|
-
"@appium/support": "^2.
|
|
40
|
-
"@babel/runtime": "7.
|
|
41
|
-
"@xmldom/xmldom": "0.
|
|
48
|
+
"@appium/base-driver": "^8.3.1",
|
|
49
|
+
"@appium/support": "^2.56.1",
|
|
50
|
+
"@babel/runtime": "7.17.8",
|
|
51
|
+
"@xmldom/xmldom": "0.8.1",
|
|
42
52
|
"asyncbox": "2.9.2",
|
|
43
53
|
"bluebird": "3.7.2",
|
|
44
54
|
"lodash": "4.17.21",
|
|
@@ -49,6 +59,9 @@
|
|
|
49
59
|
"node": ">=12",
|
|
50
60
|
"npm": ">=6"
|
|
51
61
|
},
|
|
62
|
+
"publishConfig": {
|
|
63
|
+
"access": "public"
|
|
64
|
+
},
|
|
52
65
|
"access": "public",
|
|
53
66
|
"appium": {
|
|
54
67
|
"driverName": "fake",
|
|
@@ -63,9 +76,5 @@
|
|
|
63
76
|
"fake-success": "./build/lib/scripts/fake-success.js"
|
|
64
77
|
}
|
|
65
78
|
},
|
|
66
|
-
"
|
|
67
|
-
"access": "public"
|
|
68
|
-
},
|
|
69
|
-
"homepage": "https://appium.io",
|
|
70
|
-
"gitHead": "ca90a11813546ab4851e5b1f0406f420a53227e6"
|
|
79
|
+
"gitHead": "6d35def9ed754121fee691cdaf7b30e3a7ac3e8b"
|
|
71
80
|
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
require("source-map-support/register");
|
|
9
|
-
|
|
10
|
-
var _helpers = require("./helpers");
|
|
11
|
-
|
|
12
|
-
function alertTests() {
|
|
13
|
-
describe('alerts', function () {
|
|
14
|
-
let driver;
|
|
15
|
-
before(async function () {
|
|
16
|
-
driver = await (0, _helpers.initSession)(_helpers.W3C_PREFIXED_CAPS);
|
|
17
|
-
});
|
|
18
|
-
after(async function () {
|
|
19
|
-
return await (0, _helpers.deleteSession)(driver);
|
|
20
|
-
});
|
|
21
|
-
it('should not work with alerts when one is not present', async function () {
|
|
22
|
-
await driver.getAlertText().should.eventually.be.rejectedWith({
|
|
23
|
-
code: 27
|
|
24
|
-
});
|
|
25
|
-
await driver.sendAlertText('foo').should.eventually.be.rejectedWith({
|
|
26
|
-
code: 27
|
|
27
|
-
});
|
|
28
|
-
await driver.acceptAlert().should.eventually.be.rejectedWith({
|
|
29
|
-
code: 27
|
|
30
|
-
});
|
|
31
|
-
await driver.dismissAlert().should.eventually.be.rejectedWith({
|
|
32
|
-
code: 27
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
it('should get text of an alert', async function () {
|
|
36
|
-
await (await driver.$('#AlertButton')).click();
|
|
37
|
-
(await driver.getAlertText()).should.equal('Fake Alert');
|
|
38
|
-
});
|
|
39
|
-
it('should set the text of an alert', async function () {
|
|
40
|
-
await driver.sendAlertText('foo');
|
|
41
|
-
(await driver.getAlertText()).should.equal('foo');
|
|
42
|
-
});
|
|
43
|
-
it('should not do other things while an alert is there', async function () {
|
|
44
|
-
await (await driver.$('#nav')).click().should.eventually.be.rejectedWith({
|
|
45
|
-
code: 26
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
it.skip('should accept an alert', function () {
|
|
49
|
-
driver.acceptAlert().$('nav').click().nodeify();
|
|
50
|
-
});
|
|
51
|
-
it.skip('should not set the text of the wrong kind of alert', function () {
|
|
52
|
-
driver.$('AlertButton2').click().alertText().should.eventually.become('Fake Alert 2').alertKeys('foo').should.be.rejectedWith(/12/).nodeify();
|
|
53
|
-
});
|
|
54
|
-
it.skip('should dismiss an alert', function () {
|
|
55
|
-
driver.acceptAlert().$('nav').click().nodeify();
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
var _default = alertTests;
|
|
61
|
-
exports.default = _default;require('source-map-support').install();
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvYWxlcnQtdGVzdHMuanMiXSwibmFtZXMiOlsiYWxlcnRUZXN0cyIsImRlc2NyaWJlIiwiZHJpdmVyIiwiYmVmb3JlIiwiVzNDX1BSRUZJWEVEX0NBUFMiLCJhZnRlciIsIml0IiwiZ2V0QWxlcnRUZXh0Iiwic2hvdWxkIiwiZXZlbnR1YWxseSIsImJlIiwicmVqZWN0ZWRXaXRoIiwiY29kZSIsInNlbmRBbGVydFRleHQiLCJhY2NlcHRBbGVydCIsImRpc21pc3NBbGVydCIsIiQiLCJjbGljayIsImVxdWFsIiwic2tpcCIsIm5vZGVpZnkiLCJhbGVydFRleHQiLCJiZWNvbWUiLCJhbGVydEtleXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBLFNBQVNBLFVBQVQsR0FBdUI7QUFDckJDLEVBQUFBLFFBQVEsQ0FBQyxRQUFELEVBQVcsWUFBWTtBQUM3QixRQUFJQyxNQUFKO0FBQ0FDLElBQUFBLE1BQU0sQ0FBRSxrQkFBa0I7QUFDeEJELE1BQUFBLE1BQU0sR0FBRyxNQUFNLDBCQUFZRSwwQkFBWixDQUFmO0FBQ0QsS0FGSyxDQUFOO0FBR0FDLElBQUFBLEtBQUssQ0FBQyxrQkFBa0I7QUFDdEIsYUFBTyxNQUFNLDRCQUFjSCxNQUFkLENBQWI7QUFDRCxLQUZJLENBQUw7QUFJQUksSUFBQUEsRUFBRSxDQUFDLHFEQUFELEVBQXdELGtCQUFrQjtBQUMxRSxZQUFNSixNQUFNLENBQUNLLFlBQVAsR0FBc0JDLE1BQXRCLENBQTZCQyxVQUE3QixDQUF3Q0MsRUFBeEMsQ0FBMkNDLFlBQTNDLENBQXdEO0FBQUNDLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQXhELENBQU47QUFDQSxZQUFNVixNQUFNLENBQUNXLGFBQVAsQ0FBcUIsS0FBckIsRUFBNEJMLE1BQTVCLENBQW1DQyxVQUFuQyxDQUE4Q0MsRUFBOUMsQ0FBaURDLFlBQWpELENBQThEO0FBQUNDLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQTlELENBQU47QUFDQSxZQUFNVixNQUFNLENBQUNZLFdBQVAsR0FBcUJOLE1BQXJCLENBQTRCQyxVQUE1QixDQUF1Q0MsRUFBdkMsQ0FBMENDLFlBQTFDLENBQXVEO0FBQUNDLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQXZELENBQU47QUFDQSxZQUFNVixNQUFNLENBQUNhLFlBQVAsR0FBc0JQLE1BQXRCLENBQTZCQyxVQUE3QixDQUF3Q0MsRUFBeEMsQ0FBMkNDLFlBQTNDLENBQXdEO0FBQUNDLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQXhELENBQU47QUFDRCxLQUxDLENBQUY7QUFNQU4sSUFBQUEsRUFBRSxDQUFDLDZCQUFELEVBQWdDLGtCQUFrQjtBQUNsRCxZQUFNLENBQUMsTUFBTUosTUFBTSxDQUFDYyxDQUFQLENBQVMsY0FBVCxDQUFQLEVBQWlDQyxLQUFqQyxFQUFOO0FBQ0EsT0FBQyxNQUFNZixNQUFNLENBQUNLLFlBQVAsRUFBUCxFQUE4QkMsTUFBOUIsQ0FBcUNVLEtBQXJDLENBQTJDLFlBQTNDO0FBQ0QsS0FIQyxDQUFGO0FBSUFaLElBQUFBLEVBQUUsQ0FBQyxpQ0FBRCxFQUFvQyxrQkFBa0I7QUFDdEQsWUFBTUosTUFBTSxDQUFDVyxhQUFQLENBQXFCLEtBQXJCLENBQU47QUFDQSxPQUFDLE1BQU1YLE1BQU0sQ0FBQ0ssWUFBUCxFQUFQLEVBQThCQyxNQUE5QixDQUFxQ1UsS0FBckMsQ0FBMkMsS0FBM0M7QUFDRCxLQUhDLENBQUY7QUFJQVosSUFBQUEsRUFBRSxDQUFDLG9EQUFELEVBQXVELGtCQUFrQjtBQUN6RSxZQUFNLENBQUMsTUFBTUosTUFBTSxDQUFDYyxDQUFQLENBQVMsTUFBVCxDQUFQLEVBQXlCQyxLQUF6QixHQUNHVCxNQURILENBQ1VDLFVBRFYsQ0FDcUJDLEVBRHJCLENBQ3dCQyxZQUR4QixDQUNxQztBQUFDQyxRQUFBQSxJQUFJLEVBQUU7QUFBUCxPQURyQyxDQUFOO0FBRUQsS0FIQyxDQUFGO0FBSUFOLElBQUFBLEVBQUUsQ0FBQ2EsSUFBSCxDQUFRLHdCQUFSLEVBQWtDLFlBQVk7QUFDNUNqQixNQUFBQSxNQUFNLENBQ0hZLFdBREgsR0FFR0UsQ0FGSCxDQUVLLEtBRkwsRUFHR0MsS0FISCxHQUlHRyxPQUpIO0FBS0QsS0FORDtBQU9BZCxJQUFBQSxFQUFFLENBQUNhLElBQUgsQ0FBUSxvREFBUixFQUE4RCxZQUFZO0FBQ3hFakIsTUFBQUEsTUFBTSxDQUNIYyxDQURILENBQ0ssY0FETCxFQUVHQyxLQUZILEdBR0dJLFNBSEgsR0FJS2IsTUFKTCxDQUlZQyxVQUpaLENBSXVCYSxNQUp2QixDQUk4QixjQUo5QixFQUtHQyxTQUxILENBS2EsS0FMYixFQU1LZixNQU5MLENBTVlFLEVBTlosQ0FNZUMsWUFOZixDQU00QixJQU41QixFQU9HUyxPQVBIO0FBUUQsS0FURDtBQVVBZCxJQUFBQSxFQUFFLENBQUNhLElBQUgsQ0FBUSx5QkFBUixFQUFtQyxZQUFZO0FBQzdDakIsTUFBQUEsTUFBTSxDQUNIWSxXQURILEdBRUdFLENBRkgsQ0FFSyxLQUZMLEVBR0dDLEtBSEgsR0FJR0csT0FKSDtBQUtELEtBTkQ7QUFPRCxHQW5ETyxDQUFSO0FBb0REOztlQUVjcEIsVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluaXRTZXNzaW9uLCBkZWxldGVTZXNzaW9uLCBXM0NfUFJFRklYRURfQ0FQUyB9IGZyb20gJy4vaGVscGVycyc7XG5cbmZ1bmN0aW9uIGFsZXJ0VGVzdHMgKCkge1xuICBkZXNjcmliZSgnYWxlcnRzJywgZnVuY3Rpb24gKCkge1xuICAgIGxldCBkcml2ZXI7XG4gICAgYmVmb3JlIChhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBkcml2ZXIgPSBhd2FpdCBpbml0U2Vzc2lvbihXM0NfUFJFRklYRURfQ0FQUyk7XG4gICAgfSk7XG4gICAgYWZ0ZXIoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGF3YWl0IGRlbGV0ZVNlc3Npb24oZHJpdmVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IHdvcmsgd2l0aCBhbGVydHMgd2hlbiBvbmUgaXMgbm90IHByZXNlbnQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuZ2V0QWxlcnRUZXh0KCkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKHtjb2RlOiAyN30pO1xuICAgICAgYXdhaXQgZHJpdmVyLnNlbmRBbGVydFRleHQoJ2ZvbycpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCh7Y29kZTogMjd9KTtcbiAgICAgIGF3YWl0IGRyaXZlci5hY2NlcHRBbGVydCgpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCh7Y29kZTogMjd9KTtcbiAgICAgIGF3YWl0IGRyaXZlci5kaXNtaXNzQWxlcnQoKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZFdpdGgoe2NvZGU6IDI3fSk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBnZXQgdGV4dCBvZiBhbiBhbGVydCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IChhd2FpdCBkcml2ZXIuJCgnI0FsZXJ0QnV0dG9uJykpLmNsaWNrKCk7XG4gICAgICAoYXdhaXQgZHJpdmVyLmdldEFsZXJ0VGV4dCgpKS5zaG91bGQuZXF1YWwoJ0Zha2UgQWxlcnQnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHNldCB0aGUgdGV4dCBvZiBhbiBhbGVydCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5zZW5kQWxlcnRUZXh0KCdmb28nKTtcbiAgICAgIChhd2FpdCBkcml2ZXIuZ2V0QWxlcnRUZXh0KCkpLnNob3VsZC5lcXVhbCgnZm9vJyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBub3QgZG8gb3RoZXIgdGhpbmdzIHdoaWxlIGFuIGFsZXJ0IGlzIHRoZXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgKGF3YWl0IGRyaXZlci4kKCcjbmF2JykpLmNsaWNrKClcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCh7Y29kZTogMjZ9KTtcbiAgICB9KTtcbiAgICBpdC5za2lwKCdzaG91bGQgYWNjZXB0IGFuIGFsZXJ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgZHJpdmVyXG4gICAgICAgIC5hY2NlcHRBbGVydCgpXG4gICAgICAgIC4kKCduYXYnKVxuICAgICAgICAuY2xpY2soKVxuICAgICAgICAubm9kZWlmeSgpO1xuICAgIH0pO1xuICAgIGl0LnNraXAoJ3Nob3VsZCBub3Qgc2V0IHRoZSB0ZXh0IG9mIHRoZSB3cm9uZyBraW5kIG9mIGFsZXJ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgZHJpdmVyXG4gICAgICAgIC4kKCdBbGVydEJ1dHRvbjInKVxuICAgICAgICAuY2xpY2soKVxuICAgICAgICAuYWxlcnRUZXh0KClcbiAgICAgICAgICAuc2hvdWxkLmV2ZW50dWFsbHkuYmVjb21lKCdGYWtlIEFsZXJ0IDInKVxuICAgICAgICAuYWxlcnRLZXlzKCdmb28nKVxuICAgICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKC8xMi8pXG4gICAgICAgIC5ub2RlaWZ5KCk7XG4gICAgfSk7XG4gICAgaXQuc2tpcCgnc2hvdWxkIGRpc21pc3MgYW4gYWxlcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkcml2ZXJcbiAgICAgICAgLmFjY2VwdEFsZXJ0KClcbiAgICAgICAgLiQoJ25hdicpXG4gICAgICAgIC5jbGljaygpXG4gICAgICAgIC5ub2RlaWZ5KCk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBhbGVydFRlc3RzO1xuIl0sImZpbGUiOiJ0ZXN0L2FsZXJ0LXRlc3RzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
8
|
-
|
|
9
|
-
var _contexts = _interopRequireDefault(require("../lib/commands/contexts"));
|
|
10
|
-
|
|
11
|
-
var _element = _interopRequireDefault(require("../lib/commands/element"));
|
|
12
|
-
|
|
13
|
-
var _find = _interopRequireDefault(require("../lib/commands/find"));
|
|
14
|
-
|
|
15
|
-
var _general = _interopRequireDefault(require("../lib/commands/general"));
|
|
16
|
-
|
|
17
|
-
var _commands = _interopRequireDefault(require("../lib/commands"));
|
|
18
|
-
|
|
19
|
-
describe('Driver commands', function () {
|
|
20
|
-
let allCommands = [_lodash.default.keys(_contexts.default), _lodash.default.keys(_element.default), _lodash.default.keys(_find.default), _lodash.default.keys(_general.default)];
|
|
21
|
-
|
|
22
|
-
let totalCommands = _lodash.default.sum(allCommands.map(c => c.length));
|
|
23
|
-
|
|
24
|
-
it('should not overlap between files', function () {
|
|
25
|
-
_lodash.default.union(...allCommands).length.should.equal(totalCommands);
|
|
26
|
-
});
|
|
27
|
-
it('should export all commands and not leave any out', function () {
|
|
28
|
-
_lodash.default.difference(_lodash.default.union(...allCommands), _lodash.default.keys(_commands.default)).should.eql([]);
|
|
29
|
-
});
|
|
30
|
-
});require('source-map-support').install();
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvY29tbWFuZC1zcGVjcy5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsImFsbENvbW1hbmRzIiwiXyIsImtleXMiLCJjb250ZXh0Q29tbWFuZHMiLCJlbGVtZW50Q29tbWFuZHMiLCJmaW5kQ29tbWFuZHMiLCJnZW5lcmFsQ29tbWFuZHMiLCJ0b3RhbENvbW1hbmRzIiwic3VtIiwibWFwIiwiYyIsImxlbmd0aCIsIml0IiwidW5pb24iLCJzaG91bGQiLCJlcXVhbCIsImRpZmZlcmVuY2UiLCJleHBvcnRlZENvbW1hbmRzIiwiZXFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFJQUEsUUFBUSxDQUFDLGlCQUFELEVBQW9CLFlBQVk7QUFDdEMsTUFBSUMsV0FBVyxHQUFHLENBQ2hCQyxnQkFBRUMsSUFBRixDQUFPQyxpQkFBUCxDQURnQixFQUVoQkYsZ0JBQUVDLElBQUYsQ0FBT0UsZ0JBQVAsQ0FGZ0IsRUFHaEJILGdCQUFFQyxJQUFGLENBQU9HLGFBQVAsQ0FIZ0IsRUFJaEJKLGdCQUFFQyxJQUFGLENBQU9JLGdCQUFQLENBSmdCLENBQWxCOztBQU1BLE1BQUlDLGFBQWEsR0FBR04sZ0JBQUVPLEdBQUYsQ0FBTVIsV0FBVyxDQUFDUyxHQUFaLENBQWlCQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsTUFBekIsQ0FBTixDQUFwQjs7QUFDQUMsRUFBQUEsRUFBRSxDQUFDLGtDQUFELEVBQXFDLFlBQVk7QUFDakRYLG9CQUFFWSxLQUFGLENBQVEsR0FBR2IsV0FBWCxFQUF3QlcsTUFBeEIsQ0FBK0JHLE1BQS9CLENBQXNDQyxLQUF0QyxDQUE0Q1IsYUFBNUM7QUFDRCxHQUZDLENBQUY7QUFHQUssRUFBQUEsRUFBRSxDQUFDLGtEQUFELEVBQXFELFlBQVk7QUFDakVYLG9CQUFFZSxVQUFGLENBQ0VmLGdCQUFFWSxLQUFGLENBQVEsR0FBR2IsV0FBWCxDQURGLEVBRUVDLGdCQUFFQyxJQUFGLENBQU9lLGlCQUFQLENBRkYsRUFHRUgsTUFIRixDQUdTSSxHQUhULENBR2EsRUFIYjtBQUlELEdBTEMsQ0FBRjtBQU1ELENBakJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgY29udGV4dENvbW1hbmRzIGZyb20gJy4uL2xpYi9jb21tYW5kcy9jb250ZXh0cyc7XG5pbXBvcnQgZWxlbWVudENvbW1hbmRzIGZyb20gJy4uL2xpYi9jb21tYW5kcy9lbGVtZW50JztcbmltcG9ydCBmaW5kQ29tbWFuZHMgZnJvbSAnLi4vbGliL2NvbW1hbmRzL2ZpbmQnO1xuaW1wb3J0IGdlbmVyYWxDb21tYW5kcyBmcm9tICcuLi9saWIvY29tbWFuZHMvZ2VuZXJhbCc7XG5pbXBvcnQgZXhwb3J0ZWRDb21tYW5kcyBmcm9tICcuLi9saWIvY29tbWFuZHMnO1xuXG5cblxuZGVzY3JpYmUoJ0RyaXZlciBjb21tYW5kcycsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGFsbENvbW1hbmRzID0gW1xuICAgIF8ua2V5cyhjb250ZXh0Q29tbWFuZHMpLFxuICAgIF8ua2V5cyhlbGVtZW50Q29tbWFuZHMpLFxuICAgIF8ua2V5cyhmaW5kQ29tbWFuZHMpLFxuICAgIF8ua2V5cyhnZW5lcmFsQ29tbWFuZHMpXG4gIF07XG4gIGxldCB0b3RhbENvbW1hbmRzID0gXy5zdW0oYWxsQ29tbWFuZHMubWFwKChjKSA9PiBjLmxlbmd0aCkpO1xuICBpdCgnc2hvdWxkIG5vdCBvdmVybGFwIGJldHdlZW4gZmlsZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgXy51bmlvbiguLi5hbGxDb21tYW5kcykubGVuZ3RoLnNob3VsZC5lcXVhbCh0b3RhbENvbW1hbmRzKTtcbiAgfSk7XG4gIGl0KCdzaG91bGQgZXhwb3J0IGFsbCBjb21tYW5kcyBhbmQgbm90IGxlYXZlIGFueSBvdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgXy5kaWZmZXJlbmNlKFxuICAgICAgXy51bmlvbiguLi5hbGxDb21tYW5kcyksXG4gICAgICBfLmtleXMoZXhwb3J0ZWRDb21tYW5kcylcbiAgICApLnNob3VsZC5lcWwoW10pO1xuICB9KTtcbn0pO1xuIl0sImZpbGUiOiJ0ZXN0L2NvbW1hbmQtc3BlY3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
require("source-map-support/register");
|
|
9
|
-
|
|
10
|
-
var _helpers = require("./helpers");
|
|
11
|
-
|
|
12
|
-
function contextTests() {
|
|
13
|
-
describe('contexts, webviews, frames', function () {
|
|
14
|
-
let driver;
|
|
15
|
-
before(async function () {
|
|
16
|
-
driver = await (0, _helpers.initSession)(_helpers.W3C_PREFIXED_CAPS);
|
|
17
|
-
});
|
|
18
|
-
after(async function () {
|
|
19
|
-
return await (0, _helpers.deleteSession)(driver);
|
|
20
|
-
});
|
|
21
|
-
it('should get current context', async function () {
|
|
22
|
-
await driver.getContext().should.eventually.become('NATIVE_APP');
|
|
23
|
-
});
|
|
24
|
-
it('should get contexts', async function () {
|
|
25
|
-
await driver.getContexts().should.eventually.become(['NATIVE_APP', 'PROXY', 'WEBVIEW_1']);
|
|
26
|
-
});
|
|
27
|
-
it('should not set context that is not there', async function () {
|
|
28
|
-
await driver.switchContext('WEBVIEW_FOO').should.eventually.be.rejectedWith(/No such context found/);
|
|
29
|
-
});
|
|
30
|
-
it('should set context', async function () {
|
|
31
|
-
await driver.switchContext('WEBVIEW_1');
|
|
32
|
-
await driver.getContext().should.eventually.become('WEBVIEW_1');
|
|
33
|
-
});
|
|
34
|
-
it('should find webview elements in a webview', async function () {
|
|
35
|
-
await (await driver.$('//*')).getTagName().should.eventually.become('html');
|
|
36
|
-
});
|
|
37
|
-
it('should not switch to a frame that is not there', async function () {
|
|
38
|
-
await driver.switchToFrame(2).should.eventually.be.rejectedWith(/frame could not be found/);
|
|
39
|
-
});
|
|
40
|
-
it('should switch to an iframe', async function () {
|
|
41
|
-
await driver.switchToFrame(1);
|
|
42
|
-
await driver.getTitle().should.eventually.become('Test iFrame');
|
|
43
|
-
});
|
|
44
|
-
it('should switch back to default frame', async function () {
|
|
45
|
-
await driver.switchToFrame(null);
|
|
46
|
-
await driver.getTitle().should.eventually.become('Test Webview');
|
|
47
|
-
});
|
|
48
|
-
it('should go back to native context', async function () {
|
|
49
|
-
await driver.switchContext('NATIVE_APP');
|
|
50
|
-
await (await driver.$('//*')).getTagName().should.eventually.become('AppiumAUT');
|
|
51
|
-
});
|
|
52
|
-
it('should not set a frame in a native context', async function () {
|
|
53
|
-
await driver.switchContext('NATIVE_APP');
|
|
54
|
-
await driver.switchToFrame(1).should.eventually.be.rejectedWith(/could not be executed in the current context/);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
var _default = contextTests;
|
|
60
|
-
exports.default = _default;require('source-map-support').install();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvY29udGV4dC10ZXN0cy5qcyJdLCJuYW1lcyI6WyJjb250ZXh0VGVzdHMiLCJkZXNjcmliZSIsImRyaXZlciIsImJlZm9yZSIsIlczQ19QUkVGSVhFRF9DQVBTIiwiYWZ0ZXIiLCJpdCIsImdldENvbnRleHQiLCJzaG91bGQiLCJldmVudHVhbGx5IiwiYmVjb21lIiwiZ2V0Q29udGV4dHMiLCJzd2l0Y2hDb250ZXh0IiwiYmUiLCJyZWplY3RlZFdpdGgiLCIkIiwiZ2V0VGFnTmFtZSIsInN3aXRjaFRvRnJhbWUiLCJnZXRUaXRsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUEsU0FBU0EsWUFBVCxHQUF5QjtBQUN2QkMsRUFBQUEsUUFBUSxDQUFDLDRCQUFELEVBQStCLFlBQVk7QUFDakQsUUFBSUMsTUFBSjtBQUNBQyxJQUFBQSxNQUFNLENBQUUsa0JBQWtCO0FBQ3hCRCxNQUFBQSxNQUFNLEdBQUcsTUFBTSwwQkFBWUUsMEJBQVosQ0FBZjtBQUNELEtBRkssQ0FBTjtBQUdBQyxJQUFBQSxLQUFLLENBQUMsa0JBQWtCO0FBQ3RCLGFBQU8sTUFBTSw0QkFBY0gsTUFBZCxDQUFiO0FBQ0QsS0FGSSxDQUFMO0FBR0FJLElBQUFBLEVBQUUsQ0FBQyw0QkFBRCxFQUErQixrQkFBa0I7QUFDakQsWUFBTUosTUFBTSxDQUFDSyxVQUFQLEdBQ0dDLE1BREgsQ0FDVUMsVUFEVixDQUNxQkMsTUFEckIsQ0FDNEIsWUFENUIsQ0FBTjtBQUVELEtBSEMsQ0FBRjtBQUlBSixJQUFBQSxFQUFFLENBQUMscUJBQUQsRUFBd0Isa0JBQWtCO0FBQzFDLFlBQU1KLE1BQU0sQ0FBQ1MsV0FBUCxHQUNHSCxNQURILENBQ1VDLFVBRFYsQ0FDcUJDLE1BRHJCLENBQzRCLENBQUMsWUFBRCxFQUFlLE9BQWYsRUFBd0IsV0FBeEIsQ0FENUIsQ0FBTjtBQUVELEtBSEMsQ0FBRjtBQUlBSixJQUFBQSxFQUFFLENBQUMsMENBQUQsRUFBNkMsa0JBQWtCO0FBQy9ELFlBQU1KLE1BQU0sQ0FBQ1UsYUFBUCxDQUFxQixhQUFyQixFQUNHSixNQURILENBQ1VDLFVBRFYsQ0FDcUJJLEVBRHJCLENBQ3dCQyxZQUR4QixDQUNxQyx1QkFEckMsQ0FBTjtBQUVELEtBSEMsQ0FBRjtBQUlBUixJQUFBQSxFQUFFLENBQUMsb0JBQUQsRUFBdUIsa0JBQWtCO0FBQ3pDLFlBQU1KLE1BQU0sQ0FBQ1UsYUFBUCxDQUFxQixXQUFyQixDQUFOO0FBQ0EsWUFBTVYsTUFBTSxDQUFDSyxVQUFQLEdBQW9CQyxNQUFwQixDQUEyQkMsVUFBM0IsQ0FBc0NDLE1BQXRDLENBQTZDLFdBQTdDLENBQU47QUFDRCxLQUhDLENBQUY7QUFJQUosSUFBQUEsRUFBRSxDQUFDLDJDQUFELEVBQThDLGtCQUFrQjtBQUNoRSxZQUFNLENBQUMsTUFBTUosTUFBTSxDQUFDYSxDQUFQLENBQVMsS0FBVCxDQUFQLEVBQXdCQyxVQUF4QixHQUNHUixNQURILENBQ1VDLFVBRFYsQ0FDcUJDLE1BRHJCLENBQzRCLE1BRDVCLENBQU47QUFFRCxLQUhDLENBQUY7QUFJQUosSUFBQUEsRUFBRSxDQUFDLGdEQUFELEVBQW1ELGtCQUFrQjtBQUNyRSxZQUFNSixNQUFNLENBQUNlLGFBQVAsQ0FBcUIsQ0FBckIsRUFBd0JULE1BQXhCLENBQStCQyxVQUEvQixDQUEwQ0ksRUFBMUMsQ0FBNkNDLFlBQTdDLENBQTBELDBCQUExRCxDQUFOO0FBQ0QsS0FGQyxDQUFGO0FBR0FSLElBQUFBLEVBQUUsQ0FBQyw0QkFBRCxFQUErQixrQkFBa0I7QUFDakQsWUFBTUosTUFBTSxDQUFDZSxhQUFQLENBQXFCLENBQXJCLENBQU47QUFDQSxZQUFNZixNQUFNLENBQUNnQixRQUFQLEdBQWtCVixNQUFsQixDQUF5QkMsVUFBekIsQ0FBb0NDLE1BQXBDLENBQTJDLGFBQTNDLENBQU47QUFDRCxLQUhDLENBQUY7QUFJQUosSUFBQUEsRUFBRSxDQUFDLHFDQUFELEVBQXdDLGtCQUFrQjtBQUMxRCxZQUFNSixNQUFNLENBQUNlLGFBQVAsQ0FBcUIsSUFBckIsQ0FBTjtBQUNBLFlBQU1mLE1BQU0sQ0FBQ2dCLFFBQVAsR0FBa0JWLE1BQWxCLENBQXlCQyxVQUF6QixDQUFvQ0MsTUFBcEMsQ0FBMkMsY0FBM0MsQ0FBTjtBQUNELEtBSEMsQ0FBRjtBQUlBSixJQUFBQSxFQUFFLENBQUMsa0NBQUQsRUFBcUMsa0JBQWtCO0FBQ3ZELFlBQU1KLE1BQU0sQ0FBQ1UsYUFBUCxDQUFxQixZQUFyQixDQUFOO0FBQ0EsWUFBTSxDQUFDLE1BQU1WLE1BQU0sQ0FBQ2EsQ0FBUCxDQUFTLEtBQVQsQ0FBUCxFQUF3QkMsVUFBeEIsR0FBcUNSLE1BQXJDLENBQTRDQyxVQUE1QyxDQUF1REMsTUFBdkQsQ0FBOEQsV0FBOUQsQ0FBTjtBQUNELEtBSEMsQ0FBRjtBQUlBSixJQUFBQSxFQUFFLENBQUMsNENBQUQsRUFBK0Msa0JBQWtCO0FBQ2pFLFlBQU1KLE1BQU0sQ0FBQ1UsYUFBUCxDQUFxQixZQUFyQixDQUFOO0FBQ0EsWUFBTVYsTUFBTSxDQUFDZSxhQUFQLENBQXFCLENBQXJCLEVBQXdCVCxNQUF4QixDQUErQkMsVUFBL0IsQ0FBMENJLEVBQTFDLENBQTZDQyxZQUE3QyxDQUEwRCw4Q0FBMUQsQ0FBTjtBQUNELEtBSEMsQ0FBRjtBQUlELEdBL0NPLENBQVI7QUFnREQ7O2VBRWNkLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbml0U2Vzc2lvbiwgZGVsZXRlU2Vzc2lvbiwgVzNDX1BSRUZJWEVEX0NBUFMgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5mdW5jdGlvbiBjb250ZXh0VGVzdHMgKCkge1xuICBkZXNjcmliZSgnY29udGV4dHMsIHdlYnZpZXdzLCBmcmFtZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGRyaXZlcjtcbiAgICBiZWZvcmUgKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGRyaXZlciA9IGF3YWl0IGluaXRTZXNzaW9uKFczQ19QUkVGSVhFRF9DQVBTKTtcbiAgICB9KTtcbiAgICBhZnRlcihhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gYXdhaXQgZGVsZXRlU2Vzc2lvbihkcml2ZXIpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZ2V0IGN1cnJlbnQgY29udGV4dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRDb250ZXh0KClcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZSgnTkFUSVZFX0FQUCcpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZ2V0IGNvbnRleHRzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLmdldENvbnRleHRzKClcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZShbJ05BVElWRV9BUFAnLCAnUFJPWFknLCAnV0VCVklFV18xJ10pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IHNldCBjb250ZXh0IHRoYXQgaXMgbm90IHRoZXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLnN3aXRjaENvbnRleHQoJ1dFQlZJRVdfRk9PJylcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCgvTm8gc3VjaCBjb250ZXh0IGZvdW5kLyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBzZXQgY29udGV4dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5zd2l0Y2hDb250ZXh0KCdXRUJWSUVXXzEnKTtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRDb250ZXh0KCkuc2hvdWxkLmV2ZW50dWFsbHkuYmVjb21lKCdXRUJWSUVXXzEnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGZpbmQgd2VidmlldyBlbGVtZW50cyBpbiBhIHdlYnZpZXcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCAoYXdhaXQgZHJpdmVyLiQoJy8vKicpKS5nZXRUYWdOYW1lKClcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZSgnaHRtbCcpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IHN3aXRjaCB0byBhIGZyYW1lIHRoYXQgaXMgbm90IHRoZXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLnN3aXRjaFRvRnJhbWUoMikuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC9mcmFtZSBjb3VsZCBub3QgYmUgZm91bmQvKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHN3aXRjaCB0byBhbiBpZnJhbWUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuc3dpdGNoVG9GcmFtZSgxKTtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRUaXRsZSgpLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZSgnVGVzdCBpRnJhbWUnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHN3aXRjaCBiYWNrIHRvIGRlZmF1bHQgZnJhbWUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuc3dpdGNoVG9GcmFtZShudWxsKTtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRUaXRsZSgpLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZSgnVGVzdCBXZWJ2aWV3Jyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBnbyBiYWNrIHRvIG5hdGl2ZSBjb250ZXh0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLnN3aXRjaENvbnRleHQoJ05BVElWRV9BUFAnKTtcbiAgICAgIGF3YWl0IChhd2FpdCBkcml2ZXIuJCgnLy8qJykpLmdldFRhZ05hbWUoKS5zaG91bGQuZXZlbnR1YWxseS5iZWNvbWUoJ0FwcGl1bUFVVCcpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IHNldCBhIGZyYW1lIGluIGEgbmF0aXZlIGNvbnRleHQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuc3dpdGNoQ29udGV4dCgnTkFUSVZFX0FQUCcpO1xuICAgICAgYXdhaXQgZHJpdmVyLnN3aXRjaFRvRnJhbWUoMSkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC9jb3VsZCBub3QgYmUgZXhlY3V0ZWQgaW4gdGhlIGN1cnJlbnQgY29udGV4dC8pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY29udGV4dFRlc3RzO1xuIl0sImZpbGUiOiJ0ZXN0L2NvbnRleHQtdGVzdHMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _axios = _interopRequireDefault(require("axios"));
|
|
8
|
-
|
|
9
|
-
var _basedriver = require("@appium/base-driver/build/test/basedriver");
|
|
10
|
-
|
|
11
|
-
var _index = require("../lib/index.js");
|
|
12
|
-
|
|
13
|
-
var _helpers = require("./helpers");
|
|
14
|
-
|
|
15
|
-
var _contextTests = _interopRequireDefault(require("./context-tests"));
|
|
16
|
-
|
|
17
|
-
var _findElementTests = _interopRequireDefault(require("./find-element-tests"));
|
|
18
|
-
|
|
19
|
-
var _elementInteractionTests = _interopRequireDefault(require("./element-interaction-tests"));
|
|
20
|
-
|
|
21
|
-
var _alertTests = _interopRequireDefault(require("./alert-tests"));
|
|
22
|
-
|
|
23
|
-
var _generalTests = _interopRequireDefault(require("./general-tests"));
|
|
24
|
-
|
|
25
|
-
const shouldStartServer = process.env.USE_RUNNING_SERVER !== '0';
|
|
26
|
-
(0, _basedriver.baseDriverE2ETests)(_index.FakeDriver, _helpers.W3C_PREFIXED_CAPS);
|
|
27
|
-
describe('FakeDriver - via HTTP', function () {
|
|
28
|
-
let server = null;
|
|
29
|
-
before(async function () {
|
|
30
|
-
if (shouldStartServer) {
|
|
31
|
-
server = await (0, _index.startServer)(_helpers.TEST_PORT, _helpers.TEST_HOST);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
after(function () {
|
|
35
|
-
if (server) {
|
|
36
|
-
server.close();
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
describe('session handling', function () {
|
|
40
|
-
it('should start and stop a session', async function () {
|
|
41
|
-
let driver = await (0, _helpers.initSession)(_helpers.W3C_PREFIXED_CAPS);
|
|
42
|
-
should.exist(driver.sessionId);
|
|
43
|
-
driver.sessionId.should.be.a('string');
|
|
44
|
-
await (0, _helpers.deleteSession)(driver);
|
|
45
|
-
await driver.getTitle().should.eventually.be.rejectedWith(/terminated/);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
describe('session-based tests', function () {
|
|
49
|
-
(0, _contextTests.default)();
|
|
50
|
-
(0, _findElementTests.default)();
|
|
51
|
-
(0, _elementInteractionTests.default)();
|
|
52
|
-
(0, _alertTests.default)();
|
|
53
|
-
(0, _generalTests.default)();
|
|
54
|
-
});
|
|
55
|
-
describe('w3c', function () {
|
|
56
|
-
it('should return value.capabilities object for W3C', async function () {
|
|
57
|
-
const res = await _axios.default.post(`http://${_helpers.TEST_HOST}:${_helpers.TEST_PORT}/session`, {
|
|
58
|
-
capabilities: {
|
|
59
|
-
alwaysMatch: _helpers.W3C_PREFIXED_CAPS,
|
|
60
|
-
firstMatch: [{
|
|
61
|
-
'appium:fakeCap': 'Foo'
|
|
62
|
-
}]
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
const {
|
|
66
|
-
value,
|
|
67
|
-
status
|
|
68
|
-
} = res.data;
|
|
69
|
-
value.capabilities.should.deep.equal({ ..._helpers.BASE_CAPS,
|
|
70
|
-
fakeCap: 'Foo'
|
|
71
|
-
});
|
|
72
|
-
value.sessionId.should.exist;
|
|
73
|
-
should.not.exist(status);
|
|
74
|
-
await _axios.default.delete(`http://${_helpers.TEST_HOST}:${_helpers.TEST_PORT}/session/${value.sessionId}`);
|
|
75
|
-
});
|
|
76
|
-
it('should fail if given unsupported desiredCapabilities', async function () {
|
|
77
|
-
await _axios.default.post(`http://${_helpers.TEST_HOST}:${_helpers.TEST_PORT}/session`, {
|
|
78
|
-
desiredCapabilities: _helpers.W3C_PREFIXED_CAPS
|
|
79
|
-
}).should.eventually.be.rejectedWith(/500/);
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
});require('source-map-support').install();
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZHJpdmVyLWUyZS1zcGVjcy5qcyJdLCJuYW1lcyI6WyJzaG91bGRTdGFydFNlcnZlciIsInByb2Nlc3MiLCJlbnYiLCJVU0VfUlVOTklOR19TRVJWRVIiLCJGYWtlRHJpdmVyIiwiVzNDX1BSRUZJWEVEX0NBUFMiLCJkZXNjcmliZSIsInNlcnZlciIsImJlZm9yZSIsIlRFU1RfUE9SVCIsIlRFU1RfSE9TVCIsImFmdGVyIiwiY2xvc2UiLCJpdCIsImRyaXZlciIsInNob3VsZCIsImV4aXN0Iiwic2Vzc2lvbklkIiwiYmUiLCJhIiwiZ2V0VGl0bGUiLCJldmVudHVhbGx5IiwicmVqZWN0ZWRXaXRoIiwicmVzIiwiYXhpb3MiLCJwb3N0IiwiY2FwYWJpbGl0aWVzIiwiYWx3YXlzTWF0Y2giLCJmaXJzdE1hdGNoIiwidmFsdWUiLCJzdGF0dXMiLCJkYXRhIiwiZGVlcCIsImVxdWFsIiwiQkFTRV9DQVBTIiwiZmFrZUNhcCIsIm5vdCIsImRlbGV0ZSIsImRlc2lyZWRDYXBhYmlsaXRpZXMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBLE1BQU1BLGlCQUFpQixHQUFHQyxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsa0JBQVosS0FBbUMsR0FBN0Q7QUFJQSxvQ0FBbUJDLGlCQUFuQixFQUErQkMsMEJBQS9CO0FBRUFDLFFBQVEsQ0FBQyx1QkFBRCxFQUEwQixZQUFZO0FBQzVDLE1BQUlDLE1BQU0sR0FBRyxJQUFiO0FBQ0FDLEVBQUFBLE1BQU0sQ0FBQyxrQkFBa0I7QUFDdkIsUUFBSVIsaUJBQUosRUFBdUI7QUFDckJPLE1BQUFBLE1BQU0sR0FBRyxNQUFNLHdCQUFZRSxrQkFBWixFQUF1QkMsa0JBQXZCLENBQWY7QUFDRDtBQUNGLEdBSkssQ0FBTjtBQUtBQyxFQUFBQSxLQUFLLENBQUMsWUFBWTtBQUNoQixRQUFJSixNQUFKLEVBQVk7QUFDVkEsTUFBQUEsTUFBTSxDQUFDSyxLQUFQO0FBQ0Q7QUFDRixHQUpJLENBQUw7QUFNQU4sRUFBQUEsUUFBUSxDQUFDLGtCQUFELEVBQXFCLFlBQVk7QUFDdkNPLElBQUFBLEVBQUUsQ0FBQyxpQ0FBRCxFQUFvQyxrQkFBa0I7QUFDdEQsVUFBSUMsTUFBTSxHQUFHLE1BQU0sMEJBQVlULDBCQUFaLENBQW5CO0FBQ0FVLE1BQUFBLE1BQU0sQ0FBQ0MsS0FBUCxDQUFhRixNQUFNLENBQUNHLFNBQXBCO0FBQ0FILE1BQUFBLE1BQU0sQ0FBQ0csU0FBUCxDQUFpQkYsTUFBakIsQ0FBd0JHLEVBQXhCLENBQTJCQyxDQUEzQixDQUE2QixRQUE3QjtBQUNBLFlBQU0sNEJBQWNMLE1BQWQsQ0FBTjtBQUNBLFlBQU1BLE1BQU0sQ0FBQ00sUUFBUCxHQUFrQkwsTUFBbEIsQ0FBeUJNLFVBQXpCLENBQW9DSCxFQUFwQyxDQUF1Q0ksWUFBdkMsQ0FBb0QsWUFBcEQsQ0FBTjtBQUNELEtBTkMsQ0FBRjtBQU9ELEdBUk8sQ0FBUjtBQVVBaEIsRUFBQUEsUUFBUSxDQUFDLHFCQUFELEVBQXdCLFlBQVk7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNELEdBTk8sQ0FBUjtBQVFBQSxFQUFBQSxRQUFRLENBQUMsS0FBRCxFQUFRLFlBQVk7QUFDMUJPLElBQUFBLEVBQUUsQ0FBQyxpREFBRCxFQUFvRCxrQkFBa0I7QUFDdEUsWUFBTVUsR0FBRyxHQUFHLE1BQU1DLGVBQU1DLElBQU4sQ0FBWSxVQUFTZixrQkFBVSxJQUFHRCxrQkFBVSxVQUE1QyxFQUF1RDtBQUN2RWlCLFFBQUFBLFlBQVksRUFBRTtBQUNaQyxVQUFBQSxXQUFXLEVBQUV0QiwwQkFERDtBQUVadUIsVUFBQUEsVUFBVSxFQUFFLENBQ1Y7QUFBQyw4QkFBa0I7QUFBbkIsV0FEVTtBQUZBO0FBRHlELE9BQXZELENBQWxCO0FBT0EsWUFBTTtBQUFDQyxRQUFBQSxLQUFEO0FBQVFDLFFBQUFBO0FBQVIsVUFBa0JQLEdBQUcsQ0FBQ1EsSUFBNUI7QUFDQUYsTUFBQUEsS0FBSyxDQUFDSCxZQUFOLENBQW1CWCxNQUFuQixDQUEwQmlCLElBQTFCLENBQStCQyxLQUEvQixDQUFxQyxFQUFDLEdBQUdDLGtCQUFKO0FBQWVDLFFBQUFBLE9BQU8sRUFBRTtBQUF4QixPQUFyQztBQUNBTixNQUFBQSxLQUFLLENBQUNaLFNBQU4sQ0FBZ0JGLE1BQWhCLENBQXVCQyxLQUF2QjtBQUNBRCxNQUFBQSxNQUFNLENBQUNxQixHQUFQLENBQVdwQixLQUFYLENBQWlCYyxNQUFqQjtBQUNBLFlBQU1OLGVBQU1hLE1BQU4sQ0FBYyxVQUFTM0Isa0JBQVUsSUFBR0Qsa0JBQVUsWUFBV29CLEtBQUssQ0FBQ1osU0FBVSxFQUF6RSxDQUFOO0FBQ0QsS0FiQyxDQUFGO0FBZUFKLElBQUFBLEVBQUUsQ0FBQyxzREFBRCxFQUF5RCxrQkFBa0I7QUFDM0UsWUFBTVcsZUFBTUMsSUFBTixDQUFZLFVBQVNmLGtCQUFVLElBQUdELGtCQUFVLFVBQTVDLEVBQXVEO0FBQzNENkIsUUFBQUEsbUJBQW1CLEVBQUVqQztBQURzQyxPQUF2RCxFQUVIVSxNQUZHLENBRUlNLFVBRkosQ0FFZUgsRUFGZixDQUVrQkksWUFGbEIsQ0FFK0IsS0FGL0IsQ0FBTjtBQUdELEtBSkMsQ0FBRjtBQUtELEdBckJPLENBQVI7QUF1QkQsQ0F0RE8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRyYW5zcGlsZTptb2NoYVxuXG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgYmFzZURyaXZlckUyRVRlc3RzIH0gZnJvbSAnQGFwcGl1bS9iYXNlLWRyaXZlci9idWlsZC90ZXN0L2Jhc2Vkcml2ZXInO1xuaW1wb3J0IHsgRmFrZURyaXZlciwgc3RhcnRTZXJ2ZXIgfSBmcm9tICcuLi9saWIvaW5kZXguanMnO1xuaW1wb3J0IHsgQkFTRV9DQVBTLCBkZWxldGVTZXNzaW9uLCBpbml0U2Vzc2lvbiwgVEVTVF9IT1NULCBURVNUX1BPUlQsIFczQ19QUkVGSVhFRF9DQVBTIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCBjb250ZXh0VGVzdHMgZnJvbSAnLi9jb250ZXh0LXRlc3RzJztcbmltcG9ydCBmaW5kRWxlbWVudFRlc3RzIGZyb20gJy4vZmluZC1lbGVtZW50LXRlc3RzJztcbmltcG9ydCBlbGVtZW50SW50ZXJhY3Rpb25UZXN0cyBmcm9tICcuL2VsZW1lbnQtaW50ZXJhY3Rpb24tdGVzdHMnO1xuaW1wb3J0IGFsZXJ0VGVzdHMgZnJvbSAnLi9hbGVydC10ZXN0cyc7XG5pbXBvcnQgZ2VuZXJhbFRlc3RzIGZyb20gJy4vZ2VuZXJhbC10ZXN0cyc7XG5cblxuY29uc3Qgc2hvdWxkU3RhcnRTZXJ2ZXIgPSBwcm9jZXNzLmVudi5VU0VfUlVOTklOR19TRVJWRVIgIT09ICcwJztcblxuXG4vLyB0ZXN0IHRoZSBzYW1lIHRoaW5ncyBhcyBmb3IgYmFzZSBkcml2ZXJcbmJhc2VEcml2ZXJFMkVUZXN0cyhGYWtlRHJpdmVyLCBXM0NfUFJFRklYRURfQ0FQUyk7XG5cbmRlc2NyaWJlKCdGYWtlRHJpdmVyIC0gdmlhIEhUVFAnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBzZXJ2ZXIgPSBudWxsO1xuICBiZWZvcmUoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGlmIChzaG91bGRTdGFydFNlcnZlcikge1xuICAgICAgc2VydmVyID0gYXdhaXQgc3RhcnRTZXJ2ZXIoVEVTVF9QT1JULCBURVNUX0hPU1QpO1xuICAgIH1cbiAgfSk7XG4gIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc2VydmVyKSB7XG4gICAgICBzZXJ2ZXIuY2xvc2UoKTtcbiAgICB9XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzZXNzaW9uIGhhbmRsaW5nJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgc3RhcnQgYW5kIHN0b3AgYSBzZXNzaW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IGRyaXZlciA9IGF3YWl0IGluaXRTZXNzaW9uKFczQ19QUkVGSVhFRF9DQVBTKTtcbiAgICAgIHNob3VsZC5leGlzdChkcml2ZXIuc2Vzc2lvbklkKTtcbiAgICAgIGRyaXZlci5zZXNzaW9uSWQuc2hvdWxkLmJlLmEoJ3N0cmluZycpO1xuICAgICAgYXdhaXQgZGVsZXRlU2Vzc2lvbihkcml2ZXIpO1xuICAgICAgYXdhaXQgZHJpdmVyLmdldFRpdGxlKCkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC90ZXJtaW5hdGVkLyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzZXNzaW9uLWJhc2VkIHRlc3RzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnRleHRUZXN0cygpO1xuICAgIGZpbmRFbGVtZW50VGVzdHMoKTtcbiAgICBlbGVtZW50SW50ZXJhY3Rpb25UZXN0cygpO1xuICAgIGFsZXJ0VGVzdHMoKTtcbiAgICBnZW5lcmFsVGVzdHMoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3czYycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB2YWx1ZS5jYXBhYmlsaXRpZXMgb2JqZWN0IGZvciBXM0MnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBheGlvcy5wb3N0KGBodHRwOi8vJHtURVNUX0hPU1R9OiR7VEVTVF9QT1JUfS9zZXNzaW9uYCwge1xuICAgICAgICBjYXBhYmlsaXRpZXM6IHtcbiAgICAgICAgICBhbHdheXNNYXRjaDogVzNDX1BSRUZJWEVEX0NBUFMsXG4gICAgICAgICAgZmlyc3RNYXRjaDogW1xuICAgICAgICAgICAgeydhcHBpdW06ZmFrZUNhcCc6ICdGb28nLCB9XG4gICAgICAgICAgXVxuICAgICAgICB9fSk7XG4gICAgICBjb25zdCB7dmFsdWUsIHN0YXR1c30gPSByZXMuZGF0YTtcbiAgICAgIHZhbHVlLmNhcGFiaWxpdGllcy5zaG91bGQuZGVlcC5lcXVhbCh7Li4uQkFTRV9DQVBTLCBmYWtlQ2FwOiAnRm9vJ30pO1xuICAgICAgdmFsdWUuc2Vzc2lvbklkLnNob3VsZC5leGlzdDtcbiAgICAgIHNob3VsZC5ub3QuZXhpc3Qoc3RhdHVzKTtcbiAgICAgIGF3YWl0IGF4aW9zLmRlbGV0ZShgaHR0cDovLyR7VEVTVF9IT1NUfToke1RFU1RfUE9SVH0vc2Vzc2lvbi8ke3ZhbHVlLnNlc3Npb25JZH1gKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBpZiBnaXZlbiB1bnN1cHBvcnRlZCBkZXNpcmVkQ2FwYWJpbGl0aWVzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgYXhpb3MucG9zdChgaHR0cDovLyR7VEVTVF9IT1NUfToke1RFU1RfUE9SVH0vc2Vzc2lvbmAsIHtcbiAgICAgICAgZGVzaXJlZENhcGFiaWxpdGllczogVzNDX1BSRUZJWEVEX0NBUFNcbiAgICAgIH0pLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCgvNTAwLyk7XG4gICAgfSk7XG4gIH0pO1xuXG59KTtcbiJdLCJmaWxlIjoidGVzdC9kcml2ZXItZTJlLXNwZWNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
8
|
-
|
|
9
|
-
var _lib = require("../lib");
|
|
10
|
-
|
|
11
|
-
var _helpers = require("./helpers");
|
|
12
|
-
|
|
13
|
-
var _basedriver = require("@appium/base-driver/build/test/basedriver");
|
|
14
|
-
|
|
15
|
-
(0, _basedriver.baseDriverUnitTests)(_lib.FakeDriver, _lodash.default.cloneDeep(_helpers.W3C_PREFIXED_CAPS));
|
|
16
|
-
describe('FakeDriver', function () {
|
|
17
|
-
it('should not start a session when a unique session is already running', async function () {
|
|
18
|
-
let d1 = new _lib.FakeDriver();
|
|
19
|
-
let [uniqueSession] = await d1.createSession(null, null, {
|
|
20
|
-
alwaysMatch: { ..._lodash.default.cloneDeep(_helpers.W3C_PREFIXED_CAPS),
|
|
21
|
-
'appium:uniqueApp': true
|
|
22
|
-
},
|
|
23
|
-
firstMatch: [{}]
|
|
24
|
-
});
|
|
25
|
-
uniqueSession.should.be.a('string');
|
|
26
|
-
let d2 = new _lib.FakeDriver();
|
|
27
|
-
let otherSessionData = [d1.driverData];
|
|
28
|
-
|
|
29
|
-
try {
|
|
30
|
-
await d2.createSession(null, null, _lodash.default.cloneDeep(_helpers.W3C_CAPS), otherSessionData).should.eventually.be.rejectedWith(/unique/);
|
|
31
|
-
} finally {
|
|
32
|
-
await d1.deleteSession(uniqueSession);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
it('should start a new session when another non-unique session is running', async function () {
|
|
36
|
-
let d1 = new _lib.FakeDriver();
|
|
37
|
-
let [session1Id] = await d1.createSession(null, null, _lodash.default.cloneDeep(_helpers.W3C_CAPS));
|
|
38
|
-
session1Id.should.be.a('string');
|
|
39
|
-
let d2 = new _lib.FakeDriver();
|
|
40
|
-
let [session2Id] = await d2.createSession(null, null, _lodash.default.cloneDeep(_helpers.W3C_CAPS));
|
|
41
|
-
session2Id.should.be.a('string');
|
|
42
|
-
session1Id.should.not.equal(session2Id);
|
|
43
|
-
await d1.deleteSession(session1Id);
|
|
44
|
-
await d2.deleteSession(session2Id);
|
|
45
|
-
});
|
|
46
|
-
});require('source-map-support').install();
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZHJpdmVyLXNwZWNzLmpzIl0sIm5hbWVzIjpbIkZha2VEcml2ZXIiLCJfIiwiY2xvbmVEZWVwIiwiVzNDX1BSRUZJWEVEX0NBUFMiLCJkZXNjcmliZSIsIml0IiwiZDEiLCJ1bmlxdWVTZXNzaW9uIiwiY3JlYXRlU2Vzc2lvbiIsImFsd2F5c01hdGNoIiwiZmlyc3RNYXRjaCIsInNob3VsZCIsImJlIiwiYSIsImQyIiwib3RoZXJTZXNzaW9uRGF0YSIsImRyaXZlckRhdGEiLCJXM0NfQ0FQUyIsImV2ZW50dWFsbHkiLCJyZWplY3RlZFdpdGgiLCJkZWxldGVTZXNzaW9uIiwic2Vzc2lvbjFJZCIsInNlc3Npb24ySWQiLCJub3QiLCJlcXVhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUEscUNBQW9CQSxlQUFwQixFQUFnQ0MsZ0JBQUVDLFNBQUYsQ0FBWUMsMEJBQVosQ0FBaEM7QUFFQUMsUUFBUSxDQUFDLFlBQUQsRUFBZSxZQUFZO0FBQ2pDQyxFQUFBQSxFQUFFLENBQUMscUVBQUQsRUFBd0Usa0JBQWtCO0FBQzFGLFFBQUlDLEVBQUUsR0FBRyxJQUFJTixlQUFKLEVBQVQ7QUFDQSxRQUFJLENBQUNPLGFBQUQsSUFBa0IsTUFBTUQsRUFBRSxDQUFDRSxhQUFILENBQWlCLElBQWpCLEVBQXVCLElBQXZCLEVBQTZCO0FBQ3ZEQyxNQUFBQSxXQUFXLEVBQUUsRUFBRSxHQUFHUixnQkFBRUMsU0FBRixDQUFZQywwQkFBWixDQUFMO0FBQXFDLDRCQUFvQjtBQUF6RCxPQUQwQztBQUV2RE8sTUFBQUEsVUFBVSxFQUFFLENBQUMsRUFBRDtBQUYyQyxLQUE3QixDQUE1QjtBQUlBSCxJQUFBQSxhQUFhLENBQUNJLE1BQWQsQ0FBcUJDLEVBQXJCLENBQXdCQyxDQUF4QixDQUEwQixRQUExQjtBQUNBLFFBQUlDLEVBQUUsR0FBRyxJQUFJZCxlQUFKLEVBQVQ7QUFDQSxRQUFJZSxnQkFBZ0IsR0FBRyxDQUFDVCxFQUFFLENBQUNVLFVBQUosQ0FBdkI7O0FBQ0EsUUFBSTtBQUNGLFlBQU1GLEVBQUUsQ0FDTE4sYUFERyxDQUVGLElBRkUsRUFHRixJQUhFLEVBSUZQLGdCQUFFQyxTQUFGLENBQVllLGlCQUFaLENBSkUsRUFLRkYsZ0JBTEUsRUFPSEosTUFQRyxDQU9JTyxVQVBKLENBT2VOLEVBUGYsQ0FPa0JPLFlBUGxCLENBTytCLFFBUC9CLENBQU47QUFRRCxLQVRELFNBU1U7QUFDUixZQUFNYixFQUFFLENBQUNjLGFBQUgsQ0FBaUJiLGFBQWpCLENBQU47QUFDRDtBQUNGLEdBckJDLENBQUY7QUFzQkFGLEVBQUFBLEVBQUUsQ0FBQyx1RUFBRCxFQUEwRSxrQkFBa0I7QUFDNUYsUUFBSUMsRUFBRSxHQUFHLElBQUlOLGVBQUosRUFBVDtBQUNBLFFBQUksQ0FBQ3FCLFVBQUQsSUFBZSxNQUFNZixFQUFFLENBQUNFLGFBQUgsQ0FBaUIsSUFBakIsRUFBdUIsSUFBdkIsRUFBNkJQLGdCQUFFQyxTQUFGLENBQVllLGlCQUFaLENBQTdCLENBQXpCO0FBQ0FJLElBQUFBLFVBQVUsQ0FBQ1YsTUFBWCxDQUFrQkMsRUFBbEIsQ0FBcUJDLENBQXJCLENBQXVCLFFBQXZCO0FBQ0EsUUFBSUMsRUFBRSxHQUFHLElBQUlkLGVBQUosRUFBVDtBQUNBLFFBQUksQ0FBQ3NCLFVBQUQsSUFBZSxNQUFNUixFQUFFLENBQUNOLGFBQUgsQ0FBaUIsSUFBakIsRUFBdUIsSUFBdkIsRUFBNkJQLGdCQUFFQyxTQUFGLENBQVllLGlCQUFaLENBQTdCLENBQXpCO0FBQ0FLLElBQUFBLFVBQVUsQ0FBQ1gsTUFBWCxDQUFrQkMsRUFBbEIsQ0FBcUJDLENBQXJCLENBQXVCLFFBQXZCO0FBQ0FRLElBQUFBLFVBQVUsQ0FBQ1YsTUFBWCxDQUFrQlksR0FBbEIsQ0FBc0JDLEtBQXRCLENBQTRCRixVQUE1QjtBQUNBLFVBQU1oQixFQUFFLENBQUNjLGFBQUgsQ0FBaUJDLFVBQWpCLENBQU47QUFDQSxVQUFNUCxFQUFFLENBQUNNLGFBQUgsQ0FBaUJFLFVBQWpCLENBQU47QUFDRCxHQVZDLENBQUY7QUFXRCxDQWxDTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1vY2hhXG5cbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBGYWtlRHJpdmVyIH0gZnJvbSAnLi4vbGliJztcbmltcG9ydCB7IFczQ19DQVBTLCBXM0NfUFJFRklYRURfQ0FQUyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBiYXNlRHJpdmVyVW5pdFRlc3RzIH0gZnJvbSAnQGFwcGl1bS9iYXNlLWRyaXZlci9idWlsZC90ZXN0L2Jhc2Vkcml2ZXInO1xuXG5cbi8vIHRlc3QgdGhlIHNhbWUgdGhpbmdzIGFzIGZvciBiYXNlIGRyaXZlclxuYmFzZURyaXZlclVuaXRUZXN0cyhGYWtlRHJpdmVyLCBfLmNsb25lRGVlcChXM0NfUFJFRklYRURfQ0FQUykpO1xuXG5kZXNjcmliZSgnRmFrZURyaXZlcicsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCBub3Qgc3RhcnQgYSBzZXNzaW9uIHdoZW4gYSB1bmlxdWUgc2Vzc2lvbiBpcyBhbHJlYWR5IHJ1bm5pbmcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGQxID0gbmV3IEZha2VEcml2ZXIoKTtcbiAgICBsZXQgW3VuaXF1ZVNlc3Npb25dID0gYXdhaXQgZDEuY3JlYXRlU2Vzc2lvbihudWxsLCBudWxsLCB7XG4gICAgICBhbHdheXNNYXRjaDogeyAuLi5fLmNsb25lRGVlcChXM0NfUFJFRklYRURfQ0FQUyksICdhcHBpdW06dW5pcXVlQXBwJzogdHJ1ZSB9LFxuICAgICAgZmlyc3RNYXRjaDogW3t9XSxcbiAgICB9KTtcbiAgICB1bmlxdWVTZXNzaW9uLnNob3VsZC5iZS5hKCdzdHJpbmcnKTtcbiAgICBsZXQgZDIgPSBuZXcgRmFrZURyaXZlcigpO1xuICAgIGxldCBvdGhlclNlc3Npb25EYXRhID0gW2QxLmRyaXZlckRhdGFdO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBkMlxuICAgICAgICAuY3JlYXRlU2Vzc2lvbihcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgXy5jbG9uZURlZXAoVzNDX0NBUFMpLFxuICAgICAgICAgIG90aGVyU2Vzc2lvbkRhdGEsXG4gICAgICAgIClcbiAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCgvdW5pcXVlLyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IGQxLmRlbGV0ZVNlc3Npb24odW5pcXVlU2Vzc2lvbik7XG4gICAgfVxuICB9KTtcbiAgaXQoJ3Nob3VsZCBzdGFydCBhIG5ldyBzZXNzaW9uIHdoZW4gYW5vdGhlciBub24tdW5pcXVlIHNlc3Npb24gaXMgcnVubmluZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZDEgPSBuZXcgRmFrZURyaXZlcigpO1xuICAgIGxldCBbc2Vzc2lvbjFJZF0gPSBhd2FpdCBkMS5jcmVhdGVTZXNzaW9uKG51bGwsIG51bGwsIF8uY2xvbmVEZWVwKFczQ19DQVBTKSk7XG4gICAgc2Vzc2lvbjFJZC5zaG91bGQuYmUuYSgnc3RyaW5nJyk7XG4gICAgbGV0IGQyID0gbmV3IEZha2VEcml2ZXIoKTtcbiAgICBsZXQgW3Nlc3Npb24ySWRdID0gYXdhaXQgZDIuY3JlYXRlU2Vzc2lvbihudWxsLCBudWxsLCBfLmNsb25lRGVlcChXM0NfQ0FQUykpO1xuICAgIHNlc3Npb24ySWQuc2hvdWxkLmJlLmEoJ3N0cmluZycpO1xuICAgIHNlc3Npb24xSWQuc2hvdWxkLm5vdC5lcXVhbChzZXNzaW9uMklkKTtcbiAgICBhd2FpdCBkMS5kZWxldGVTZXNzaW9uKHNlc3Npb24xSWQpO1xuICAgIGF3YWl0IGQyLmRlbGV0ZVNlc3Npb24oc2Vzc2lvbjJJZCk7XG4gIH0pO1xufSk7XG4iXSwiZmlsZSI6InRlc3QvZHJpdmVyLXNwZWNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
require("source-map-support/register");
|
|
11
|
-
|
|
12
|
-
var _chaiWebdriverioAsync = _interopRequireDefault(require("chai-webdriverio-async"));
|
|
13
|
-
|
|
14
|
-
var _helpers = require("./helpers");
|
|
15
|
-
|
|
16
|
-
function elementTests() {
|
|
17
|
-
describe('element interaction and introspection', function () {
|
|
18
|
-
let driver;
|
|
19
|
-
before(async function () {
|
|
20
|
-
driver = await (0, _helpers.initSession)(_helpers.W3C_PREFIXED_CAPS);
|
|
21
|
-
chai.use((0, _chaiWebdriverioAsync.default)(driver));
|
|
22
|
-
});
|
|
23
|
-
after(async function () {
|
|
24
|
-
return await (0, _helpers.deleteSession)(driver);
|
|
25
|
-
});
|
|
26
|
-
it('should not set value on an invalid element', async function () {
|
|
27
|
-
const el = await driver.$('//MockListItem');
|
|
28
|
-
await el.setValue('test value').should.eventually.be.rejectedWith(/invalid state/);
|
|
29
|
-
});
|
|
30
|
-
it('should set value on an element and retrieve text', async function () {
|
|
31
|
-
let el = await driver.$('//MockInputField');
|
|
32
|
-
await el.setValue('test value');
|
|
33
|
-
await el.should.have.text('test value');
|
|
34
|
-
});
|
|
35
|
-
it('should not clear an invalid element', async function () {
|
|
36
|
-
await (await driver.$('//MockListItem')).clearValue().should.eventually.be.rejectedWith(/invalid state/);
|
|
37
|
-
});
|
|
38
|
-
it('should clear an element', async function () {
|
|
39
|
-
let el = await driver.$('//MockInputField');
|
|
40
|
-
await el.setValue('test value');
|
|
41
|
-
await el.should.not.have.text('');
|
|
42
|
-
await el.clearValue();
|
|
43
|
-
await el.should.have.text('');
|
|
44
|
-
});
|
|
45
|
-
it('should not click an invisible element', async function () {
|
|
46
|
-
await (await driver.$('#Button1')).click().should.eventually.be.rejectedWith(/invalid state/);
|
|
47
|
-
});
|
|
48
|
-
it('should click an element and get its attributes', async function () {
|
|
49
|
-
let el = await driver.$('#Button2');
|
|
50
|
-
await el.click();
|
|
51
|
-
await el.click();
|
|
52
|
-
await el.click();
|
|
53
|
-
(await el.getAttribute('clicks')).should.equal(3);
|
|
54
|
-
});
|
|
55
|
-
it('should get the name of an element', async function () {
|
|
56
|
-
let el = await driver.$('MockInputField');
|
|
57
|
-
(await el.getTagName()).should.equal('MockInputField');
|
|
58
|
-
el = await driver.$('#wv');
|
|
59
|
-
(await el.getTagName()).should.equal('MockWebView');
|
|
60
|
-
});
|
|
61
|
-
it('should detect whether an element is displayed', async function () {
|
|
62
|
-
await driver.$('#Button1').should.not.be.displayed();
|
|
63
|
-
await driver.$('#Button2').should.be.displayed();
|
|
64
|
-
});
|
|
65
|
-
it('should detect whether an element is enabled', async function () {
|
|
66
|
-
await driver.$('#Button1').should.not.be.enabled();
|
|
67
|
-
await driver.$('#Button2').should.be.enabled();
|
|
68
|
-
});
|
|
69
|
-
it('should detect whether an element is selected', async function () {
|
|
70
|
-
await driver.$('#Button1').should.not.be.selected();
|
|
71
|
-
await driver.$('#Button2').should.be.selected();
|
|
72
|
-
});
|
|
73
|
-
it('should get the rect of an element', async function () {
|
|
74
|
-
let {
|
|
75
|
-
elementId
|
|
76
|
-
} = await driver.$('#nav');
|
|
77
|
-
(await driver.getElementRect(elementId)).should.eql({
|
|
78
|
-
x: 1,
|
|
79
|
-
y: 1,
|
|
80
|
-
width: 100,
|
|
81
|
-
height: 100
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
it('should get the rect of an element with float vals', async function () {
|
|
85
|
-
let {
|
|
86
|
-
elementId
|
|
87
|
-
} = await driver.$('#lv');
|
|
88
|
-
(await driver.getElementRect(elementId)).should.eql({
|
|
89
|
-
x: 20.8,
|
|
90
|
-
y: 15.3,
|
|
91
|
-
height: 2,
|
|
92
|
-
width: 30.5
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
it('should determine element equality', async function () {
|
|
96
|
-
let el1 = await driver.$('#wv');
|
|
97
|
-
let el2 = await driver.$('#wv');
|
|
98
|
-
(await el1.isEqual(el2)).should.equal(true);
|
|
99
|
-
});
|
|
100
|
-
it('should determine element inequality', async function () {
|
|
101
|
-
let el1 = await driver.$('#wv');
|
|
102
|
-
let el2 = await driver.$('#lv');
|
|
103
|
-
(await el1.isEqual(el2)).should.equal(false);
|
|
104
|
-
});
|
|
105
|
-
it('should not get the css property of an element when not in a webview', async function () {
|
|
106
|
-
const {
|
|
107
|
-
elementId
|
|
108
|
-
} = await driver.$('#Button1');
|
|
109
|
-
await driver.getElementCSSValue(elementId, 'height').should.eventually.be.rejectedWith({
|
|
110
|
-
code: 36
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
it('should get the css property of an element when in a webview', async function () {
|
|
114
|
-
await driver.switchContext('WEBVIEW_1');
|
|
115
|
-
let {
|
|
116
|
-
elementId
|
|
117
|
-
} = await driver.$('body');
|
|
118
|
-
(await driver.getElementCSSValue(elementId, 'background-color')).should.equal('#000');
|
|
119
|
-
});
|
|
120
|
-
it('should return null for an unspecified css property', async function () {
|
|
121
|
-
let {
|
|
122
|
-
elementId
|
|
123
|
-
} = await driver.$('body');
|
|
124
|
-
should.equal(await driver.getElementCSSValue(elementId, 'font-size'), null);
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
var _default = elementTests;
|
|
130
|
-
exports.default = _default;require('source-map-support').install();
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZWxlbWVudC1pbnRlcmFjdGlvbi10ZXN0cy5qcyJdLCJuYW1lcyI6WyJlbGVtZW50VGVzdHMiLCJkZXNjcmliZSIsImRyaXZlciIsImJlZm9yZSIsIlczQ19QUkVGSVhFRF9DQVBTIiwiY2hhaSIsInVzZSIsImFmdGVyIiwiaXQiLCJlbCIsIiQiLCJzZXRWYWx1ZSIsInNob3VsZCIsImV2ZW50dWFsbHkiLCJiZSIsInJlamVjdGVkV2l0aCIsImhhdmUiLCJ0ZXh0IiwiY2xlYXJWYWx1ZSIsIm5vdCIsImNsaWNrIiwiZ2V0QXR0cmlidXRlIiwiZXF1YWwiLCJnZXRUYWdOYW1lIiwiZGlzcGxheWVkIiwiZW5hYmxlZCIsInNlbGVjdGVkIiwiZWxlbWVudElkIiwiZ2V0RWxlbWVudFJlY3QiLCJlcWwiLCJ4IiwieSIsIndpZHRoIiwiaGVpZ2h0IiwiZWwxIiwiZWwyIiwiaXNFcXVhbCIsImdldEVsZW1lbnRDU1NWYWx1ZSIsImNvZGUiLCJzd2l0Y2hDb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUVBLFNBQVNBLFlBQVQsR0FBeUI7QUFDdkJDLEVBQUFBLFFBQVEsQ0FBQyx1Q0FBRCxFQUEwQyxZQUFZO0FBQzVELFFBQUlDLE1BQUo7QUFDQUMsSUFBQUEsTUFBTSxDQUFFLGtCQUFrQjtBQUN4QkQsTUFBQUEsTUFBTSxHQUFHLE1BQU0sMEJBQVlFLDBCQUFaLENBQWY7QUFDQUMsTUFBQUEsSUFBSSxDQUFDQyxHQUFMLENBQVMsbUNBQXFCSixNQUFyQixDQUFUO0FBQ0QsS0FISyxDQUFOO0FBSUFLLElBQUFBLEtBQUssQ0FBQyxrQkFBa0I7QUFDdEIsYUFBTyxNQUFNLDRCQUFjTCxNQUFkLENBQWI7QUFDRCxLQUZJLENBQUw7QUFJQU0sSUFBQUEsRUFBRSxDQUFDLDRDQUFELEVBQStDLGtCQUFrQjtBQUNqRSxZQUFNQyxFQUFFLEdBQUcsTUFBTVAsTUFBTSxDQUFDUSxDQUFQLENBQVMsZ0JBQVQsQ0FBakI7QUFDQSxZ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RUFBd0Usa0JBQWtCO0FBQzFGLFlBQU07QUFBQ21CLFFBQUFBO0FBQUQsVUFBYyxNQUFNekIsTUFBTSxDQUFDUSxDQUFQLENBQVMsVUFBVCxDQUExQjtBQUNBLFlBQU1SLE1BQU0sQ0FBQ21DLGtCQUFQLENBQTBCVixTQUExQixFQUFxQyxRQUFyQyxFQUErQ2YsTUFBL0MsQ0FBc0RDLFVBQXRELENBQWlFQyxFQUFqRSxDQUFvRUMsWUFBcEUsQ0FBaUY7QUFBQ3VCLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQWpGLENBQU47QUFDRCxLQUhDLENBQUY7QUFJQTlCLElBQUFBLEVBQUUsQ0FBQyw2REFBRCxFQUFnRSxrQkFBa0I7QUFDbEYsWUFBTU4sTUFBTSxDQUFDcUMsYUFBUCxDQUFxQixXQUFyQixDQUFOO0FBQ0EsVUFBSTtBQUFDWixRQUFBQTtBQUFELFVBQWMsTUFBTXpCLE1BQU0sQ0FBQ1EsQ0FBUCxDQUFTLE1BQVQsQ0FBeEI7QUFDQSxPQUFDLE1BQU1SLE1BQU0sQ0FBQ21DLGtCQUFQLENBQTBCVixTQUExQixFQUFxQyxrQkFBckMsQ0FBUCxFQUFpRWYsTUFBakUsQ0FBd0VVLEtBQXhFLENBQThFLE1BQTlFO0FBQ0QsS0FKQyxDQUFGO0FBS0FkLElBQUFBLEVBQUUsQ0FBQyxvREFBRCxFQUF1RCxrQkFBa0I7QUFDekUsVUFBSTtBQUFDbUIsUUFBQUE7QUFBRCxVQUFjLE1BQU16QixNQUFNLENBQUNRLENBQVAsQ0FBUyxNQUFULENBQXhCO0FBQ0FFLE1BQUFBLE1BQU0sQ0FBQ1UsS0FBUCxDQUFhLE1BQU1wQixNQUFNLENBQUNtQyxrQkFBUCxDQUEwQlYsU0FBMUIsRUFBcUMsV0FBckMsQ0FBbkIsRUFBc0UsSUFBdEU7QUFDRCxLQUhDLENBQUY7QUFJRCxHQTNGTyxDQUFSO0FBNEZEOztlQUVjM0IsWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFpV2ViZHJpdmVySU9Bc3luYyBmcm9tICdjaGFpLXdlYmRyaXZlcmlvLWFzeW5jJztcblxuaW1wb3J0IHsgaW5pdFNlc3Npb24sIGRlbGV0ZVNlc3Npb24sIFczQ19QUkVGSVhFRF9DQVBTIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuZnVuY3Rpb24gZWxlbWVudFRlc3RzICgpIHtcbiAgZGVzY3JpYmUoJ2VsZW1lbnQgaW50ZXJhY3Rpb24gYW5kIGludHJvc3BlY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGRyaXZlcjtcbiAgICBiZWZvcmUgKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGRyaXZlciA9IGF3YWl0IGluaXRTZXNzaW9uKFczQ19QUkVGSVhFRF9DQVBTKTtcbiAgICAgIGNoYWkudXNlKGNoYWlXZWJkcml2ZXJJT0FzeW5jKGRyaXZlcikpO1xuICAgIH0pO1xuICAgIGFmdGVyKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBhd2FpdCBkZWxldGVTZXNzaW9uKGRyaXZlcik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBzZXQgdmFsdWUgb24gYW4gaW52YWxpZCBlbGVtZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZWwgPSBhd2FpdCBkcml2ZXIuJCgnLy9Nb2NrTGlzdEl0ZW0nKTtcbiAgICAgIGF3YWl0IGVsLnNldFZhbHVlKCd0ZXN0IHZhbHVlJykuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC9pbnZhbGlkIHN0YXRlLyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBzZXQgdmFsdWUgb24gYW4gZWxlbWVudCBhbmQgcmV0cmlldmUgdGV4dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBlbCA9IGF3YWl0IGRyaXZlci4kKCcvL01vY2tJbnB1dEZpZWxkJyk7XG4gICAgICBhd2FpdCBlbC5zZXRWYWx1ZSgndGVzdCB2YWx1ZScpO1xuICAgICAgYXdhaXQgZWwuc2hvdWxkLmhhdmUudGV4dCgndGVzdCB2YWx1ZScpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IGNsZWFyIGFuIGludmFsaWQgZWxlbWVudCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IChhd2FpdCBkcml2ZXIuJCgnLy9Nb2NrTGlzdEl0ZW0nKSkuY2xlYXJWYWx1ZSgpXG4gICAgICAgICAgICAgIC5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZFdpdGgoL2ludmFsaWQgc3RhdGUvKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGNsZWFyIGFuIGVsZW1lbnQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBsZXQgZWwgPSBhd2FpdCBkcml2ZXIuJCgnLy9Nb2NrSW5wdXRGaWVsZCcpO1xuICAgICAgYXdhaXQgZWwuc2V0VmFsdWUoJ3Rlc3QgdmFsdWUnKTtcbiAgICAgIGF3YWl0IGVsLnNob3VsZC5ub3QuaGF2ZS50ZXh0KCcnKTtcbiAgICAgIGF3YWl0IGVsLmNsZWFyVmFsdWUoKTtcbiAgICAgIGF3YWl0IGVsLnNob3VsZC5oYXZlLnRleHQoJycpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IGNsaWNrIGFuIGludmlzaWJsZSBlbGVtZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgKGF3YWl0IGRyaXZlci4kKCcjQnV0dG9uMScpKS5jbGljaygpXG4gICAgICAgICAgICAgIC5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZFdpdGgoL2ludmFsaWQgc3RhdGUvKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGNsaWNrIGFuIGVsZW1lbnQgYW5kIGdldCBpdHMgYXR0cmlidXRlcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBlbCA9IGF3YWl0IGRyaXZlci4kKCcjQnV0dG9uMicpO1xuICAgICAgYXdhaXQgZWwuY2xpY2soKTtcbiAgICAgIGF3YWl0IGVsLmNsaWNrKCk7XG4gICAgICBhd2FpdCBlbC5jbGljaygpO1xuICAgICAgKGF3YWl0IGVsLmdldEF0dHJpYnV0ZSgnY2xpY2tzJykpLnNob3VsZC5lcXVhbCgzKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGdldCB0aGUgbmFtZSBvZiBhbiBlbGVtZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IGVsID0gYXdhaXQgZHJpdmVyLiQoJ01vY2tJbnB1dEZpZWxkJyk7XG4gICAgICAoYXdhaXQgZWwuZ2V0VGFnTmFtZSgpKS5zaG91bGQuZXF1YWwoJ01vY2tJbnB1dEZpZWxkJyk7XG4gICAgICBlbCA9IGF3YWl0IGRyaXZlci4kKCcjd3YnKTtcbiAgICAgIChhd2FpdCBlbC5nZXRUYWdOYW1lKCkpLnNob3VsZC5lcXVhbCgnTW9ja1dlYlZpZXcnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGRldGVjdCB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgZGlzcGxheWVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLiQoJyNCdXR0b24xJykuc2hvdWxkLm5vdC5iZS5kaXNwbGF5ZWQoKTtcbiAgICAgIGF3YWl0IGRyaXZlci4kKCcjQnV0dG9uMicpLnNob3VsZC5iZS5kaXNwbGF5ZWQoKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGRldGVjdCB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgZW5hYmxlZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci4kKCcjQnV0dG9uMScpLnNob3VsZC5ub3QuYmUuZW5hYmxlZCgpO1xuICAgICAgYXdhaXQgZHJpdmVyLiQoJyNCdXR0b24yJykuc2hvdWxkLmJlLmVuYWJsZWQoKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGRldGVjdCB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgc2VsZWN0ZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuJCgnI0J1dHRvbjEnKS5zaG91bGQubm90LmJlLnNlbGVjdGVkKCk7XG4gICAgICBhd2FpdCBkcml2ZXIuJCgnI0J1dHRvbjInKS5zaG91bGQuYmUuc2VsZWN0ZWQoKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGdldCB0aGUgcmVjdCBvZiBhbiBlbGVtZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IHtlbGVtZW50SWR9ID0gYXdhaXQgZHJpdmVyLiQoJyNuYXYnKTtcbiAgICAgIChhd2FpdCBkcml2ZXIuZ2V0RWxlbWVudFJlY3QoZWxlbWVudElkKSkuc2hvdWxkLmVxbCh7eDogMSwgeTogMSwgd2lkdGg6IDEwMCwgaGVpZ2h0OiAxMDB9KTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGdldCB0aGUgcmVjdCBvZiBhbiBlbGVtZW50IHdpdGggZmxvYXQgdmFscycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCB7ZWxlbWVudElkfSA9IGF3YWl0IGRyaXZlci4kKCcjbHYnKTtcbiAgICAgIChhd2FpdCBkcml2ZXIuZ2V0RWxlbWVudFJlY3QoZWxlbWVudElkKSkuc2hvdWxkLmVxbCh7eDogMjAuOCwgeTogMTUuMywgaGVpZ2h0OiAyLCB3aWR0aDogMzAuNX0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZGV0ZXJtaW5lIGVsZW1lbnQgZXF1YWxpdHknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBsZXQgZWwxID0gYXdhaXQgZHJpdmVyLiQoJyN3dicpO1xuICAgICAgbGV0IGVsMiA9IGF3YWl0IGRyaXZlci4kKCcjd3YnKTtcbiAgICAgIChhd2FpdCBlbDEuaXNFcXVhbChlbDIpKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBkZXRlcm1pbmUgZWxlbWVudCBpbmVxdWFsaXR5JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IGVsMSA9IGF3YWl0IGRyaXZlci4kKCcjd3YnKTtcbiAgICAgIGxldCBlbDIgPSBhd2FpdCBkcml2ZXIuJCgnI2x2Jyk7XG4gICAgICAoYXdhaXQgZWwxLmlzRXF1YWwoZWwyKSkuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IGdldCB0aGUgY3NzIHByb3BlcnR5IG9mIGFuIGVsZW1lbnQgd2hlbiBub3QgaW4gYSB3ZWJ2aWV3JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qge2VsZW1lbnRJZH0gPSBhd2FpdCBkcml2ZXIuJCgnI0J1dHRvbjEnKTtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRFbGVtZW50Q1NTVmFsdWUoZWxlbWVudElkLCAnaGVpZ2h0Jykuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKHtjb2RlOiAzNn0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZ2V0IHRoZSBjc3MgcHJvcGVydHkgb2YgYW4gZWxlbWVudCB3aGVuIGluIGEgd2VidmlldycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5zd2l0Y2hDb250ZXh0KCdXRUJWSUVXXzEnKTtcbiAgICAgIGxldCB7ZWxlbWVudElkfSA9IGF3YWl0IGRyaXZlci4kKCdib2R5Jyk7XG4gICAgICAoYXdhaXQgZHJpdmVyLmdldEVsZW1lbnRDU1NWYWx1ZShlbGVtZW50SWQsICdiYWNrZ3JvdW5kLWNvbG9yJykpLnNob3VsZC5lcXVhbCgnIzAwMCcpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgZm9yIGFuIHVuc3BlY2lmaWVkIGNzcyBwcm9wZXJ0eScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCB7ZWxlbWVudElkfSA9IGF3YWl0IGRyaXZlci4kKCdib2R5Jyk7XG4gICAgICBzaG91bGQuZXF1YWwoYXdhaXQgZHJpdmVyLmdldEVsZW1lbnRDU1NWYWx1ZShlbGVtZW50SWQsICdmb250LXNpemUnKSwgbnVsbCk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBlbGVtZW50VGVzdHM7XG4iXSwiZmlsZSI6InRlc3QvZWxlbWVudC1pbnRlcmFjdGlvbi10ZXN0cy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
|