@kraken-e2e/driver-android 1.0.0 → 2.0.0

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.
@@ -0,0 +1,9 @@
1
+ import type { DeviceTarget } from '@kraken-e2e/contracts';
2
+ /** Injectable so the enumeration is unit-testable without an Android SDK. */
3
+ export type CommandRunner = (command: string, args: readonly string[]) => {
4
+ status: number | null;
5
+ stdout: string;
6
+ };
7
+ export declare const spawnRunner: CommandRunner;
8
+ export declare function listAndroidTargets(run?: CommandRunner): Promise<readonly DeviceTarget[]>;
9
+ //# sourceMappingURL=devices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../src/devices.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,6EAA6E;AAC7E,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,KACpB;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,eAAO,MAAM,WAAW,EAAE,aAGzB,CAAC;AAgBF,wBAAsB,kBAAkB,CACtC,GAAG,GAAE,aAA2B,GAC/B,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAgDlC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Android target enumeration for `kraken devices` (contract 2.1).
3
+ * Read-only probes: `adb devices -l` for what's CONNECTED right now (real
4
+ * devices and running emulators) and `emulator -list-avds` for what could be
5
+ * booted on demand. Never boots anything.
6
+ */
7
+ import { spawnSync } from 'node:child_process';
8
+ import { join } from 'node:path';
9
+ export const spawnRunner = (command, args) => {
10
+ const result = spawnSync(command, [...args], { encoding: 'utf8', timeout: 15_000 });
11
+ return { status: result.status, stdout: `${result.stdout ?? ''}` };
12
+ };
13
+ function sdkTool(tool) {
14
+ const home = process.env['ANDROID_HOME'] ?? process.env['ANDROID_SDK_ROOT'];
15
+ if (!home)
16
+ return tool; // hope for PATH
17
+ return tool === 'adb' ? join(home, 'platform-tools', 'adb') : join(home, 'emulator', 'emulator');
18
+ }
19
+ /** `adb -s emulator-5554 emu avd name` → the AVD backing a running emulator. */
20
+ function avdNameOf(run, serial) {
21
+ const result = run(sdkTool('adb'), ['-s', serial, 'emu', 'avd', 'name']);
22
+ if (result.status !== 0)
23
+ return undefined;
24
+ const name = result.stdout.split('\n')[0]?.trim();
25
+ return name && name !== 'OK' ? name : undefined;
26
+ }
27
+ export async function listAndroidTargets(run = spawnRunner) {
28
+ const targets = [];
29
+ const runningAvds = new Set();
30
+ // 1 — connected right now (devices + running emulators)
31
+ const adb = run(sdkTool('adb'), ['devices', '-l']);
32
+ if (adb.status === 0) {
33
+ for (const line of adb.stdout.split('\n').slice(1)) {
34
+ const match = /^(\S+)\s+device\b(.*)$/.exec(line.trim());
35
+ if (!match || match[1] === undefined)
36
+ continue;
37
+ const serial = match[1];
38
+ const isEmulator = serial.startsWith('emulator-');
39
+ const model = /model:(\S+)/.exec(match[2] ?? '')?.[1];
40
+ const avd = isEmulator ? avdNameOf(run, serial) : undefined;
41
+ if (avd)
42
+ runningAvds.add(avd);
43
+ targets.push({
44
+ id: serial,
45
+ name: avd ?? model ?? serial,
46
+ platform: 'android',
47
+ kind: isEmulator ? 'emulator' : 'device',
48
+ state: 'running',
49
+ // udid pins THIS device — reuses the already-running one, boots nothing.
50
+ actorConfig: { platform: 'android', udid: serial },
51
+ ...(model ? { detail: `model ${model}` } : {}),
52
+ });
53
+ }
54
+ }
55
+ // 2 — AVDs bootable on demand (skip ones already running)
56
+ const avds = run(sdkTool('emulator'), ['-list-avds']);
57
+ if (avds.status === 0) {
58
+ for (const line of avds.stdout.split('\n')) {
59
+ const name = line.trim();
60
+ // emulator prints INFO chatter on some setups; AVD names have no spaces
61
+ if (!name || name.includes(' ') || runningAvds.has(name))
62
+ continue;
63
+ targets.push({
64
+ id: name,
65
+ name,
66
+ platform: 'android',
67
+ kind: 'emulator',
68
+ state: 'available',
69
+ actorConfig: { platform: 'android', avd: name },
70
+ detail: 'boots on demand',
71
+ });
72
+ }
73
+ }
74
+ return targets;
75
+ }
76
+ //# sourceMappingURL=devices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../src/devices.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,OAAO,iHAwFlB,CAAC;AAEH,eAAe,OAAO,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC3D;AA8BD,eAAO,MAAM,OAAO,iHA+FlB,CAAC;AAEH,eAAe,OAAO,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -4,23 +4,49 @@
4
4
  * IMPORT-SAFETY RULE (ADR-0001 §5.5): this entry must be importable on every
5
5
  * host — appium and webdriverio load DYNAMICALLY inside start()/createSession().
6
6
  */
7
- import { join } from 'node:path';
8
- import { defineDriver } from '@kraken-e2e/contracts';
7
+ import { existsSync } from 'node:fs';
8
+ import { isAbsolute, join, resolve } from 'node:path';
9
+ import { defineDriver, KrakenError } from '@kraken-e2e/contracts';
9
10
  import { allocatePort, startAppiumServer } from './appium-server.js';
11
+ import { listAndroidTargets } from './devices.js';
10
12
  import { androidDoctorChecks } from './doctor.js';
11
13
  import { manifest } from './manifest.js';
12
14
  import { AndroidUserSession } from './wdio-session.js';
15
+ /**
16
+ * Fail-fast app validation: a missing app file must die HERE, in
17
+ * milliseconds, with an actionable message — not after minutes of
18
+ * emulator/simulator boot inside an Appium session error (observed live
19
+ * following the tutorial with placeholder paths).
20
+ */
21
+ function resolveAppPath(config, projectRoot, actorId) {
22
+ if (typeof config['app'] !== 'string')
23
+ return undefined;
24
+ const resolved = isAbsolute(config['app']) ? config['app'] : resolve(projectRoot, config['app']);
25
+ if (!existsSync(resolved)) {
26
+ throw new KrakenError('KRK-DRIVER-APP-NOT-FOUND', `Actor "${actorId}": the app file does not exist: ${resolved}`, {
27
+ fix: 'Check the `app` path in kraken.config.ts (relative paths resolve against the project root). ' +
28
+ 'Need a test app? The WebdriverIO native-demo-app works out of the box — see the Kraken tutorial, ' +
29
+ 'or run `kraken devices` to see what you already have.',
30
+ });
31
+ }
32
+ return resolved;
33
+ }
13
34
  export const android = defineDriver((opts = {}) => {
14
35
  let server;
36
+ let startedProjectRoot;
15
37
  return {
16
38
  manifest,
17
39
  doctor: androidDoctorChecks(),
40
+ async listTargets() {
41
+ return listAndroidTargets();
42
+ },
18
43
  async start(host, services) {
19
44
  if (server) {
20
45
  // Double start would silently leak the first embedded server.
21
46
  throw new Error('driver-android: already started — call stop() first.');
22
47
  }
23
48
  const projectRoot = host.projectRoot ?? process.cwd();
49
+ startedProjectRoot = projectRoot;
24
50
  server = await startAppiumServer({
25
51
  homeDir: join(projectRoot, '.kraken', 'appium', 'android-home'),
26
52
  driverPackages: ['appium-uiautomator2-driver'],
@@ -34,6 +60,7 @@ export const android = defineDriver((opts = {}) => {
34
60
  throw new Error('driver-android: start() must run before createSession().');
35
61
  }
36
62
  const config = actor.config;
63
+ const appPath = resolveAppPath(config, startedProjectRoot ?? process.cwd(), actor.id);
37
64
  // OS-assigned free port: process-local counters over a fixed base collide
38
65
  // across CONCURRENT kraken runs on one machine (uia2 accepts any port).
39
66
  const systemPort = await allocatePort();
@@ -53,7 +80,7 @@ export const android = defineDriver((opts = {}) => {
53
80
  ...(typeof config['avd'] === 'string' || opts.avd !== undefined
54
81
  ? { 'appium:avd': config['avd'] ?? opts.avd }
55
82
  : {}),
56
- ...(typeof config['app'] === 'string' ? { 'appium:app': config['app'] } : {}),
83
+ ...(appPath !== undefined ? { 'appium:app': appPath } : {}),
57
84
  ...(typeof config['appPackage'] === 'string'
58
85
  ? { 'appium:appPackage': config['appPackage'] }
59
86
  : {}),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kraken-e2e/driver-android",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "Android driver: Appium 3 + appium-uiautomator2-driver",
5
5
  "type": "module",
6
6
  "exports": {
@@ -23,14 +23,14 @@
23
23
  "node": ">=22.13.0"
24
24
  },
25
25
  "peerDependencies": {
26
- "@kraken-e2e/contracts": "^0.1.0"
26
+ "@kraken-e2e/contracts": "^2.0.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^22.15.0",
30
30
  "typescript": "~6.0.3",
31
31
  "vitest": "^4.1.9",
32
- "@kraken-e2e/contracts": "0.1.0",
33
- "@kraken-e2e/core": "0.1.0"
32
+ "@kraken-e2e/contracts": "2.0.0",
33
+ "@kraken-e2e/core": "2.0.0"
34
34
  },
35
35
  "dependencies": {
36
36
  "appium": "3.5.2",