appium-webdriveragent 16.8.0 → 16.9.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 +13 -0
- package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_1.xcscheme +7 -0
- package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_2.xcscheme +7 -0
- package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_3.xcscheme +7 -0
- package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_tvOS.xcscheme +7 -0
- package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_watchOS.xcscheme +7 -0
- package/WebDriverAgentLib/Categories/XCUIElement+FBClassChain.m +2 -4
- package/WebDriverAgentLib/Categories/XCUIElement+FBUtilities.m +4 -2
- package/WebDriverAgentLib/Info.plist +2 -2
- package/WebDriverAgentLib/Routing/FBWebServer.m +4 -0
- package/WebDriverAgentLib/Utilities/FBXCAXClientProxy.m +9 -1
- package/WebDriverAgentLib/Utilities/FBXPath.m +3 -2
- package/WebDriverAgentTests/IntegrationTests/FBAutoAlertsHandlerTests.m +10 -4
- package/WebDriverAgentTests/IntegrationTests/FBConfigurationTests.m +1 -1
- package/WebDriverAgentTests/IntegrationTests/FBElementAttributeTests.m +1 -1
- package/WebDriverAgentTests/IntegrationTests/FBElementVisibilityTests.m +6 -13
- package/WebDriverAgentTests/IntegrationTests/FBForceTouchTests.m +3 -3
- package/WebDriverAgentTests/IntegrationTests/FBIntegrationTestCase.h +7 -5
- package/WebDriverAgentTests/IntegrationTests/FBIntegrationTestCase.m +6 -8
- package/WebDriverAgentTests/IntegrationTests/FBSafariAlertTests.m +5 -1
- package/WebDriverAgentTests/IntegrationTests/FBScrollingTests.m +3 -6
- package/WebDriverAgentTests/IntegrationTests/FBVideoRecordingTests.m +1 -2
- package/WebDriverAgentTests/IntegrationTests/FBVoiceOverTests.m +5 -5
- package/WebDriverAgentTests/IntegrationTests/FBW3CTouchActionsIntegrationTests.m +1 -1
- package/WebDriverAgentTests/IntegrationTests/FBW3CTypeActionsTests.m +3 -3
- package/WebDriverAgentTests/IntegrationTests/XCUIApplicationHelperTests.m +1 -1
- package/WebDriverAgentTests/IntegrationTests/XCUIDeviceHelperTests.m +5 -5
- package/WebDriverAgentTests/IntegrationTests/XCUIElementFBFindTests.m +22 -0
- package/build/lib/types.d.ts +11 -0
- package/build/lib/types.d.ts.map +1 -1
- package/lib/types.ts +11 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
## [16.9.1](https://github.com/appium/WebDriverAgent/compare/v16.9.0...v16.9.1) (2026-08-28)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* add missing settings to the exported WDASettings/WDACapabilities types ([#1230](https://github.com/appium/WebDriverAgent/issues/1230)) ([a9e8203](https://github.com/appium/WebDriverAgent/commit/a9e8203d71051db7a0c14c192288b2b5115cf5cf))
|
|
6
|
+
* do not trust XCUIElement.lastSnapshot for long-lived elements ([#1235](https://github.com/appium/WebDriverAgent/issues/1235)) ([57968cc](https://github.com/appium/WebDriverAgent/commit/57968cc58b69ea9f036d70a694a0c9a5b6f764f7))
|
|
7
|
+
|
|
8
|
+
## [16.9.0](https://github.com/appium/WebDriverAgent/compare/v16.8.0...v16.9.0) (2026-08-27)
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* cache the system application resolution for WDA's process lifetime ([#1232](https://github.com/appium/WebDriverAgent/issues/1232)) ([21c98f2](https://github.com/appium/WebDriverAgent/commit/21c98f253561ee3dfc93edfb1c4de6afc3200b50))
|
|
13
|
+
|
|
1
14
|
## [16.8.0](https://github.com/appium/WebDriverAgent/compare/v16.7.3...v16.8.0) (2026-08-24)
|
|
2
15
|
|
|
3
16
|
### Features
|
|
@@ -59,6 +59,13 @@
|
|
|
59
59
|
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
|
|
60
60
|
</BuildableReference>
|
|
61
61
|
</MacroExpansion>
|
|
62
|
+
<EnvironmentVariables>
|
|
63
|
+
<EnvironmentVariable
|
|
64
|
+
key = "CI"
|
|
65
|
+
value = "$(CI)"
|
|
66
|
+
isEnabled = "YES">
|
|
67
|
+
</EnvironmentVariable>
|
|
68
|
+
</EnvironmentVariables>
|
|
62
69
|
</LaunchAction>
|
|
63
70
|
<ProfileAction
|
|
64
71
|
buildConfiguration = "Release"
|
|
@@ -59,6 +59,13 @@
|
|
|
59
59
|
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
|
|
60
60
|
</BuildableReference>
|
|
61
61
|
</MacroExpansion>
|
|
62
|
+
<EnvironmentVariables>
|
|
63
|
+
<EnvironmentVariable
|
|
64
|
+
key = "CI"
|
|
65
|
+
value = "$(CI)"
|
|
66
|
+
isEnabled = "YES">
|
|
67
|
+
</EnvironmentVariable>
|
|
68
|
+
</EnvironmentVariables>
|
|
62
69
|
</LaunchAction>
|
|
63
70
|
<ProfileAction
|
|
64
71
|
buildConfiguration = "Release"
|
|
@@ -59,6 +59,13 @@
|
|
|
59
59
|
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
|
|
60
60
|
</BuildableReference>
|
|
61
61
|
</MacroExpansion>
|
|
62
|
+
<EnvironmentVariables>
|
|
63
|
+
<EnvironmentVariable
|
|
64
|
+
key = "CI"
|
|
65
|
+
value = "$(CI)"
|
|
66
|
+
isEnabled = "YES">
|
|
67
|
+
</EnvironmentVariable>
|
|
68
|
+
</EnvironmentVariables>
|
|
62
69
|
</LaunchAction>
|
|
63
70
|
<ProfileAction
|
|
64
71
|
buildConfiguration = "Release"
|
|
@@ -59,6 +59,13 @@
|
|
|
59
59
|
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
|
|
60
60
|
</BuildableReference>
|
|
61
61
|
</MacroExpansion>
|
|
62
|
+
<EnvironmentVariables>
|
|
63
|
+
<EnvironmentVariable
|
|
64
|
+
key = "CI"
|
|
65
|
+
value = "$(CI)"
|
|
66
|
+
isEnabled = "YES">
|
|
67
|
+
</EnvironmentVariable>
|
|
68
|
+
</EnvironmentVariables>
|
|
62
69
|
</LaunchAction>
|
|
63
70
|
<ProfileAction
|
|
64
71
|
buildConfiguration = "Release"
|
|
@@ -59,6 +59,13 @@
|
|
|
59
59
|
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
|
|
60
60
|
</BuildableReference>
|
|
61
61
|
</MacroExpansion>
|
|
62
|
+
<EnvironmentVariables>
|
|
63
|
+
<EnvironmentVariable
|
|
64
|
+
key = "CI"
|
|
65
|
+
value = "$(CI)"
|
|
66
|
+
isEnabled = "YES">
|
|
67
|
+
</EnvironmentVariable>
|
|
68
|
+
</EnvironmentVariables>
|
|
62
69
|
</LaunchAction>
|
|
63
70
|
<ProfileAction
|
|
64
71
|
buildConfiguration = "Release"
|
|
@@ -134,10 +134,8 @@
|
|
|
134
134
|
- (NSArray<XCUIElement *> *)fb_snapshotDescendantsMatchingChainItems:(NSArray<FBClassChainItem *> *)chainItems shouldReturnAfterFirstMatch:(BOOL)shouldReturnAfterFirstMatch
|
|
135
135
|
{
|
|
136
136
|
NSMutableArray<FBClassChainItem *> *lookupChain = chainItems.mutableCopy;
|
|
137
|
-
//
|
|
138
|
-
|
|
139
|
-
// paying for a fresh one.
|
|
140
|
-
NSArray<id<FBXCElementSnapshot>> *currentRoots = @[self.lastSnapshot ?: self.fb_cachedSnapshot ?: [self fb_customSnapshot]];
|
|
137
|
+
// self.lastSnapshot may be stale leftover from an unrelated earlier command.
|
|
138
|
+
NSArray<id<FBXCElementSnapshot>> *currentRoots = @[self.fb_cachedSnapshot ?: [self fb_customSnapshot]];
|
|
141
139
|
FBClassChainItem *chainItem = lookupChain.firstObject;
|
|
142
140
|
NSArray<id<FBXCElementSnapshot>> *candidates = [self.class fb_snapshotsMatchingItem:chainItem inRoots:currentRoots];
|
|
143
141
|
[lookupChain removeObjectAtIndex:0];
|
|
@@ -100,9 +100,11 @@
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
NSMutableArray<XCUIElement *> *matchedElements = [NSMutableArray array];
|
|
103
|
-
|
|
103
|
+
// self.lastSnapshot may be stale leftover from an unrelated earlier command.
|
|
104
|
+
id<FBXCElementSnapshot> selfSnapshot = self.fb_cachedSnapshot;
|
|
105
|
+
NSString *uid = nil == selfSnapshot
|
|
104
106
|
? self.fb_uid
|
|
105
|
-
: [FBXCElementSnapshotWrapper wdUIDWithSnapshot:
|
|
107
|
+
: [FBXCElementSnapshotWrapper wdUIDWithSnapshot:selfSnapshot];
|
|
106
108
|
if (nil != uid && [matchedIds containsObject:uid]) {
|
|
107
109
|
XCUIElement *stableSelf = [self fb_stableInstanceWithUid:uid];
|
|
108
110
|
if (1 == snapshots.count) {
|
|
@@ -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.9.1</string>
|
|
19
19
|
<key>CFBundleSignature</key>
|
|
20
20
|
<string>????</string>
|
|
21
21
|
<key>CFBundleVersion</key>
|
|
22
|
-
<string>16.
|
|
22
|
+
<string>16.9.1</string>
|
|
23
23
|
<key>NSPrincipalClass</key>
|
|
24
24
|
<string/>
|
|
25
25
|
</dict>
|
|
@@ -269,6 +269,9 @@ static NSString *const FBServerURLEndMarker = @"<-ServerURLHere";
|
|
|
269
269
|
[response respondWithString:@"<!DOCTYPE html><html><title>Health Check</title><body><p>I-AM-ALIVE</p></body></html>"];
|
|
270
270
|
}];
|
|
271
271
|
|
|
272
|
+
// Deprecated: no longer needed since appium-xcuitest-driver handles calibration
|
|
273
|
+
// itself (https://github.com/appium/appium-xcuitest-driver/pull/2948). Kept for
|
|
274
|
+
// backward compatibility; will be removed in a future major release.
|
|
272
275
|
NSString *calibrationPage = @"<html>"
|
|
273
276
|
"<title>{\"x\":null,\"y\":null}</title>"
|
|
274
277
|
"<header>"
|
|
@@ -276,6 +279,7 @@ static NSString *const FBServerURLEndMarker = @"<-ServerURLHere";
|
|
|
276
279
|
"</header>"
|
|
277
280
|
"</html>";
|
|
278
281
|
[self.server get:@"/calibrate" withBlock:^(RouteRequest *request, RouteResponse *response) {
|
|
282
|
+
[FBLogger logFmt:@"The /calibrate endpoint is deprecated and will be removed in a future release"];
|
|
279
283
|
[response respondWithString:calibrationPage];
|
|
280
284
|
}];
|
|
281
285
|
|
|
@@ -20,6 +20,7 @@ static id FBAXClient = nil;
|
|
|
20
20
|
@interface FBXCAXClientProxy ()
|
|
21
21
|
|
|
22
22
|
@property (nonatomic) NSMutableDictionary<NSNumber *, XCUIApplication *> *appsCache;
|
|
23
|
+
@property (nonatomic, nullable) id<FBXCAccessibilityElement> cachedSystemApplication;
|
|
23
24
|
|
|
24
25
|
@end
|
|
25
26
|
|
|
@@ -67,7 +68,14 @@ static id FBAXClient = nil;
|
|
|
67
68
|
|
|
68
69
|
- (id<FBXCAccessibilityElement>)systemApplication
|
|
69
70
|
{
|
|
70
|
-
|
|
71
|
+
@synchronized (self) {
|
|
72
|
+
if (nil == self.cachedSystemApplication) {
|
|
73
|
+
// The system application's identity cannot change without it being killed,
|
|
74
|
+
// which takes WDA down with it, so it is safe to cache it forever.
|
|
75
|
+
self.cachedSystemApplication = [FBAXClient systemApplication];
|
|
76
|
+
}
|
|
77
|
+
return self.cachedSystemApplication;
|
|
78
|
+
}
|
|
71
79
|
}
|
|
72
80
|
|
|
73
81
|
- (NSDictionary *)defaultParameters
|
|
@@ -258,10 +258,11 @@ static NSString *const topNodeIndexPath = @"top";
|
|
|
258
258
|
if ([root isKindOfClass:XCUIElement.class]) {
|
|
259
259
|
lookupScopeSnapshot = [self snapshotWithRoot:[(XCUIElement *)root application]
|
|
260
260
|
useNative:useNativeSnapshot];
|
|
261
|
+
// root.lastSnapshot may be stale leftover from an unrelated earlier command.
|
|
261
262
|
contextRootSnapshot = [root isKindOfClass:XCUIApplication.class]
|
|
262
263
|
? nil
|
|
263
|
-
: ([(XCUIElement *)root
|
|
264
|
-
|
|
264
|
+
: ([(XCUIElement *)root fb_cachedSnapshot] ?: [self snapshotWithRoot:(XCUIElement *)root
|
|
265
|
+
useNative:useNativeSnapshot]);
|
|
265
266
|
} else {
|
|
266
267
|
lookupScopeSnapshot = (id<FBXCElementSnapshot>)root;
|
|
267
268
|
contextRootSnapshot = nil == lookupScopeSnapshot.parent ? nil : (id<FBXCElementSnapshot>)root;
|
|
@@ -44,9 +44,12 @@
|
|
|
44
44
|
[super tearDown];
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
- (void)disabled_testAutoAcceptingOfAlerts
|
|
47
|
+
- (void)testAutoAcceptingOfAlerts
|
|
49
48
|
{
|
|
49
|
+
if (FBIntegrationTestCase.isRunningInCI) {
|
|
50
|
+
XCTSkip(@"Flaky on slow CI machines");
|
|
51
|
+
}
|
|
52
|
+
|
|
50
53
|
self.session = [FBSession
|
|
51
54
|
initWithApplication:XCUIApplication.fb_activeApplication
|
|
52
55
|
defaultAlertAction:@"accept"];
|
|
@@ -57,9 +60,12 @@
|
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
62
|
|
|
60
|
-
|
|
61
|
-
- (void)disabled_testAutoDismissingOfAlerts
|
|
63
|
+
- (void)testAutoDismissingOfAlerts
|
|
62
64
|
{
|
|
65
|
+
if (FBIntegrationTestCase.isRunningInCI) {
|
|
66
|
+
XCTSkip(@"Flaky on slow CI machines");
|
|
67
|
+
}
|
|
68
|
+
|
|
63
69
|
self.session = [FBSession
|
|
64
70
|
initWithApplication:XCUIApplication.fb_activeApplication
|
|
65
71
|
defaultAlertAction:@"dismiss"];
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
|
|
41
41
|
- (void)testAccessibilityDeadlineAbortsSnapshotRequestForDeadlockedApp
|
|
42
42
|
{
|
|
43
|
-
if (
|
|
43
|
+
if (FBIntegrationTestCase.isRunningInCI) {
|
|
44
44
|
XCTSkip(@"Deliberately freezes the app for several seconds, too slow/flaky for CI");
|
|
45
45
|
}
|
|
46
46
|
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
// Images are neither accessibility elements nor contain them, so both checks should fail
|
|
67
67
|
XCUIElement *imageElement = self.testedApplication.images.allElementsBoundByIndex.firstObject;
|
|
68
68
|
if (nil == imageElement) {
|
|
69
|
-
|
|
69
|
+
XCTSkip(@"No image element available to test");
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
XCTAssertTrue(imageElement.exists);
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
- (void)testSpringBoardIcons
|
|
23
23
|
{
|
|
24
24
|
if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
|
|
25
|
-
|
|
25
|
+
XCTSkip(@"Not applicable to iPad");
|
|
26
26
|
}
|
|
27
27
|
[self launchApplication];
|
|
28
28
|
[self goToSpringBoardFirstPage];
|
|
@@ -37,21 +37,14 @@
|
|
|
37
37
|
XCTAssertFalse(self.springboard.icons[@"IntegrationApp"].firstMatch.fb_isVisible);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
- (void)
|
|
40
|
+
- (void)testIconsFromSearchDashboard
|
|
41
41
|
{
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
if (FBIntegrationTestCase.isRunningInCI) {
|
|
43
|
+
// Causes: Failure fetching attributes for element <XCAccessibilityElement>
|
|
44
|
+
// Device element: Error Domain=XCTDaemonErrorDomain Code=13 "Value for attribute 5017 is an error."
|
|
45
|
+
XCTSkip(@"Fails with XCTDaemonErrorDomain Code=13 on CI simulators");
|
|
45
46
|
}
|
|
46
|
-
[self launchApplication];
|
|
47
|
-
[self goToSpringBoardExtras];
|
|
48
|
-
XCTAssertFalse(self.springboard.icons[@"Extras"].otherElements[@"Contacts"].fb_isVisible);
|
|
49
|
-
}
|
|
50
47
|
|
|
51
|
-
- (void)disabled_testIconsFromSearchDashboard
|
|
52
|
-
{
|
|
53
|
-
// This test causes:
|
|
54
|
-
// Failure fetching attributes for element <XCAccessibilityElement: 0x60800044dd10> Device element: Error Domain=XCTDaemonErrorDomain Code=13 "Value for attribute 5017 is an error." UserInfo={NSLocalizedDescription=Value for attribute 5017 is an error.}
|
|
55
48
|
[self launchApplication];
|
|
56
49
|
[self goToSpringBoardDashboard];
|
|
57
50
|
XCTAssertFalse(self.springboard.icons[@"Reminders"].fb_isVisible);
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
@"FIXME: Unstable on platform version 27.");
|
|
62
62
|
|
|
63
63
|
if (![XCUIDevice sharedDevice].supportsPressureInteraction) {
|
|
64
|
-
|
|
64
|
+
XCTSkip(@"Device does not support pressure interaction");
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
[self verifyForceTapWithOrientation:UIDeviceOrientationPortrait];
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
- (void)testForceTapInLandscapeLeft
|
|
71
71
|
{
|
|
72
72
|
if (![XCUIDevice sharedDevice].supportsPressureInteraction) {
|
|
73
|
-
|
|
73
|
+
XCTSkip(@"Device does not support pressure interaction");
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
[self verifyForceTapWithOrientation:UIDeviceOrientationLandscapeLeft];
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
- (void)testForceTapInLandscapeRight
|
|
80
80
|
{
|
|
81
81
|
if (![XCUIDevice sharedDevice].supportsPressureInteraction) {
|
|
82
|
-
|
|
82
|
+
XCTSkip(@"Device does not support pressure interaction");
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
[self verifyForceTapWithOrientation:UIDeviceOrientationLandscapeRight];
|
|
@@ -28,6 +28,13 @@ extern NSArray<NSString *> *const FBMainViewButtonLabels;
|
|
|
28
28
|
@property (nonatomic, strong, readonly) XCUIApplication *testedApplication;
|
|
29
29
|
@property (nonatomic, strong, readonly) XCUIApplication *springboard;
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
Whether tests are running under CI, as forwarded into the test process by the
|
|
33
|
+
scheme's CI environment variable (see Fastlane/Fastfile). Use to XCTSkip tests
|
|
34
|
+
that are known to be too slow/flaky/unsupported for CI.
|
|
35
|
+
*/
|
|
36
|
+
+ (BOOL)isRunningInCI;
|
|
37
|
+
|
|
31
38
|
/**
|
|
32
39
|
Launches application and resets side effects of testing like orientation etc.
|
|
33
40
|
*/
|
|
@@ -53,11 +60,6 @@ extern NSArray<NSString *> *const FBMainViewButtonLabels;
|
|
|
53
60
|
*/
|
|
54
61
|
- (void)goToSpringBoardFirstPage;
|
|
55
62
|
|
|
56
|
-
/**
|
|
57
|
-
Navigates to SpringBoard path with Extras folder
|
|
58
|
-
*/
|
|
59
|
-
- (void)goToSpringBoardExtras;
|
|
60
|
-
|
|
61
63
|
/**
|
|
62
64
|
Navigates to SpringBoard's dashboard
|
|
63
65
|
*/
|
|
@@ -43,6 +43,12 @@ NSArray<NSString *> *const FBMainViewButtonLabels = @[
|
|
|
43
43
|
|
|
44
44
|
@implementation FBIntegrationTestCase
|
|
45
45
|
|
|
46
|
+
+ (BOOL)isRunningInCI
|
|
47
|
+
{
|
|
48
|
+
NSString *value = NSProcessInfo.processInfo.environment[@"CI"];
|
|
49
|
+
return nil != value && value.length > 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
46
52
|
- (void)setUp
|
|
47
53
|
{
|
|
48
54
|
// Enable it to get extended XCTest logs printed into the console
|
|
@@ -105,14 +111,6 @@ NSArray<NSString *> *const FBMainViewButtonLabels = @[
|
|
|
105
111
|
FBAssertWaitTillBecomesTrue(XCUIApplication.fb_systemApplication.icons[@"Calendar"].firstMatch.fb_isVisible);
|
|
106
112
|
}
|
|
107
113
|
|
|
108
|
-
- (void)goToSpringBoardExtras
|
|
109
|
-
{
|
|
110
|
-
[self goToSpringBoardFirstPage];
|
|
111
|
-
[self.springboard swipeLeft];
|
|
112
|
-
[self.testedApplication fb_waitUntilStable];
|
|
113
|
-
FBAssertWaitTillBecomesTrue(self.springboard.icons[@"Extras"].fb_isVisible);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
114
|
- (void)goToSpringBoardDashboard
|
|
117
115
|
{
|
|
118
116
|
[self goToSpringBoardFirstPage];
|
|
@@ -42,8 +42,12 @@
|
|
|
42
42
|
[self.session terminateApplicationWithBundleId:FB_SAFARI_BUNDLE_ID];
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
- (void)
|
|
45
|
+
- (void)testCanHandleSafariInputPrompt
|
|
46
46
|
{
|
|
47
|
+
if (FBIntegrationTestCase.isRunningInCI) {
|
|
48
|
+
XCTSkip(@"Depends on an external website (w3schools.com), unreliable on CI");
|
|
49
|
+
}
|
|
50
|
+
|
|
47
51
|
XCUIElement *urlInput = [[self.safariApp
|
|
48
52
|
descendantsMatchingType:XCUIElementTypeTextField]
|
|
49
53
|
matchingPredicate:[
|
|
@@ -52,8 +52,7 @@
|
|
|
52
52
|
- (void)testSimpleScroll
|
|
53
53
|
{
|
|
54
54
|
if (SYSTEM_VERSION_LESS_THAN(@"16.0")) {
|
|
55
|
-
|
|
56
|
-
return;
|
|
55
|
+
XCTSkip(@"Requires iOS 16.0+");
|
|
57
56
|
}
|
|
58
57
|
|
|
59
58
|
FBAssertVisibleCell(@"0");
|
|
@@ -90,8 +89,7 @@
|
|
|
90
89
|
- (void)testNativeFarScrollToVisible
|
|
91
90
|
{
|
|
92
91
|
if (SYSTEM_VERSION_LESS_THAN(@"16.0")) {
|
|
93
|
-
|
|
94
|
-
return;
|
|
92
|
+
XCTSkip(@"Requires iOS 16.0+");
|
|
95
93
|
}
|
|
96
94
|
|
|
97
95
|
NSString *cellName = @"80";
|
|
@@ -114,8 +112,7 @@
|
|
|
114
112
|
XCTAssertTrue(element.fb_isVisible);
|
|
115
113
|
|
|
116
114
|
if (SYSTEM_VERSION_LESS_THAN(@"16.0")) {
|
|
117
|
-
|
|
118
|
-
return;
|
|
115
|
+
XCTSkip(@"Requires iOS 16.0+");
|
|
119
116
|
}
|
|
120
117
|
|
|
121
118
|
[element tap];
|
|
@@ -32,9 +32,8 @@
|
|
|
32
32
|
{
|
|
33
33
|
XCTSkip(@"Failed on Azure Pipeline. Local run succeeded.");
|
|
34
34
|
|
|
35
|
-
// Video recording is only available since iOS 17
|
|
36
35
|
if (SYSTEM_VERSION_LESS_THAN(@"17.0")) {
|
|
37
|
-
|
|
36
|
+
XCTSkip(@"Video recording is only available since iOS 17");
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
FBScreenRecordingRequest *recordingRequest = [[FBScreenRecordingRequest alloc] initWithFps:24
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
- (void)testVoiceOverUnavailableOnOlderSDK
|
|
33
33
|
{
|
|
34
34
|
if ([XCUIDevice.sharedDevice fb_isVoiceOverServiceAvailable]) {
|
|
35
|
-
|
|
35
|
+
XCTSkip(@"Only applicable when the VoiceOver service is unavailable");
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
NSError *error = nil;
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
- (void)testVoiceOverEnableDisableAndNavigation
|
|
45
45
|
{
|
|
46
46
|
if (SYSTEM_VERSION_LESS_THAN(@"27.0")) {
|
|
47
|
-
|
|
47
|
+
XCTSkip(@"Requires iOS 27.0+");
|
|
48
48
|
}
|
|
49
49
|
if (![XCUIDevice.sharedDevice fb_isVoiceOverServiceAvailable]) {
|
|
50
|
-
|
|
50
|
+
XCTSkip(@"VoiceOver service is unavailable on this device");
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
[self launchApplication];
|
|
@@ -78,10 +78,10 @@
|
|
|
78
78
|
- (void)testVoiceOverMoveBackward
|
|
79
79
|
{
|
|
80
80
|
if (SYSTEM_VERSION_LESS_THAN(@"27.0")) {
|
|
81
|
-
|
|
81
|
+
XCTSkip(@"Requires iOS 27.0+");
|
|
82
82
|
}
|
|
83
83
|
if (![XCUIDevice.sharedDevice fb_isVoiceOverServiceAvailable]) {
|
|
84
|
-
|
|
84
|
+
XCTSkip(@"VoiceOver service is unavailable on this device");
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
[self launchApplication];
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
- (void)testErroneousGestures
|
|
33
33
|
{
|
|
34
34
|
if (![XCPointerEvent.class fb_areKeyEventsSupported]) {
|
|
35
|
-
|
|
35
|
+
XCTSkip(@"Key events are not supported on this platform");
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
NSArray<NSArray<NSDictionary<NSString *, id> *> *> *invalidGestures =
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
- (void)testTextTyping
|
|
122
122
|
{
|
|
123
123
|
if (![XCPointerEvent.class fb_areKeyEventsSupported]) {
|
|
124
|
-
|
|
124
|
+
XCTSkip(@"Key events are not supported on this platform");
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
XCUIElement *textField = self.testedApplication.textFields[@"aIdentifier"];
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
- (void)testTextTypingWithEmptyActions
|
|
161
161
|
{
|
|
162
162
|
if (![XCPointerEvent.class fb_areKeyEventsSupported]) {
|
|
163
|
-
|
|
163
|
+
XCTSkip(@"Key events are not supported on this platform");
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
XCUIElement *textField = self.testedApplication.textFields[@"aIdentifier"];
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
{
|
|
91
91
|
NSString *adderss = [XCUIDevice sharedDevice].fb_wifiIPAddress;
|
|
92
92
|
if (!adderss) {
|
|
93
|
-
|
|
93
|
+
XCTSkip(@"No WiFi IP address available on this device");
|
|
94
94
|
}
|
|
95
95
|
NSRange range = [adderss rangeOfString:@"^([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})" options:NSRegularExpressionSearch];
|
|
96
96
|
XCTAssertTrue(range.location != NSNotFound);
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
- (void)testUrlSchemeActivation
|
|
120
120
|
{
|
|
121
121
|
if (SYSTEM_VERSION_LESS_THAN(@"16.4")) {
|
|
122
|
-
|
|
122
|
+
XCTSkip(@"Requires iOS 16.4+");
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
NSError *error;
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
- (void)testUrlSchemeActivationWithApp
|
|
132
132
|
{
|
|
133
133
|
if (SYSTEM_VERSION_LESS_THAN(@"16.4")) {
|
|
134
|
-
|
|
134
|
+
XCTSkip(@"Requires iOS 16.4+");
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
NSError *error;
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
- (void)testSimulatedLocationSetup
|
|
147
147
|
{
|
|
148
148
|
if (SYSTEM_VERSION_LESS_THAN(@"16.4")) {
|
|
149
|
-
|
|
149
|
+
XCTSkip(@"Requires iOS 16.4+");
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
CLLocation *simulatedLocation = [[CLLocation alloc] initWithLatitude:50 longitude:50];
|
|
@@ -226,7 +226,7 @@
|
|
|
226
226
|
- (void)testAppearance
|
|
227
227
|
{
|
|
228
228
|
if (SYSTEM_VERSION_LESS_THAN(@"15.0")) {
|
|
229
|
-
|
|
229
|
+
XCTSkip(@"Requires iOS 15.0+");
|
|
230
230
|
}
|
|
231
231
|
NSError *error;
|
|
232
232
|
XCTAssertTrue([XCUIDevice.sharedDevice fb_setAppearance:FBUIInterfaceAppearanceDark error:&error]);
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
#import "XCUIElement+FBResolve.h"
|
|
22
22
|
#import "FBXPath.h"
|
|
23
23
|
#import "FBXCodeCompatibility.h"
|
|
24
|
+
#import "XCUIElement+FBUtilities.h"
|
|
24
25
|
|
|
25
26
|
@interface XCUIElementFBFindTests : FBIntegrationTestCase
|
|
26
27
|
@property (nonatomic, strong) XCUIElement *testedView;
|
|
@@ -536,3 +537,24 @@
|
|
|
536
537
|
}
|
|
537
538
|
|
|
538
539
|
@end
|
|
540
|
+
|
|
541
|
+
@interface XCUIElementFBFindTests_StaleAppSnapshot : FBIntegrationTestCase
|
|
542
|
+
@end
|
|
543
|
+
@implementation XCUIElementFBFindTests_StaleAppSnapshot
|
|
544
|
+
|
|
545
|
+
// Regression test for https://github.com/appium/appium/issues/22672.
|
|
546
|
+
- (void)testClassChainWithIntermediatePositionAfterStaleAppSnapshot
|
|
547
|
+
{
|
|
548
|
+
[self launchApplication];
|
|
549
|
+
// Simulates a stale snapshot cached by an earlier, unrelated command (e.g. GET /source).
|
|
550
|
+
[self.testedApplication fb_customSnapshot];
|
|
551
|
+
[self goToDeepHierarchyPage];
|
|
552
|
+
|
|
553
|
+
NSString *query = @"**/XCUIElementTypeOther[`label == \"View 10\"`][1]/**/XCUIElementTypeOther[`label BEGINSWITH \"View 19\"`]";
|
|
554
|
+
NSArray<XCUIElement *> *matches = [self.testedApplication fb_descendantsMatchingClassChain:query
|
|
555
|
+
shouldReturnAfterFirstMatch:NO];
|
|
556
|
+
XCTAssertEqual(matches.count, 1);
|
|
557
|
+
XCTAssertEqualObjects(matches.firstObject.label, @"View 19");
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
@end
|
package/build/lib/types.d.ts
CHANGED
|
@@ -11,6 +11,16 @@ export interface WDASettings {
|
|
|
11
11
|
keyboardAutocorrection?: boolean;
|
|
12
12
|
keyboardPrediction?: boolean;
|
|
13
13
|
customSnapshotTimeout?: number;
|
|
14
|
+
accessibilityDeadline?: number;
|
|
15
|
+
enforceCustomSnapshots?: boolean;
|
|
16
|
+
limitXPathContextScope?: boolean;
|
|
17
|
+
includeHittableInPageSource?: boolean;
|
|
18
|
+
includeNativeFrameInPageSource?: boolean;
|
|
19
|
+
includeNativeAccessibilityElementInPageSource?: boolean;
|
|
20
|
+
includeMinMaxValueInPageSource?: boolean;
|
|
21
|
+
includeCustomActionsInPageSource?: boolean;
|
|
22
|
+
respectSystemAlerts?: boolean;
|
|
23
|
+
autoClickAlertSelector?: string;
|
|
14
24
|
snapshotMaxDepth?: number;
|
|
15
25
|
snapshotMaxChildren?: number;
|
|
16
26
|
useFirstMatch?: boolean;
|
|
@@ -46,6 +56,7 @@ export interface WDACapabilities {
|
|
|
46
56
|
forceSimulatorSoftwareKeyboardPresence?: boolean;
|
|
47
57
|
defaultAlertAction?: 'accept' | 'dismiss';
|
|
48
58
|
appLaunchStateTimeoutSec?: number;
|
|
59
|
+
accessibilityDeadline?: number;
|
|
49
60
|
}
|
|
50
61
|
export interface WebDriverAgentArgs {
|
|
51
62
|
device: AppleDevice;
|
package/build/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AAG/C,MAAM,WAAW,WAAW;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC1C,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,eAAe,CAAC;IACxG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAGD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,kBAAkB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC1C,wBAAwB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types.ts
CHANGED
|
@@ -13,6 +13,16 @@ export interface WDASettings {
|
|
|
13
13
|
keyboardAutocorrection?: boolean;
|
|
14
14
|
keyboardPrediction?: boolean;
|
|
15
15
|
customSnapshotTimeout?: number;
|
|
16
|
+
accessibilityDeadline?: number;
|
|
17
|
+
enforceCustomSnapshots?: boolean;
|
|
18
|
+
limitXPathContextScope?: boolean;
|
|
19
|
+
includeHittableInPageSource?: boolean;
|
|
20
|
+
includeNativeFrameInPageSource?: boolean;
|
|
21
|
+
includeNativeAccessibilityElementInPageSource?: boolean;
|
|
22
|
+
includeMinMaxValueInPageSource?: boolean;
|
|
23
|
+
includeCustomActionsInPageSource?: boolean;
|
|
24
|
+
respectSystemAlerts?: boolean;
|
|
25
|
+
autoClickAlertSelector?: string;
|
|
16
26
|
snapshotMaxDepth?: number;
|
|
17
27
|
snapshotMaxChildren?: number;
|
|
18
28
|
useFirstMatch?: boolean;
|
|
@@ -50,6 +60,7 @@ export interface WDACapabilities {
|
|
|
50
60
|
forceSimulatorSoftwareKeyboardPresence?: boolean;
|
|
51
61
|
defaultAlertAction?: 'accept' | 'dismiss';
|
|
52
62
|
appLaunchStateTimeoutSec?: number;
|
|
63
|
+
accessibilityDeadline?: number;
|
|
53
64
|
}
|
|
54
65
|
|
|
55
66
|
export interface WebDriverAgentArgs {
|