appium-webdriveragent 16.11.4 → 16.12.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/CHANGELOG.md +16 -0
- package/WebDriverAgentLib/Commands/FBCustomCommands.m +12 -0
- package/WebDriverAgentLib/Info.plist +2 -2
- package/WebDriverAgentLib/Utilities/FBScreen.h +5 -0
- package/WebDriverAgentLib/Utilities/FBScreen.m +27 -0
- package/WebDriverAgentTests/IntegrationTests/FBScreenTests.m +23 -0
- package/build/lib/constants.d.ts +8 -0
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/constants.js +8 -0
- package/build/lib/constants.js.map +1 -1
- package/build/lib/utils/processes.d.ts +12 -1
- package/build/lib/utils/processes.d.ts.map +1 -1
- package/build/lib/utils/processes.js +44 -20
- package/build/lib/utils/processes.js.map +1 -1
- package/build/lib/xcodebuild.d.ts.map +1 -1
- package/build/lib/xcodebuild.js +4 -1
- package/build/lib/xcodebuild.js.map +1 -1
- package/lib/constants.ts +9 -0
- package/lib/utils/processes.ts +53 -21
- package/lib/xcodebuild.ts +5 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## [16.12.1](https://github.com/appium/WebDriverAgent/compare/v16.12.0...v16.12.1) (2026-09-01)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* bump support-related dependencies ([#1245](https://github.com/appium/WebDriverAgent/issues/1245)) ([3ff08a6](https://github.com/appium/WebDriverAgent/commit/3ff08a64b2428bbc81aef1dece492f49e273d702))
|
|
6
|
+
|
|
7
|
+
## [16.12.0](https://github.com/appium/WebDriverAgent/compare/v16.11.4...v16.12.0) (2026-09-01)
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* add get screens endpoint ([#1242](https://github.com/appium/WebDriverAgent/issues/1242)) ([55808de](https://github.com/appium/WebDriverAgent/commit/55808de21df801c69991cd0de66ee7eeaac3407e))
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* scope xcodebuild process kill to this package's own processes ([#1244](https://github.com/appium/WebDriverAgent/issues/1244)) ([988f309](https://github.com/appium/WebDriverAgent/commit/988f3097876f627a48b38a242958c755c429db95))
|
|
16
|
+
|
|
1
17
|
## [16.11.4](https://github.com/appium/WebDriverAgent/compare/v16.11.3...v16.11.4) (2026-08-30)
|
|
2
18
|
|
|
3
19
|
### Bug Fixes
|
|
@@ -53,6 +53,8 @@
|
|
|
53
53
|
[[FBRoute GET:@"/wda/locked"] respondWithTarget:self action:@selector(handleIsLocked:)],
|
|
54
54
|
[[FBRoute GET:@"/wda/screen"] respondWithTarget:self action:@selector(handleGetScreen:)],
|
|
55
55
|
[[FBRoute GET:@"/wda/screen"].withoutSession respondWithTarget:self action:@selector(handleGetScreen:)],
|
|
56
|
+
[[FBRoute GET:@"/wda/screens"].standalone respondWithTarget:self action:@selector(handleGetScreens:)],
|
|
57
|
+
[[FBRoute GET:@"/wda/screens"].withoutSession.standalone respondWithTarget:self action:@selector(handleGetScreens:)],
|
|
56
58
|
[[FBRoute GET:@"/wda/activeAppInfo"] respondWithTarget:self action:@selector(handleActiveAppInfo:)],
|
|
57
59
|
[[FBRoute GET:@"/wda/activeAppInfo"].withoutSession respondWithTarget:self action:@selector(handleActiveAppInfo:)],
|
|
58
60
|
#if !TARGET_OS_TV && !TARGET_OS_WATCH // tvOS/watchOS do not provide relevant APIs
|
|
@@ -179,6 +181,16 @@
|
|
|
179
181
|
});
|
|
180
182
|
}
|
|
181
183
|
|
|
184
|
+
+ (id<FBResponsePayload>)handleGetScreens:(FBRouteRequest *)request
|
|
185
|
+
{
|
|
186
|
+
NSError *error;
|
|
187
|
+
NSArray<NSDictionary<NSString *, id> *> *screens = [FBScreen screensWithError:&error];
|
|
188
|
+
if (nil == screens) {
|
|
189
|
+
return FBResponseWithUnknownError(error);
|
|
190
|
+
}
|
|
191
|
+
return FBResponseWithObject(screens);
|
|
192
|
+
}
|
|
193
|
+
|
|
182
194
|
+ (id<FBResponsePayload>)handleLock:(FBRouteRequest *)request
|
|
183
195
|
{
|
|
184
196
|
NSError *error;
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
<key>CFBundlePackageType</key>
|
|
16
16
|
<string>FMWK</string>
|
|
17
17
|
<key>CFBundleShortVersionString</key>
|
|
18
|
-
<string>16.
|
|
18
|
+
<string>16.12.1</string>
|
|
19
19
|
<key>CFBundleSignature</key>
|
|
20
20
|
<string>????</string>
|
|
21
21
|
<key>CFBundleVersion</key>
|
|
22
|
-
<string>16.
|
|
22
|
+
<string>16.12.1</string>
|
|
23
23
|
<key>NSPrincipalClass</key>
|
|
24
24
|
<string/>
|
|
25
25
|
</dict>
|
|
@@ -12,6 +12,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
12
12
|
|
|
13
13
|
@interface FBScreen : NSObject
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
Information about all displays available to the device
|
|
17
|
+
*/
|
|
18
|
+
+ (nullable NSArray<NSDictionary<NSString *, id> *> *)screensWithError:(NSError **)error;
|
|
19
|
+
|
|
15
20
|
/**
|
|
16
21
|
The identifier of the main device's display
|
|
17
22
|
*/
|
|
@@ -9,10 +9,37 @@
|
|
|
9
9
|
#import "FBScreen.h"
|
|
10
10
|
#import "XCUIElement+FBIsVisible.h"
|
|
11
11
|
#import "FBXCodeCompatibility.h"
|
|
12
|
+
#import "XCUIDevice.h"
|
|
12
13
|
#import "XCUIScreen.h"
|
|
13
14
|
|
|
14
15
|
@implementation FBScreen
|
|
15
16
|
|
|
17
|
+
+ (nullable NSArray<NSDictionary<NSString *, id> *> *)screensWithError:(NSError **)error
|
|
18
|
+
{
|
|
19
|
+
NSArray<XCUIScreen *> *screens = [XCUIDevice.sharedDevice screensOrError:error];
|
|
20
|
+
if (nil == screens) {
|
|
21
|
+
return nil;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
NSMutableArray<NSDictionary<NSString *, id> *> *result = [NSMutableArray arrayWithCapacity:screens.count];
|
|
25
|
+
for (XCUIScreen *screen in screens) {
|
|
26
|
+
CGRect bounds = screen.bounds;
|
|
27
|
+
[result addObject:@{
|
|
28
|
+
@"displayId": @(screen.displayID),
|
|
29
|
+
@"isMain": @(screen.isMainScreen),
|
|
30
|
+
@"scale": @(screen.scale),
|
|
31
|
+
@"bounds": @{
|
|
32
|
+
@"x": @(bounds.origin.x),
|
|
33
|
+
@"y": @(bounds.origin.y),
|
|
34
|
+
@"width": @(bounds.size.width),
|
|
35
|
+
@"height": @(bounds.size.height),
|
|
36
|
+
},
|
|
37
|
+
@"traits": @(screen.traits),
|
|
38
|
+
}];
|
|
39
|
+
}
|
|
40
|
+
return result.copy;
|
|
41
|
+
}
|
|
42
|
+
|
|
16
43
|
+ (long long)displayID
|
|
17
44
|
{
|
|
18
45
|
return XCUIScreen.mainScreen.displayID;
|
|
@@ -27,6 +27,29 @@
|
|
|
27
27
|
XCTAssertGreaterThanOrEqual([FBScreen displayID], 0LL);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
- (void)testScreens
|
|
31
|
+
{
|
|
32
|
+
NSError *error = nil;
|
|
33
|
+
NSArray<NSDictionary<NSString *, id> *> *screens = [FBScreen screensWithError:&error];
|
|
34
|
+
|
|
35
|
+
XCTAssertNotNil(screens);
|
|
36
|
+
XCTAssertNil(error);
|
|
37
|
+
XCTAssertGreaterThan(screens.count, 0UL);
|
|
38
|
+
|
|
39
|
+
NSDictionary<NSString *, id> *mainScreen = nil;
|
|
40
|
+
for (NSDictionary<NSString *, id> *screen in screens) {
|
|
41
|
+
if ([screen[@"isMain"] boolValue]) {
|
|
42
|
+
mainScreen = screen;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
XCTAssertNotNil(mainScreen);
|
|
47
|
+
XCTAssertEqualObjects(mainScreen[@"displayId"], @([FBScreen displayID]));
|
|
48
|
+
XCTAssertNotNil(mainScreen[@"scale"]);
|
|
49
|
+
XCTAssertNotNil(mainScreen[@"bounds"]);
|
|
50
|
+
XCTAssertNotNil(mainScreen[@"traits"]);
|
|
51
|
+
}
|
|
52
|
+
|
|
30
53
|
- (void)testScreenScale
|
|
31
54
|
{
|
|
32
55
|
XCTAssertTrue([FBScreen scale] >= 2);
|
package/build/lib/constants.d.ts
CHANGED
|
@@ -9,4 +9,12 @@ export declare const PLATFORM_NAME_WATCHOS = "watchOS";
|
|
|
9
9
|
export declare const PLATFORM_NAME_IOS = "iOS";
|
|
10
10
|
export declare const SDK_DEVICE = "iphoneos";
|
|
11
11
|
export declare const WDA_UPGRADE_TIMESTAMP_PATH: string;
|
|
12
|
+
/**
|
|
13
|
+
* Harmless unused build setting override appended to every xcodebuild invocation
|
|
14
|
+
* this package starts. It has no effect on the build itself, but shows up verbatim
|
|
15
|
+
* in the process' command line, letting us tell our own xcodebuild processes apart
|
|
16
|
+
* from unrelated ones (e.g. other WDA-based test runners) that happen to target the
|
|
17
|
+
* same device udid.
|
|
18
|
+
*/
|
|
19
|
+
export declare const XCODEBUILD_PROCESS_MARKER = "APPIUM_XCODEBUILD_WDA_MARKER=1";
|
|
12
20
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,eAAe,CAAC;AACvD,eAAO,MAAM,oBAAoB,sCAAsC,CAAC;AACxE,eAAO,MAAM,+BAA+B,gDAAyD,CAAC;AACtG,eAAO,MAAM,cAAc,oCAAoC,CAAC;AAChE,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,eAAO,MAAM,0BAA0B,QAAyD,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,eAAe,CAAC;AACvD,eAAO,MAAM,oBAAoB,sCAAsC,CAAC;AACxE,eAAO,MAAM,+BAA+B,gDAAyD,CAAC;AACtG,eAAO,MAAM,cAAc,oCAAoC,CAAC;AAChE,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,eAAO,MAAM,0BAA0B,QAAyD,CAAC;AAEjG;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,mCAAmC,CAAC"}
|
package/build/lib/constants.js
CHANGED
|
@@ -10,4 +10,12 @@ export const PLATFORM_NAME_WATCHOS = 'watchOS';
|
|
|
10
10
|
export const PLATFORM_NAME_IOS = 'iOS';
|
|
11
11
|
export const SDK_DEVICE = 'iphoneos';
|
|
12
12
|
export const WDA_UPGRADE_TIMESTAMP_PATH = path.join('.appium', 'webdriveragent', 'upgrade.time');
|
|
13
|
+
/**
|
|
14
|
+
* Harmless unused build setting override appended to every xcodebuild invocation
|
|
15
|
+
* this package starts. It has no effect on the build itself, but shows up verbatim
|
|
16
|
+
* in the process' command line, letting us tell our own xcodebuild processes apart
|
|
17
|
+
* from unrelated ones (e.g. other WDA-based test runners) that happen to target the
|
|
18
|
+
* same device udid.
|
|
19
|
+
*/
|
|
20
|
+
export const XCODEBUILD_PROCESS_MARKER = 'APPIUM_XCODEBUILD_WDA_MARKER=1';
|
|
13
21
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;AACxE,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,oBAAoB,GAAG,0BAA0B,EAAE,CAAC;AACtG,MAAM,CAAC,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AAErC,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;AACxE,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,oBAAoB,GAAG,0BAA0B,EAAE,CAAC;AACtG,MAAM,CAAC,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AAErC,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,gCAAgC,CAAC"}
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Find and terminate all processes matching the given pgrep pattern.
|
|
3
|
+
*
|
|
4
|
+
* @param pgrepPattern - Pattern used to find candidate processes.
|
|
5
|
+
* @param cmdlineIncludes - If given, a candidate is only killed if its full
|
|
6
|
+
* command line also contains this substring. Used to narrow a broad pgrep
|
|
7
|
+
* match (e.g. by device udid) down to processes this package actually started.
|
|
3
8
|
*/
|
|
4
|
-
export declare function killAppUsingPattern(pgrepPattern: string): Promise<void>;
|
|
9
|
+
export declare function killAppUsingPattern(pgrepPattern: string, cmdlineIncludes?: string): Promise<void>;
|
|
5
10
|
/**
|
|
6
11
|
* Kills running XCTest processes for the particular device.
|
|
12
|
+
*
|
|
13
|
+
* The `xcodebuild` pattern is additionally scoped to processes this package started
|
|
14
|
+
* (see {@link XCODEBUILD_PROCESS_MARKER}), so other XCTest-based tools targeting the
|
|
15
|
+
* same udid (e.g. a separately managed WebDriverAgent instance) are left alone.
|
|
16
|
+
* The XCTRunner/xctest patterns below cannot be scoped the same way, since those
|
|
17
|
+
* processes do not inherit xcodebuild's command line.
|
|
7
18
|
*/
|
|
8
19
|
export declare function resetTestProcesses(udid: string, isSimulator: boolean): Promise<void>;
|
|
9
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processes.d.ts","sourceRoot":"","sources":["../../../lib/utils/processes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processes.d.ts","sourceRoot":"","sources":["../../../lib/utils/processes.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CvG;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1F;AA4BD;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,aAAa,GAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,IAAW,GAC7E,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBnB"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { waitForCondition } from 'asyncbox';
|
|
2
2
|
import { exec } from 'teen_process';
|
|
3
|
+
import { XCODEBUILD_PROCESS_MARKER } from '../constants.js';
|
|
3
4
|
import { log } from '../logger.js';
|
|
4
5
|
/**
|
|
5
6
|
* Find and terminate all processes matching the given pgrep pattern.
|
|
7
|
+
*
|
|
8
|
+
* @param pgrepPattern - Pattern used to find candidate processes.
|
|
9
|
+
* @param cmdlineIncludes - If given, a candidate is only killed if its full
|
|
10
|
+
* command line also contains this substring. Used to narrow a broad pgrep
|
|
11
|
+
* match (e.g. by device udid) down to processes this package actually started.
|
|
6
12
|
*/
|
|
7
|
-
export async function killAppUsingPattern(pgrepPattern) {
|
|
13
|
+
export async function killAppUsingPattern(pgrepPattern, cmdlineIncludes) {
|
|
8
14
|
const signals = [2, 15, 9];
|
|
9
15
|
for (const signal of signals) {
|
|
10
|
-
const matchedPids = await getPIDsUsingPattern(pgrepPattern);
|
|
16
|
+
const matchedPids = await getPIDsUsingPattern(pgrepPattern, cmdlineIncludes);
|
|
11
17
|
if (matchedPids.length === 0) {
|
|
12
18
|
return;
|
|
13
19
|
}
|
|
@@ -49,6 +55,12 @@ export async function killAppUsingPattern(pgrepPattern) {
|
|
|
49
55
|
}
|
|
50
56
|
/**
|
|
51
57
|
* Kills running XCTest processes for the particular device.
|
|
58
|
+
*
|
|
59
|
+
* The `xcodebuild` pattern is additionally scoped to processes this package started
|
|
60
|
+
* (see {@link XCODEBUILD_PROCESS_MARKER}), so other XCTest-based tools targeting the
|
|
61
|
+
* same udid (e.g. a separately managed WebDriverAgent instance) are left alone.
|
|
62
|
+
* The XCTRunner/xctest patterns below cannot be scoped the same way, since those
|
|
63
|
+
* processes do not inherit xcodebuild's command line.
|
|
52
64
|
*/
|
|
53
65
|
export async function resetTestProcesses(udid, isSimulator) {
|
|
54
66
|
const processPatterns = [`xcodebuild.*${udid}`];
|
|
@@ -58,7 +70,28 @@ export async function resetTestProcesses(udid, isSimulator) {
|
|
|
58
70
|
processPatterns.push(`xctest.*${udid}`);
|
|
59
71
|
}
|
|
60
72
|
log.debug(`Killing running processes '${processPatterns.join(', ')}' for the device ${udid}...`);
|
|
61
|
-
await Promise.all(processPatterns.map(killAppUsingPattern));
|
|
73
|
+
await Promise.all(processPatterns.map((pattern) => killAppUsingPattern(pattern, pattern.startsWith('xcodebuild') ? XCODEBUILD_PROCESS_MARKER : undefined)));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Filters a list of PIDs down to those whose full command line satisfies the
|
|
77
|
+
* given lambda. PIDs that have already exited are silently dropped.
|
|
78
|
+
*/
|
|
79
|
+
async function filterPIDsByCommandLine(pids, filteringFunc) {
|
|
80
|
+
const filtered = await Promise.all(pids.map(async (pid) => {
|
|
81
|
+
let stdout;
|
|
82
|
+
try {
|
|
83
|
+
({ stdout } = await exec('ps', ['-p', pid, '-o', 'command']));
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
if (e.code === 1) {
|
|
87
|
+
// The process does not exist anymore, there's nothing to filter
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
throw e;
|
|
91
|
+
}
|
|
92
|
+
return (await filteringFunc(stdout)) ? pid : null;
|
|
93
|
+
}));
|
|
94
|
+
return filtered.filter((pid) => Boolean(pid));
|
|
62
95
|
}
|
|
63
96
|
/**
|
|
64
97
|
* Get the IDs of processes listening on the particular system port.
|
|
@@ -90,30 +123,17 @@ export async function getPIDsListeningOnPort(port, filteringFunc = null) {
|
|
|
90
123
|
if (typeof filteringFunc !== 'function') {
|
|
91
124
|
return result;
|
|
92
125
|
}
|
|
93
|
-
|
|
94
|
-
let stdout;
|
|
95
|
-
try {
|
|
96
|
-
({ stdout } = await exec('ps', ['-p', pid, '-o', 'command']));
|
|
97
|
-
}
|
|
98
|
-
catch (e) {
|
|
99
|
-
if (e.code === 1) {
|
|
100
|
-
// The process does not exist anymore, there's nothing to filter
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
throw e;
|
|
104
|
-
}
|
|
105
|
-
return (await filteringFunc(stdout)) ? pid : null;
|
|
106
|
-
}));
|
|
107
|
-
return filtered.filter((pid) => Boolean(pid));
|
|
126
|
+
return await filterPIDsByCommandLine(result, filteringFunc);
|
|
108
127
|
}
|
|
109
|
-
async function getPIDsUsingPattern(pattern) {
|
|
128
|
+
async function getPIDsUsingPattern(pattern, cmdlineIncludes) {
|
|
110
129
|
const args = [
|
|
111
130
|
'-if', // case insensitive, full cmdline match
|
|
112
131
|
pattern,
|
|
113
132
|
];
|
|
133
|
+
let pids;
|
|
114
134
|
try {
|
|
115
135
|
const { stdout } = await exec('pgrep', args);
|
|
116
|
-
|
|
136
|
+
pids = stdout
|
|
117
137
|
.split(/\s+/)
|
|
118
138
|
.map((x) => parseInt(x, 10))
|
|
119
139
|
.filter(Number.isInteger)
|
|
@@ -123,5 +143,9 @@ async function getPIDsUsingPattern(pattern) {
|
|
|
123
143
|
log.debug(`'pgrep ${args.join(' ')}' didn't detect any matching processes. Return code: ${err.code}`);
|
|
124
144
|
return [];
|
|
125
145
|
}
|
|
146
|
+
if (!cmdlineIncludes || pids.length === 0) {
|
|
147
|
+
return pids;
|
|
148
|
+
}
|
|
149
|
+
return await filterPIDsByCommandLine(pids, (cmdline) => cmdline.includes(cmdlineIncludes));
|
|
126
150
|
}
|
|
127
151
|
//# sourceMappingURL=processes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processes.js","sourceRoot":"","sources":["../../../lib/utils/processes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AAEjC
|
|
1
|
+
{"version":3,"file":"processes.js","sourceRoot":"","sources":["../../../lib/utils/processes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcodebuild.d.ts","sourceRoot":"","sources":["../../lib/xcodebuild.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"xcodebuild.d.ts","sourceRoot":"","sources":["../../lib/xcodebuild.ts"],"names":[],"mappings":"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"}
|
package/build/lib/xcodebuild.js
CHANGED
|
@@ -2,7 +2,7 @@ import path from 'node:path';
|
|
|
2
2
|
import { logger, timing, util } from '@appium/support';
|
|
3
3
|
import { retryInterval } from 'asyncbox';
|
|
4
4
|
import { SubProcess, exec } from 'teen_process';
|
|
5
|
-
import { WDA_RUNNER_BUNDLE_ID } from './constants.js';
|
|
5
|
+
import { WDA_RUNNER_BUNDLE_ID, XCODEBUILD_PROCESS_MARKER } from './constants.js';
|
|
6
6
|
import { log as defaultLogger } from './logger.js';
|
|
7
7
|
import { getPlatformSchemeSuffix, getWDAUpgradeTimestamp, isTvOS, isWatchOS, setRealDeviceSecurity, setXctestrunFile, } from './utils/index.js';
|
|
8
8
|
const DEFAULT_SIGNING_ID = 'iPhone Developer';
|
|
@@ -361,6 +361,9 @@ export class XcodeBuild {
|
|
|
361
361
|
// Below option slightly reduces build time in debug build
|
|
362
362
|
// with preventing to generate `/Index/DataStore` which is used by development
|
|
363
363
|
args.push('COMPILER_INDEX_STORE_ENABLE=NO');
|
|
364
|
+
// Tags this process so resetTestProcesses() can kill only xcodebuild instances
|
|
365
|
+
// this package started, not unrelated ones sharing the same device udid.
|
|
366
|
+
args.push(XCODEBUILD_PROCESS_MARKER);
|
|
364
367
|
return { cmd, args };
|
|
365
368
|
}
|
|
366
369
|
async createSubProcess(buildOnly = false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcodebuild.js","sourceRoot":"","sources":["../../lib/xcodebuild.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xcodebuild.js","sourceRoot":"","sources":["../../lib/xcodebuild.ts"],"names":[],"mappings":"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"}
|
package/lib/constants.ts
CHANGED
|
@@ -14,3 +14,12 @@ export const PLATFORM_NAME_IOS = 'iOS';
|
|
|
14
14
|
export const SDK_DEVICE = 'iphoneos';
|
|
15
15
|
|
|
16
16
|
export const WDA_UPGRADE_TIMESTAMP_PATH = path.join('.appium', 'webdriveragent', 'upgrade.time');
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Harmless unused build setting override appended to every xcodebuild invocation
|
|
20
|
+
* this package starts. It has no effect on the build itself, but shows up verbatim
|
|
21
|
+
* in the process' command line, letting us tell our own xcodebuild processes apart
|
|
22
|
+
* from unrelated ones (e.g. other WDA-based test runners) that happen to target the
|
|
23
|
+
* same device udid.
|
|
24
|
+
*/
|
|
25
|
+
export const XCODEBUILD_PROCESS_MARKER = 'APPIUM_XCODEBUILD_WDA_MARKER=1';
|
package/lib/utils/processes.ts
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import {waitForCondition} from 'asyncbox';
|
|
2
2
|
import {exec} from 'teen_process';
|
|
3
3
|
|
|
4
|
+
import {XCODEBUILD_PROCESS_MARKER} from '../constants.js';
|
|
4
5
|
import {log} from '../logger.js';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Find and terminate all processes matching the given pgrep pattern.
|
|
9
|
+
*
|
|
10
|
+
* @param pgrepPattern - Pattern used to find candidate processes.
|
|
11
|
+
* @param cmdlineIncludes - If given, a candidate is only killed if its full
|
|
12
|
+
* command line also contains this substring. Used to narrow a broad pgrep
|
|
13
|
+
* match (e.g. by device udid) down to processes this package actually started.
|
|
8
14
|
*/
|
|
9
|
-
export async function killAppUsingPattern(pgrepPattern: string): Promise<void> {
|
|
15
|
+
export async function killAppUsingPattern(pgrepPattern: string, cmdlineIncludes?: string): Promise<void> {
|
|
10
16
|
const signals = [2, 15, 9];
|
|
11
17
|
for (const signal of signals) {
|
|
12
|
-
const matchedPids = await getPIDsUsingPattern(pgrepPattern);
|
|
18
|
+
const matchedPids = await getPIDsUsingPattern(pgrepPattern, cmdlineIncludes);
|
|
13
19
|
if (matchedPids.length === 0) {
|
|
14
20
|
return;
|
|
15
21
|
}
|
|
@@ -52,6 +58,12 @@ export async function killAppUsingPattern(pgrepPattern: string): Promise<void> {
|
|
|
52
58
|
|
|
53
59
|
/**
|
|
54
60
|
* Kills running XCTest processes for the particular device.
|
|
61
|
+
*
|
|
62
|
+
* The `xcodebuild` pattern is additionally scoped to processes this package started
|
|
63
|
+
* (see {@link XCODEBUILD_PROCESS_MARKER}), so other XCTest-based tools targeting the
|
|
64
|
+
* same udid (e.g. a separately managed WebDriverAgent instance) are left alone.
|
|
65
|
+
* The XCTRunner/xctest patterns below cannot be scoped the same way, since those
|
|
66
|
+
* processes do not inherit xcodebuild's command line.
|
|
55
67
|
*/
|
|
56
68
|
export async function resetTestProcesses(udid: string, isSimulator: boolean): Promise<void> {
|
|
57
69
|
const processPatterns = [`xcodebuild.*${udid}`];
|
|
@@ -61,7 +73,37 @@ export async function resetTestProcesses(udid: string, isSimulator: boolean): Pr
|
|
|
61
73
|
processPatterns.push(`xctest.*${udid}`);
|
|
62
74
|
}
|
|
63
75
|
log.debug(`Killing running processes '${processPatterns.join(', ')}' for the device ${udid}...`);
|
|
64
|
-
await Promise.all(
|
|
76
|
+
await Promise.all(
|
|
77
|
+
processPatterns.map((pattern) =>
|
|
78
|
+
killAppUsingPattern(pattern, pattern.startsWith('xcodebuild') ? XCODEBUILD_PROCESS_MARKER : undefined),
|
|
79
|
+
),
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Filters a list of PIDs down to those whose full command line satisfies the
|
|
85
|
+
* given lambda. PIDs that have already exited are silently dropped.
|
|
86
|
+
*/
|
|
87
|
+
async function filterPIDsByCommandLine(
|
|
88
|
+
pids: string[],
|
|
89
|
+
filteringFunc: (cmdline: string) => boolean | Promise<boolean>,
|
|
90
|
+
): Promise<string[]> {
|
|
91
|
+
const filtered = await Promise.all(
|
|
92
|
+
pids.map(async (pid) => {
|
|
93
|
+
let stdout: string;
|
|
94
|
+
try {
|
|
95
|
+
({stdout} = await exec('ps', ['-p', pid, '-o', 'command']));
|
|
96
|
+
} catch (e: any) {
|
|
97
|
+
if (e.code === 1) {
|
|
98
|
+
// The process does not exist anymore, there's nothing to filter
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
throw e;
|
|
102
|
+
}
|
|
103
|
+
return (await filteringFunc(stdout)) ? pid : null;
|
|
104
|
+
}),
|
|
105
|
+
);
|
|
106
|
+
return filtered.filter((pid): pid is string => Boolean(pid));
|
|
65
107
|
}
|
|
66
108
|
|
|
67
109
|
/**
|
|
@@ -97,32 +139,18 @@ export async function getPIDsListeningOnPort(
|
|
|
97
139
|
if (typeof filteringFunc !== 'function') {
|
|
98
140
|
return result;
|
|
99
141
|
}
|
|
100
|
-
|
|
101
|
-
result.map(async (pid) => {
|
|
102
|
-
let stdout: string;
|
|
103
|
-
try {
|
|
104
|
-
({stdout} = await exec('ps', ['-p', pid, '-o', 'command']));
|
|
105
|
-
} catch (e: any) {
|
|
106
|
-
if (e.code === 1) {
|
|
107
|
-
// The process does not exist anymore, there's nothing to filter
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
throw e;
|
|
111
|
-
}
|
|
112
|
-
return (await filteringFunc(stdout)) ? pid : null;
|
|
113
|
-
}),
|
|
114
|
-
);
|
|
115
|
-
return filtered.filter((pid): pid is string => Boolean(pid));
|
|
142
|
+
return await filterPIDsByCommandLine(result, filteringFunc);
|
|
116
143
|
}
|
|
117
144
|
|
|
118
|
-
async function getPIDsUsingPattern(pattern: string): Promise<string[]> {
|
|
145
|
+
async function getPIDsUsingPattern(pattern: string, cmdlineIncludes?: string): Promise<string[]> {
|
|
119
146
|
const args = [
|
|
120
147
|
'-if', // case insensitive, full cmdline match
|
|
121
148
|
pattern,
|
|
122
149
|
];
|
|
150
|
+
let pids: string[];
|
|
123
151
|
try {
|
|
124
152
|
const {stdout} = await exec('pgrep', args);
|
|
125
|
-
|
|
153
|
+
pids = stdout
|
|
126
154
|
.split(/\s+/)
|
|
127
155
|
.map((x) => parseInt(x, 10))
|
|
128
156
|
.filter(Number.isInteger)
|
|
@@ -131,4 +159,8 @@ async function getPIDsUsingPattern(pattern: string): Promise<string[]> {
|
|
|
131
159
|
log.debug(`'pgrep ${args.join(' ')}' didn't detect any matching processes. Return code: ${err.code}`);
|
|
132
160
|
return [];
|
|
133
161
|
}
|
|
162
|
+
if (!cmdlineIncludes || pids.length === 0) {
|
|
163
|
+
return pids;
|
|
164
|
+
}
|
|
165
|
+
return await filterPIDsByCommandLine(pids, (cmdline) => cmdline.includes(cmdlineIncludes));
|
|
134
166
|
}
|
package/lib/xcodebuild.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type {AppiumLogger, StringRecord} from '@appium/types';
|
|
|
5
5
|
import {retryInterval} from 'asyncbox';
|
|
6
6
|
import {SubProcess, exec} from 'teen_process';
|
|
7
7
|
|
|
8
|
-
import {WDA_RUNNER_BUNDLE_ID} from './constants.js';
|
|
8
|
+
import {WDA_RUNNER_BUNDLE_ID, XCODEBUILD_PROCESS_MARKER} from './constants.js';
|
|
9
9
|
import {log as defaultLogger} from './logger.js';
|
|
10
10
|
import type {NoSessionProxy} from './no-session-proxy.js';
|
|
11
11
|
import type {
|
|
@@ -431,6 +431,10 @@ export class XcodeBuild {
|
|
|
431
431
|
// with preventing to generate `/Index/DataStore` which is used by development
|
|
432
432
|
args.push('COMPILER_INDEX_STORE_ENABLE=NO');
|
|
433
433
|
|
|
434
|
+
// Tags this process so resetTestProcesses() can kill only xcodebuild instances
|
|
435
|
+
// this package started, not unrelated ones sharing the same device udid.
|
|
436
|
+
args.push(XCODEBUILD_PROCESS_MARKER);
|
|
437
|
+
|
|
434
438
|
return {cmd, args};
|
|
435
439
|
}
|
|
436
440
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-webdriveragent",
|
|
3
|
-
"version": "16.
|
|
3
|
+
"version": "16.12.1",
|
|
4
4
|
"description": "Package bundling WebDriverAgent",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Appium",
|
|
@@ -67,11 +67,11 @@
|
|
|
67
67
|
"@appium/base-driver": "^10.8.0",
|
|
68
68
|
"@appium/strongbox": "^2.0.0",
|
|
69
69
|
"@appium/support": "^7.2.6",
|
|
70
|
-
"appium-ios-simulator": "^9.
|
|
70
|
+
"appium-ios-simulator": "^9.1.3",
|
|
71
71
|
"async-lock": "^1.0.0",
|
|
72
|
-
"asyncbox": "^6.
|
|
73
|
-
"axios": "^1.
|
|
74
|
-
"teen_process": "^4.0
|
|
72
|
+
"asyncbox": "^6.4.3",
|
|
73
|
+
"axios": "^1.18.0",
|
|
74
|
+
"teen_process": "^4.2.0"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@appium/oxc-config": "^1.1.0",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"@types/async-lock": "^1.4.2",
|
|
82
82
|
"@types/node": "^26.0.0",
|
|
83
83
|
"@types/sinon": "^22.0.0",
|
|
84
|
-
"appium-xcode": "^7.
|
|
84
|
+
"appium-xcode": "^7.1.1",
|
|
85
85
|
"node-simctl": "^9.0.0",
|
|
86
86
|
"semver": "^7.3.7",
|
|
87
87
|
"sinon": "^22.0.0"
|