@appium/base-plugin 1.7.0 → 1.8.1
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/README.md +16 -8
- package/build/index.js +1 -1
- package/build/lib/plugin.js +10 -3
- package/build/test/helpers.js +38 -39
- package/build/test/unit/plugin-specs.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -0
- package/index.d.ts +22 -0
- package/lib/plugin.js +10 -1
- package/package.json +10 -4
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ Appium plugins are Node.js programs, though of course you can call out to any ot
|
|
|
24
24
|
Here the `pluginName` is the name used to activate your plugin by users who have installed it. So if your `pluginName` is `cool-plugin`, they would activate it as follows:
|
|
25
25
|
|
|
26
26
|
```
|
|
27
|
-
appium --plugins=cool-plugin
|
|
27
|
+
appium --use-plugins=cool-plugin
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
The same goes for updating and removing the plugin using the CLI.
|
|
@@ -93,17 +93,25 @@ You might find yourself in a position where you want to handle *all* commands, i
|
|
|
93
93
|
1. `cmdName` - string representing the command being run
|
|
94
94
|
1. `...args`
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
### Adding new routes/commands
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
2. `route` - string denoting the requested resource, for example `/session/8b3d9aa8-a0ca-47b9-9ab7-446e818ec4fc/source`
|
|
100
|
-
3. `body` - optional value of any type representing the WebDriver request body
|
|
98
|
+
You might decide that you want to add some new routes or commands to the Appium server, which could be called by clients. To do this, you should assign the static `newMethodMap` class variable to an object containing a set of routes and command names and arguments. The format of this object should exactly match the format of the `METHOD_MAP` object in Appium's [routes definition](https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js). Of course, just adding commands here does not implement them: you will also need to check for any new command names in your `handle` method to handle them, since by default there will be no implementation of commands added via `newMethodMap`.
|
|
101
99
|
|
|
102
|
-
|
|
100
|
+
Note that the information about avoiding proxying above also applies to new commands that you've added. But to make life easy, instead of implementing `shouldAvoidProxy` for these cases, you can simply add the `neverProxy: true` field to your command specifier (see examples in the Fake Plugin class).
|
|
103
101
|
|
|
104
|
-
###
|
|
102
|
+
### Unexpected session shutdown
|
|
105
103
|
|
|
106
|
-
|
|
104
|
+
When developing a plugin you may want to add some cleanup logic by handling `deleteSession`. This works in most cases, except when the session does not finish cleanly. Appium sometimes determines that a session has finished unexpectedly, and in these situations, Appium will look for a method called `onUnexpectedShutdown` in your plugin class, which will be called (passing the current session driver as the first parameter, and the error object representing the cause of the shutdown as the second), giving you an opportunity to take any steps that might be necessary to clean up from the session. For example, keeping in mind that the function is not `await`ed you could implement something like this:
|
|
105
|
+
|
|
106
|
+
```js
|
|
107
|
+
async onUnexpectedShutdown(driver, cause) {
|
|
108
|
+
try {
|
|
109
|
+
// do some cleanup
|
|
110
|
+
} catch (e) {
|
|
111
|
+
// log any errors; don't allow anything to be thrown as they will be unhandled rejections
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
|
107
115
|
|
|
108
116
|
## Tips
|
|
109
117
|
|
package/build/index.js
CHANGED
|
@@ -5,4 +5,4 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const plugin_1 = __importDefault(require("./lib/plugin"));
|
|
7
7
|
exports.default = plugin_1.default;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDBEQUFzQztBQUN0QyxrQkFBZSxnQkFBVSxDQUFDIn0=
|
package/build/lib/plugin.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const support_1 = require("@appium/support");
|
|
4
4
|
class BasePlugin {
|
|
5
5
|
constructor(pluginName, opts = {}) {
|
|
6
6
|
this.name = pluginName;
|
|
7
|
-
this.logger =
|
|
7
|
+
this.logger = support_1.logger.getLogger(`Plugin [${pluginName}]`);
|
|
8
8
|
// allow for args to be used by plugins
|
|
9
9
|
this.opts = opts;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Override to return a validator object used to validate CLI args passed into appium as
|
|
13
|
+
* --plugin-args='{"yourPluginName": {"argName": argVal, ...}}'
|
|
14
|
+
*/
|
|
15
|
+
static get argsConstraints() {
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
11
18
|
}
|
|
12
19
|
exports.default = BasePlugin;
|
|
13
20
|
// plugins can define new methods for the Appium server to map to command names, of the same
|
|
@@ -20,4 +27,4 @@ exports.default = BasePlugin;
|
|
|
20
27
|
// }
|
|
21
28
|
// }
|
|
22
29
|
BasePlugin.newMethodMap = {};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3BsdWdpbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUF5QztBQUd6QyxNQUFxQixVQUFVO0lBYTdCLFlBQWEsVUFBVSxFQUFFLElBQUksR0FBRyxFQUFFO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBRXpELHVDQUF1QztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsTUFBTSxLQUFLLGVBQWU7UUFDeEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztBQTVCSCw2QkE2RUM7QUEzRUMsNEZBQTRGO0FBQzVGLHlGQUF5RjtBQUN6RixFQUFFO0FBQ0YsSUFBSTtBQUNKLHdDQUF3QztBQUN4QyxzQ0FBc0M7QUFDdEMsZ0ZBQWdGO0FBQ2hGLE1BQU07QUFDTixJQUFJO0FBQ0csdUJBQVksR0FBRyxFQUFFLENBQUMifQ==
|
package/build/test/helpers.js
CHANGED
|
@@ -1,58 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
4
|
};
|
|
11
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
6
|
exports.e2eSetup = void 0;
|
|
13
7
|
/* eslint-disable no-console */
|
|
14
8
|
const teen_process_1 = require("teen_process");
|
|
15
9
|
const appium_1 = require("appium");
|
|
10
|
+
const get_port_1 = __importDefault(require("get-port"));
|
|
16
11
|
function e2eSetup(opts = {}) {
|
|
17
|
-
let { before, after, server,
|
|
18
|
-
before(function () {
|
|
12
|
+
let { before, after, server, serverArgs = {}, driverSource, driverPackage, driverName, driverSpec, pluginSource, pluginPackage, pluginSpec, pluginName, port, host, } = opts;
|
|
13
|
+
before(async function () {
|
|
19
14
|
var _a, _b;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
driverArgs.push('--package', driverPackage);
|
|
30
|
-
}
|
|
31
|
-
yield teen_process_1.exec('npx', driverArgs);
|
|
15
|
+
console.log('Checking whether driver dep is installed');
|
|
16
|
+
let listArgs = ['appium', 'driver', 'list', '--json'];
|
|
17
|
+
let { stdout } = await (0, teen_process_1.exec)('npx', listArgs);
|
|
18
|
+
let installed = JSON.parse(stdout);
|
|
19
|
+
if (!((_a = installed[driverName]) === null || _a === void 0 ? void 0 : _a.installed)) {
|
|
20
|
+
console.log('Not installed, installing...');
|
|
21
|
+
const driverArgs = ['appium', 'driver', 'install', '--source', driverSource, driverSpec];
|
|
22
|
+
if (driverPackage) {
|
|
23
|
+
driverArgs.push('--package', driverPackage);
|
|
32
24
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
25
|
+
await (0, teen_process_1.exec)('npx', driverArgs);
|
|
26
|
+
}
|
|
27
|
+
console.log('Driver dep is installed');
|
|
28
|
+
console.log('Checking whether plugin is installed');
|
|
29
|
+
listArgs = ['appium', 'plugin', 'list', '--json'];
|
|
30
|
+
({ stdout } = await (0, teen_process_1.exec)('npx', listArgs));
|
|
31
|
+
installed = JSON.parse(stdout);
|
|
32
|
+
if (!((_b = installed[pluginName]) === null || _b === void 0 ? void 0 : _b.installed)) {
|
|
33
|
+
console.log('Installing the local version of this plugin');
|
|
34
|
+
const pluginArgs = ['appium', 'plugin', 'install', '--source', pluginSource, pluginSpec];
|
|
35
|
+
if (pluginPackage) {
|
|
36
|
+
pluginArgs.push('--package', pluginPackage);
|
|
45
37
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
await (0, teen_process_1.exec)('npx', pluginArgs);
|
|
39
|
+
}
|
|
40
|
+
console.log('This plugin is installed');
|
|
41
|
+
if (!port) {
|
|
42
|
+
port = await (0, get_port_1.default)();
|
|
43
|
+
}
|
|
44
|
+
console.log(`Will use port ${port} for Appium server`);
|
|
45
|
+
this.port = port;
|
|
46
|
+
const args = { port, host, usePlugins: [pluginName], useDrivers: [driverName], ...serverArgs };
|
|
47
|
+
server = await (0, appium_1.main)(args);
|
|
50
48
|
});
|
|
51
49
|
after(function () {
|
|
52
50
|
if (server) {
|
|
53
51
|
server.close();
|
|
54
52
|
}
|
|
55
53
|
});
|
|
54
|
+
return port;
|
|
56
55
|
}
|
|
57
56
|
exports.e2eSetup = e2eSetup;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvaGVscGVycy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsK0NBQW9DO0FBQ3BDLG1DQUE4QztBQUM5Qyx3REFBK0I7QUFFL0IsU0FBUyxRQUFRLENBQUUsSUFBSSxHQUFHLEVBQUU7SUFDMUIsSUFBSSxFQUNGLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFVBQVUsR0FBRyxFQUFFLEVBQ2YsWUFBWSxFQUNaLGFBQWEsRUFDYixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixhQUFhLEVBQ2IsVUFBVSxFQUNWLFVBQVUsRUFDVixJQUFJLEVBQ0osSUFBSSxHQUNMLEdBQUcsSUFBSSxDQUFDO0lBRVQsTUFBTSxDQUFDLEtBQUs7O1FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3hELElBQUksUUFBUSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEQsSUFBSSxFQUFDLE1BQU0sRUFBQyxHQUFHLE1BQU0sSUFBQSxtQkFBSSxFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxDQUFBLE1BQUEsU0FBUyxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxTQUFTLENBQUEsRUFBRTtZQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDNUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3pGLElBQUksYUFBYSxFQUFFO2dCQUNqQixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQzthQUM3QztZQUNELE1BQU0sSUFBQSxtQkFBSSxFQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvQjtRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUV2QyxPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDcEQsUUFBUSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxFQUFDLE1BQU0sRUFBQyxHQUFHLE1BQU0sSUFBQSxtQkFBSSxFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxDQUFBLE1BQUEsU0FBUyxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxTQUFTLENBQUEsRUFBRTtZQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDM0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3pGLElBQUksYUFBYSxFQUFFO2dCQUNqQixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQzthQUM3QztZQUNELE1BQU0sSUFBQSxtQkFBSSxFQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvQjtRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsSUFBSSxHQUFHLE1BQU0sSUFBQSxrQkFBTyxHQUFFLENBQUM7U0FDeEI7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLG9CQUFvQixDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFakIsTUFBTSxJQUFJLEdBQUcsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFDLENBQUM7UUFDN0YsTUFBTSxHQUFHLE1BQU0sSUFBQSxhQUFZLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxLQUFLLENBQUM7UUFDSixJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRVEsNEJBQVEifQ==
|
|
@@ -27,4 +27,4 @@ describe('base plugin', function () {
|
|
|
27
27
|
index_1.default.newMethodMap.should.eql({});
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXNwZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L3BsdWdpbi1zcGVjcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdEQUFxQztBQUNyQyxnREFBd0I7QUFDeEIsd0VBQThDO0FBRTlDLGNBQUksQ0FBQyxHQUFHLENBQUMsMEJBQWMsQ0FBQyxDQUFDO0FBQ3pCLE1BQU0sTUFBTSxHQUFHLGNBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUU3QixRQUFRLENBQUMsYUFBYSxFQUFFO0lBQ3RCLEVBQUUsQ0FBQyxjQUFjLEVBQUU7UUFDakIsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFVLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyx3QkFBd0IsRUFBRTtRQUMzQixNQUFNLENBQUMsR0FBRyxJQUFJLGVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDSCxFQUFFLENBQUMsd0JBQXdCLEVBQUU7UUFDM0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxlQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDSCxFQUFFLENBQUMsdUNBQXVDLEVBQUU7UUFDMUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxDQUFDLGdEQUFnRCxFQUFFO1FBQ25ELGVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.full.d.ts","../lib/plugin.js","../index.js","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/get-port/index.d.ts","../test/helpers.js","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/mime/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/express/index.d.ts","../node_modules/@appium/base-driver/index.d.ts","../index.d.ts","../test/unit/plugin-specs.js","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"927cb2b60048e1395b183bf74b2b80a75bdb1dbe384e1d9fac654313ea2fb136","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"32b8443be144970b813b9dd72dcdba2059fbdfdae4d3a50c4d8a158ed6057bbe","f40aa283e0a0cf8a58f14f3e0e02898525c22eb775fec19e5075d0feb90dc870","eafec70558f3e7190a65f6ebe79b8fd52d10d3a636497bb6eccb2c4372694d76","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"2a801b0322994c3dd7f0ef30265d19b3dd3bae6d793596879166ed6219c3da68","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","bcc8caf03ee65fe8610d258752f255fbdddbb2e4de7b6c5628956a5a0d859ec8","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"c28e5baab1b53377c90d12970e207a2644bc3627840066449e37e2a59125d07e","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"cfe724f7c694aab65a9bdd1acb05997848c504548c9d4c71645c187a091cfa2a","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7","1835259a20b9fa6b1882931375b69ae5978195f2b139b4e0db51ec8319261649","b52cd693219a63dd21282ac99a7bf55f77cbe8a91f097968856419cc2e05f017","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"0b3eba6dca8c6e534d16ef7b7d76cb546cd3cbab616c8f71daa0a151b5412b9e","58ca66ecec099ab769ce4fef62f4cc93718d93c9d0d4b67dfa7ba20c9a7c50ed","95e62a7d0eecdc675c553200e2bf8738d6b8875e94eeb62256ff78f776231efe","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","ca2b0e915cf19c63c1398f6e1c43eba4300186469f12db857bb19d150d1d64de","951da31b03c64b86883e39585ae377374b2e69b5d6d63d16bb6efe262cbd46da","e431f998865d256fdd79bf54145a59c7ae39b374768387f8ac5fbd087ba517c7",{"version":"e8bf92aabac2b11e1bf60a0161039cd6f5f0cd9713863ca2289dd7b10eddece8","affectsGlobalScope":true}],"options":{"declaration":false,"esModuleInterop":true,"inlineSourceMap":true,"module":1,"outDir":"./","target":5},"fileIdsList":[[89],[64,89,106,107],[44,89],[64,89,96,104],[64,89,96],[61,64,89,96,99,100],[89,100,101,103,105],[46,89],[49,89],[50,55,89],[51,61,62,69,78,88,89],[51,52,61,69,89],[53,89],[54,55,62,70,89],[55,78,85,89],[56,58,61,69,89],[57,89],[58,59,89],[60,61,89],[61,89],[61,62,63,78,88,89],[61,62,63,78,89],[64,69,78,88,89],[61,62,64,65,69,78,85,88,89],[64,66,78,85,88,89],[46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],[61,67,89],[68,88,89],[58,61,69,78,89],[70,89],[71,89],[49,72,89],[73,87,89,93],[74,89],[75,89],[61,76,89],[76,77,89,91],[61,78,79,80,89],[78,80,89],[78,79,89],[81,89],[82,89],[61,83,84,89],[83,84,89],[55,69,78,85,89],[86,89],[69,87,89],[50,64,75,88,89],[55,89],[78,89,90],[89,91],[89,92],[50,55,61,63,72,78,88,89,91,93],[78,89,94],[64,89,96,102],[69,89,96],[89,97],[89,108]],"referencedMap":[[110,1],[8,1],[9,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[43,1],[29,1],[30,1],[31,1],[32,1],[6,1],[33,1],[34,1],[35,1],[36,1],[7,1],[41,1],[37,1],[38,1],[39,1],[40,1],[1,1],[42,1],[11,1],[10,1],[108,2],[45,3],[44,1],[107,1],[105,4],[104,5],[101,6],[106,7],[102,1],[46,8],[47,8],[49,9],[50,10],[51,11],[52,12],[53,13],[54,14],[55,15],[56,16],[57,17],[58,18],[59,18],[60,19],[61,20],[62,21],[63,22],[48,1],[95,1],[64,23],[65,24],[66,25],[96,26],[67,27],[68,28],[69,29],[70,30],[71,31],[72,32],[73,33],[74,34],[75,35],[76,36],[77,37],[78,38],[80,39],[79,40],[81,41],[82,42],[83,43],[84,44],[85,45],[86,46],[87,47],[88,48],[89,49],[90,50],[91,51],[92,52],[93,53],[94,54],[100,1],[99,1],[103,55],[97,56],[98,57],[109,58]],"exportedModulesMap":[[110,1],[8,1],[9,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[43,1],[29,1],[30,1],[31,1],[32,1],[6,1],[33,1],[34,1],[35,1],[36,1],[7,1],[41,1],[37,1],[38,1],[39,1],[40,1],[1,1],[42,1],[11,1],[10,1],[108,2],[45,3],[44,1],[107,1],[105,4],[104,5],[101,6],[106,7],[102,1],[46,8],[47,8],[49,9],[50,10],[51,11],[52,12],[53,13],[54,14],[55,15],[56,16],[57,17],[58,18],[59,18],[60,19],[61,20],[62,21],[63,22],[48,1],[95,1],[64,23],[65,24],[66,25],[96,26],[67,27],[68,28],[69,29],[70,30],[71,31],[72,32],[73,33],[74,34],[75,35],[76,36],[77,37],[78,38],[80,39],[79,40],[81,41],[82,42],[83,43],[84,44],[85,45],[86,46],[87,47],[88,48],[89,49],[90,50],[91,51],[92,52],[93,53],[94,54],[100,1],[99,1],[103,55],[97,56],[98,57],[109,58]],"semanticDiagnosticsPerFile":[110,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,43,29,30,31,32,6,33,34,35,36,7,41,37,38,39,40,1,42,11,10,108,45,44,107,105,104,101,106,102,46,47,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,48,95,64,65,66,96,67,68,69,70,71,72,73,74,75,76,77,78,80,79,81,82,83,84,85,86,87,88,89,90,91,92,93,94,100,99,103,97,98,109]},"version":"4.5.5"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Server } from 'http';
|
|
2
|
+
import type { Application } from 'express';
|
|
3
|
+
import type { BaseDriver } from '@appium/base-driver';
|
|
4
|
+
|
|
5
|
+
export default class BasePlugin {
|
|
6
|
+
static newMethodMap: {};
|
|
7
|
+
constructor(pluginName: string, opts?: {});
|
|
8
|
+
name: string;
|
|
9
|
+
logger: any;
|
|
10
|
+
opts: {};
|
|
11
|
+
|
|
12
|
+
static updateServer(expressApp: Application, httpServer: Server): Promise<void>;
|
|
13
|
+
|
|
14
|
+
handle(
|
|
15
|
+
next: () => Promise<void>,
|
|
16
|
+
driver: BaseDriver,
|
|
17
|
+
cmdName: string,
|
|
18
|
+
...args: any[]
|
|
19
|
+
): Promise<any>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { BaseDriver };
|
package/lib/plugin.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { logger } from 'appium
|
|
1
|
+
import { logger } from '@appium/support';
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
export default class BasePlugin {
|
|
@@ -23,6 +23,15 @@ export default class BasePlugin {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
|
|
26
|
+
/**
|
|
27
|
+
* Override to return a validator object used to validate CLI args passed into appium as
|
|
28
|
+
* --plugin-args='{"yourPluginName": {"argName": argVal, ...}}'
|
|
29
|
+
*/
|
|
30
|
+
static get argsConstraints () {
|
|
31
|
+
return {};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
26
35
|
/**
|
|
27
36
|
* Optionally updates an Appium express app and http server, by calling methods that may mutate
|
|
28
37
|
* those objects. For example, you could call:
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"tags": [
|
|
5
5
|
"appium"
|
|
6
6
|
],
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.8.1",
|
|
8
8
|
"author": "Appium <maintainers@appium.io>",
|
|
9
9
|
"license": "Apache-2.0",
|
|
10
10
|
"repository": {
|
|
@@ -19,18 +19,24 @@
|
|
|
19
19
|
"npm": ">=6"
|
|
20
20
|
},
|
|
21
21
|
"main": "./build/index.js",
|
|
22
|
+
"types": "./index.d.ts",
|
|
22
23
|
"directories": {
|
|
23
24
|
"lib": "./lib"
|
|
24
25
|
},
|
|
25
26
|
"files": [
|
|
26
27
|
"lib",
|
|
27
|
-
"build"
|
|
28
|
+
"build",
|
|
29
|
+
"index.d.ts"
|
|
28
30
|
],
|
|
29
31
|
"dependencies": {
|
|
30
|
-
"appium
|
|
32
|
+
"@appium/support": "2.55.2"
|
|
31
33
|
},
|
|
32
34
|
"scripts": {
|
|
33
35
|
"test:unit": "mocha ./build/test/unit/*-specs.js"
|
|
34
36
|
},
|
|
35
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "5efbd2840a4e5dd078a4646c026472a006ab2211",
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@appium/base-driver": "8.2.1",
|
|
40
|
+
"@types/express": "4.17.13"
|
|
41
|
+
}
|
|
36
42
|
}
|