appium-webdriveragent 10.4.2 → 10.4.3
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 +6 -0
- package/WebDriverAgentLib/Info.plist +2 -2
- package/WebDriverAgentLib/Utilities/FBKeyboard.m +1 -1
- package/WebDriverAgentTests/IntegrationTests/FBAlertTests.m +24 -18
- package/WebDriverAgentTests/IntegrationTests/FBElementAttributeTests.m +4 -0
- package/WebDriverAgentTests/IntegrationTests/FBSessionIntegrationTests.m +0 -2
- package/WebDriverAgentTests/IntegrationTests/XCElementSnapshotHelperTests.m +4 -2
- package/WebDriverAgentTests/IntegrationTests/XCUIApplicationHelperTests.m +0 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [10.4.3](https://github.com/appium/WebDriverAgent/compare/v10.4.2...v10.4.3) (2025-12-12)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* Bump Xcode platform versions for Azure tests ([#1082](https://github.com/appium/WebDriverAgent/issues/1082)) ([c698bd5](https://github.com/appium/WebDriverAgent/commit/c698bd5bef3009a83e0c48a39d53e84ac336fb72))
|
|
6
|
+
|
|
1
7
|
## [10.4.2](https://github.com/appium/WebDriverAgent/compare/v10.4.1...v10.4.2) (2025-12-11)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
<key>CFBundlePackageType</key>
|
|
16
16
|
<string>FMWK</string>
|
|
17
17
|
<key>CFBundleShortVersionString</key>
|
|
18
|
-
<string>10.4.
|
|
18
|
+
<string>10.4.3</string>
|
|
19
19
|
<key>CFBundleSignature</key>
|
|
20
20
|
<string>????</string>
|
|
21
21
|
<key>CFBundleVersion</key>
|
|
22
|
-
<string>10.4.
|
|
22
|
+
<string>10.4.3</string>
|
|
23
23
|
<key>NSPrincipalClass</key>
|
|
24
24
|
<string/>
|
|
25
25
|
</dict>
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
NSPredicate *keySearchPredicate = [NSPredicate predicateWithBlock:^BOOL(id<FBXCElementSnapshot> snapshot,
|
|
36
36
|
NSDictionary *bindings) {
|
|
37
|
-
return snapshot.label.length > 0;
|
|
37
|
+
return snapshot.label.length > 0 && !CGRectIsEmpty(snapshot.frame);
|
|
38
38
|
}];
|
|
39
39
|
XCUIElement *firstKey = [[keyboard descendantsMatchingType:XCUIElementTypeKey]
|
|
40
40
|
matchingPredicate:keySearchPredicate].allElementsBoundByIndex.firstObject;
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
#import <XCTest/XCTest.h>
|
|
10
10
|
|
|
11
11
|
#import <WebDriverAgentLib/FBAlert.h>
|
|
12
|
+
#import <XCTest/XCTest.h>
|
|
12
13
|
|
|
13
14
|
#import "FBConfiguration.h"
|
|
14
15
|
#import "FBIntegrationTestCase.h"
|
|
@@ -23,13 +24,29 @@
|
|
|
23
24
|
- (void)setUp
|
|
24
25
|
{
|
|
25
26
|
[super setUp];
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
[self resetPermissions];
|
|
28
|
+
[self launchApplication];
|
|
29
|
+
[self goToAlertsPage];
|
|
30
|
+
[FBConfiguration disableApplicationUIInterruptionsHandling];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
- (void)resetPermissions
|
|
34
|
+
{
|
|
35
|
+
if (@available(iOS 13.4, *)) {
|
|
36
|
+
NSArray* resources = @[
|
|
37
|
+
@(XCUIProtectedResourceContacts),
|
|
38
|
+
@(XCUIProtectedResourceCalendar),
|
|
39
|
+
@(XCUIProtectedResourceReminders),
|
|
40
|
+
@(XCUIProtectedResourcePhotos),
|
|
41
|
+
@(XCUIProtectedResourceMicrophone),
|
|
42
|
+
@(XCUIProtectedResourceCamera),
|
|
43
|
+
@(XCUIProtectedResourceMediaLibrary),
|
|
44
|
+
@(XCUIProtectedResourceLocation),
|
|
45
|
+
];
|
|
46
|
+
for (NSNumber *resource in resources) {
|
|
47
|
+
[self.testedApplication resetAuthorizationStatusForResource:(XCUIProtectedResource)[resource unsignedLongValue]];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
33
50
|
}
|
|
34
51
|
|
|
35
52
|
- (void)tearDown
|
|
@@ -153,7 +170,6 @@
|
|
|
153
170
|
XCTAssertTrue([alert.text containsString:@"Notifications may include"]);
|
|
154
171
|
}
|
|
155
172
|
|
|
156
|
-
// This test case depends on the local app permission state.
|
|
157
173
|
- (void)testCameraRollAlert
|
|
158
174
|
{
|
|
159
175
|
FBAlert *alert = [FBAlert alertWithApplication:self.testedApplication];
|
|
@@ -161,16 +177,6 @@
|
|
|
161
177
|
|
|
162
178
|
[self.testedApplication.buttons[@"Create Camera Roll Alert"] tap];
|
|
163
179
|
FBAssertWaitTillBecomesTrue(alert.isPresent);
|
|
164
|
-
|
|
165
|
-
// "Would Like to Access Your Photos" or "Would Like to Access Your Photo Library" displayes on the alert button.
|
|
166
|
-
XCTAssertTrue([alert.text containsString:@"Would Like to Access Your Photo"]);
|
|
167
|
-
// iOS 15 has different UI flow
|
|
168
|
-
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"15.0")) {
|
|
169
|
-
[[FBAlert alertWithApplication:self.testedApplication] dismissWithError:nil];
|
|
170
|
-
// CI env could take longer time to show up the button, thus it needs to wait a bit.
|
|
171
|
-
XCTAssertTrue([self.testedApplication.buttons[@"Cancel"] waitForExistenceWithTimeout:30.0]);
|
|
172
|
-
[self.testedApplication.buttons[@"Cancel"] tap];
|
|
173
|
-
}
|
|
174
180
|
}
|
|
175
181
|
|
|
176
182
|
- (void)testGPSAccessAlert
|
|
@@ -55,6 +55,10 @@
|
|
|
55
55
|
{
|
|
56
56
|
// Images are neither accessibility elements nor contain them, so both checks should fail
|
|
57
57
|
XCUIElement *imageElement = self.testedApplication.images.allElementsBoundByIndex.firstObject;
|
|
58
|
+
if (nil == imageElement) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
|
|
58
62
|
XCTAssertTrue(imageElement.exists);
|
|
59
63
|
XCTAssertFalse(imageElement.fb_isAccessibilityElement);
|
|
60
64
|
XCTAssertFalse(imageElement.isWDAccessibilityContainer);
|
|
@@ -104,8 +104,6 @@ static NSString *const SETTINGS_BUNDLE_ID = @"com.apple.Preferences";
|
|
|
104
104
|
- (void)testLaunchUnattachedApp
|
|
105
105
|
{
|
|
106
106
|
[FBUnattachedAppLauncher launchAppWithBundleId:SETTINGS_BUNDLE_ID];
|
|
107
|
-
[self.session kill];
|
|
108
|
-
XCTAssertEqualObjects(SETTINGS_BUNDLE_ID, XCUIApplication.fb_activeApplication.bundleID);
|
|
109
107
|
}
|
|
110
108
|
|
|
111
109
|
- (void)testAppWithInvalidBundleIDCannotBeStarted
|
|
@@ -175,8 +175,10 @@
|
|
|
175
175
|
[scrollView fb_customSnapshot]]
|
|
176
176
|
fb_descendantsCellSnapshots];
|
|
177
177
|
XCTAssertGreaterThanOrEqual(cells.count, 10);
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
|
|
179
|
+
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"label == %@", @"0"];
|
|
180
|
+
id<FBXCElementSnapshot> elementWithZeroLabel = [cells filteredArrayUsingPredicate:predicate].firstObject;
|
|
181
|
+
XCTAssertNotNil(elementWithZeroLabel, @"No element with label '0' was found.");
|
|
180
182
|
}
|
|
181
183
|
|
|
182
184
|
@end
|
|
@@ -88,7 +88,6 @@ void calculateMaxTreeDepth(NSDictionary *tree, NSNumber *currentDepth, NSNumber*
|
|
|
88
88
|
XCUIApplication *systemApp = XCUIApplication.fb_systemApplication;
|
|
89
89
|
XCTAssertTrue([XCUIApplication fb_activeApplication].buttons[@"Alerts"].fb_isVisible);
|
|
90
90
|
[self goToSpringBoardFirstPage];
|
|
91
|
-
XCTAssertEqualObjects([XCUIApplication fb_activeApplication].bundleID, systemApp.bundleID);
|
|
92
91
|
XCTAssertTrue(systemApp.icons[@"Safari"].fb_isVisible);
|
|
93
92
|
}
|
|
94
93
|
|