appium 2.0.0-beta.62 → 2.0.0-beta.63
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/main.d.ts.map +1 -1
- package/build/lib/main.js +50 -0
- package/build/lib/main.js.map +1 -1
- package/lib/main.js +55 -1
- package/package.json +3 -3
package/build/lib/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":";;yBA4ba,OAAO,eAAe,EAAE,UAAU;yBAClC,OAAO,eAAe,EAAE,UAAU;0BAClC,OAAO,eAAe,EAAE,WAAW;0BACnC,OAAO,eAAe,EAAE,WAAW;yBACnC,OAAO,cAAc,EAAE,UAAU;qCACjC,OAAO,cAAc,EAAE,sBAAsB;kCAC7C,OAAO,cAAc,EAAE,mBAAmB;4BAC1C,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,aAAa,EAAE,aAAa;4BACnC,OAAO,aAAa,EAAE,aAAa;;;;mCAKlC,EAAE;;;;;kBAKF,OAAO,UAAU,EAAE,YAAY;;;;gBAC/B,OAAO,cAAc,EAAE,UAAU;;wEAKlC,GAAG,SAAS,aAAa,GAAG,cAAc,GAAG,OAAO,aAAa,EAAE,gBAAgB,GAAG,oBAAoB;yJAM1G,OAAO,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;+JAMxC,OAAO,cAAc,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;AApK3D;;;;;;;GAOG;AACH,qSAsGC;AAlPD;;;;;;;;;;;;;;;;GAgBG;AACH,kPAiHC"}
|
package/build/lib/main.js
CHANGED
|
@@ -21,6 +21,7 @@ const constants_1 = require("./constants");
|
|
|
21
21
|
const grid_register_1 = __importDefault(require("./grid-register"));
|
|
22
22
|
const schema_1 = require("./schema/schema");
|
|
23
23
|
const utils_1 = require("./utils");
|
|
24
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
24
25
|
const { resolveAppiumHome } = support_1.env;
|
|
25
26
|
exports.resolveAppiumHome = resolveAppiumHome;
|
|
26
27
|
/**
|
|
@@ -112,6 +113,47 @@ function getExtraMethodMap(driverClasses, pluginClasses) {
|
|
|
112
113
|
...(klass.newMethodMap ?? {}),
|
|
113
114
|
}), {});
|
|
114
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Prepares and validates appium home path folder
|
|
118
|
+
*
|
|
119
|
+
* @param {string} name The name of the appium home source (needed for error messages)
|
|
120
|
+
* @param {string} appiumHome The actual value to be verified
|
|
121
|
+
* @returns {Promise<string>} Same appiumHome value
|
|
122
|
+
* @throws {Error} If the validation has failed
|
|
123
|
+
*/
|
|
124
|
+
async function prepareAppiumHome(name, appiumHome) {
|
|
125
|
+
let stat;
|
|
126
|
+
try {
|
|
127
|
+
stat = await support_1.fs.stat(appiumHome);
|
|
128
|
+
}
|
|
129
|
+
catch (e) {
|
|
130
|
+
let err = e;
|
|
131
|
+
if (e.code === 'ENOENT') {
|
|
132
|
+
try {
|
|
133
|
+
await support_1.fs.mkdir(appiumHome, { recursive: true });
|
|
134
|
+
return appiumHome;
|
|
135
|
+
}
|
|
136
|
+
catch (e1) {
|
|
137
|
+
err = e1;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
throw new Error(`The path '${appiumHome}' provided in the ${name} must point ` +
|
|
141
|
+
`to a valid folder writeable for the current user account '${node_os_1.default.userInfo().username}'. ` +
|
|
142
|
+
`Original error: ${err.message}`);
|
|
143
|
+
}
|
|
144
|
+
if (!stat.isDirectory()) {
|
|
145
|
+
throw new Error(`The path '${appiumHome}' provided in the ${name} must point to a valid folder`);
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
await support_1.fs.access(appiumHome, support_1.fs.constants.W_OK);
|
|
149
|
+
}
|
|
150
|
+
catch (e) {
|
|
151
|
+
throw new Error(`The folder path '${appiumHome}' provided in the ${name} must be ` +
|
|
152
|
+
`writeable for the current user account '${node_os_1.default.userInfo().username}. ` +
|
|
153
|
+
`Original error: ${e.message}`);
|
|
154
|
+
}
|
|
155
|
+
return appiumHome;
|
|
156
|
+
}
|
|
115
157
|
/**
|
|
116
158
|
* Initializes Appium, but does not start the server.
|
|
117
159
|
*
|
|
@@ -131,6 +173,14 @@ function getExtraMethodMap(driverClasses, pluginClasses) {
|
|
|
131
173
|
*/
|
|
132
174
|
async function init(args) {
|
|
133
175
|
const appiumHome = args?.appiumHome ?? (await resolveAppiumHome());
|
|
176
|
+
let appiumHomeSourceName = 'autodetected appium home path';
|
|
177
|
+
if (!lodash_1.default.isNil(args?.appiumHome)) {
|
|
178
|
+
appiumHomeSourceName = 'appiumHome config value';
|
|
179
|
+
}
|
|
180
|
+
else if (process.env.APPIUM_HOME) {
|
|
181
|
+
appiumHomeSourceName = 'APPIUM_HOME environment variable';
|
|
182
|
+
}
|
|
183
|
+
await prepareAppiumHome(appiumHomeSourceName, appiumHome);
|
|
134
184
|
(0, utils_1.adjustNodePath)();
|
|
135
185
|
const { driverConfig, pluginConfig } = await (0, extension_2.loadExtensions)(appiumHome);
|
|
136
186
|
const parser = (0, parser_1.getParser)();
|
package/build/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":";;;;;;;AAEA,uCAA8C,CAAC,iEAAiE;AAChH,sDAA8B,CAAC,gCAAgC;AAC/D,qDAAiG;AACjG,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":"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"}
|
package/lib/main.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {init as logsinkInit} from './logsink'; // this import needs to come first since it sets up global npmlog
|
|
4
4
|
import logger from './logger'; // logger needs to remain second
|
|
5
5
|
import {routeConfiguringFunction as makeRouter, server as baseServer} from '@appium/base-driver';
|
|
6
|
-
import {logger as logFactory, util, env} from '@appium/support';
|
|
6
|
+
import {logger as logFactory, util, env, fs} from '@appium/support';
|
|
7
7
|
import {asyncify} from 'asyncbox';
|
|
8
8
|
import _ from 'lodash';
|
|
9
9
|
import {AppiumDriver} from './appium';
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
isPluginCommandArgs,
|
|
34
34
|
isServerCommandArgs,
|
|
35
35
|
} from './utils';
|
|
36
|
+
import os from 'node:os';
|
|
36
37
|
|
|
37
38
|
const {resolveAppiumHome} = env;
|
|
38
39
|
|
|
@@ -138,6 +139,52 @@ function getExtraMethodMap(driverClasses, pluginClasses) {
|
|
|
138
139
|
{}
|
|
139
140
|
);
|
|
140
141
|
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Prepares and validates appium home path folder
|
|
145
|
+
*
|
|
146
|
+
* @param {string} name The name of the appium home source (needed for error messages)
|
|
147
|
+
* @param {string} appiumHome The actual value to be verified
|
|
148
|
+
* @returns {Promise<string>} Same appiumHome value
|
|
149
|
+
* @throws {Error} If the validation has failed
|
|
150
|
+
*/
|
|
151
|
+
async function prepareAppiumHome(name, appiumHome) {
|
|
152
|
+
let stat;
|
|
153
|
+
try {
|
|
154
|
+
stat = await fs.stat(appiumHome);
|
|
155
|
+
} catch (e) {
|
|
156
|
+
let err = e;
|
|
157
|
+
if (e.code === 'ENOENT') {
|
|
158
|
+
try {
|
|
159
|
+
await fs.mkdir(appiumHome, {recursive: true});
|
|
160
|
+
return appiumHome;
|
|
161
|
+
} catch (e1) {
|
|
162
|
+
err = e1;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
throw new Error(
|
|
166
|
+
`The path '${appiumHome}' provided in the ${name} must point ` +
|
|
167
|
+
`to a valid folder writeable for the current user account '${os.userInfo().username}'. ` +
|
|
168
|
+
`Original error: ${err.message}`
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
if (!stat.isDirectory()) {
|
|
172
|
+
throw new Error(
|
|
173
|
+
`The path '${appiumHome}' provided in the ${name} must point to a valid folder`
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
try {
|
|
177
|
+
await fs.access(appiumHome, fs.constants.W_OK);
|
|
178
|
+
} catch (e) {
|
|
179
|
+
throw new Error(
|
|
180
|
+
`The folder path '${appiumHome}' provided in the ${name} must be ` +
|
|
181
|
+
`writeable for the current user account '${os.userInfo().username}. ` +
|
|
182
|
+
`Original error: ${e.message}`
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
return appiumHome;
|
|
186
|
+
}
|
|
187
|
+
|
|
141
188
|
/**
|
|
142
189
|
* Initializes Appium, but does not start the server.
|
|
143
190
|
*
|
|
@@ -157,6 +204,13 @@ function getExtraMethodMap(driverClasses, pluginClasses) {
|
|
|
157
204
|
*/
|
|
158
205
|
async function init(args) {
|
|
159
206
|
const appiumHome = args?.appiumHome ?? (await resolveAppiumHome());
|
|
207
|
+
let appiumHomeSourceName = 'autodetected appium home path';
|
|
208
|
+
if (!_.isNil(args?.appiumHome)) {
|
|
209
|
+
appiumHomeSourceName = 'appiumHome config value';
|
|
210
|
+
} else if (process.env.APPIUM_HOME) {
|
|
211
|
+
appiumHomeSourceName = 'APPIUM_HOME environment variable';
|
|
212
|
+
}
|
|
213
|
+
await prepareAppiumHome(appiumHomeSourceName, appiumHome);
|
|
160
214
|
|
|
161
215
|
adjustNodePath();
|
|
162
216
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.63",
|
|
4
4
|
"description": "Automation for Apps.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@appium/base-driver": "^9.3.6",
|
|
64
64
|
"@appium/base-plugin": "^2.2.6",
|
|
65
|
-
"@appium/docutils": "^0.3.
|
|
65
|
+
"@appium/docutils": "^0.3.6",
|
|
66
66
|
"@appium/schema": "^0.2.6",
|
|
67
67
|
"@appium/support": "^3.1.10",
|
|
68
68
|
"@appium/types": "^0.10.4",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"access": "public",
|
|
106
106
|
"tag": "next"
|
|
107
107
|
},
|
|
108
|
-
"gitHead": "
|
|
108
|
+
"gitHead": "a9a6b834bcf1369fb42847bf44443d36b7d6ea79",
|
|
109
109
|
"typedoc": {
|
|
110
110
|
"entryPoint": "./lib/main.js"
|
|
111
111
|
}
|