appium-webdriveragent 8.9.4 → 8.10.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.
- package/CHANGELOG.md +6 -0
- package/WebDriverAgentLib/Categories/XCUIElement+FBTyping.m +1 -1
- package/WebDriverAgentLib/Commands/FBSessionCommands.m +8 -0
- package/WebDriverAgentLib/Info.plist +2 -2
- package/WebDriverAgentLib/Utilities/FBConfiguration.h +9 -0
- package/WebDriverAgentLib/Utilities/FBConfiguration.m +12 -0
- package/WebDriverAgentLib/Utilities/FBSettings.h +1 -0
- package/WebDriverAgentLib/Utilities/FBSettings.m +1 -0
- package/WebDriverAgentTests/IntegrationTests/FBVideoRecordingTests.m +2 -0
- package/WebDriverAgentTests/IntegrationTests/XCUIApplicationHelperTests.m +19 -1
- package/build/lib/types.d.ts +1 -0
- package/build/lib/types.d.ts.map +1 -1
- package/lib/types.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [8.10.0](https://github.com/appium/WebDriverAgent/compare/v8.9.4...v8.10.0) (2024-11-07)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* add useClearTextShortcut setting ([#952](https://github.com/appium/WebDriverAgent/issues/952)) ([61bc051](https://github.com/appium/WebDriverAgent/commit/61bc051180d691d26233c66a5a76ed20b7fa09d2))
|
|
6
|
+
|
|
1
7
|
## [8.9.4](https://github.com/appium/WebDriverAgent/compare/v8.9.3...v8.9.4) (2024-10-17)
|
|
2
8
|
|
|
3
9
|
### Bug Fixes
|
|
@@ -166,7 +166,7 @@ BOOL FBTypeText(NSString *text, NSUInteger typingSpeed, NSError **error)
|
|
|
166
166
|
[self fb_prepareForTextInputWithSnapshot:snapshot];
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
if (retry == 0) {
|
|
169
|
+
if (retry == 0 && FBConfiguration.useClearTextShortcut) {
|
|
170
170
|
// 1st attempt is via the IOHIDEvent as the fastest operation
|
|
171
171
|
// https://github.com/appium/appium/issues/19389
|
|
172
172
|
[[XCUIDevice sharedDevice] fb_performIOHIDEventWithPage:0x07 // kHIDPage_KeyboardOrKeypad
|
|
@@ -141,6 +141,10 @@
|
|
|
141
141
|
[FBConfiguration forceSimulatorSoftwareKeyboardPresence];
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
+
if (capabilities[FB_SETTING_USE_CLEAR_TEXT_SHORTCUT]) {
|
|
145
|
+
[FBConfiguration setUseClearTextShortcut:[capabilities[FB_SETTING_USE_CLEAR_TEXT_SHORTCUT] boolValue]];
|
|
146
|
+
}
|
|
147
|
+
|
|
144
148
|
NSString *bundleID = capabilities[FB_CAP_BUNDLE_ID];
|
|
145
149
|
NSString *initialUrl = capabilities[FB_CAP_INITIAL_URL];
|
|
146
150
|
XCUIApplication *app = nil;
|
|
@@ -351,6 +355,7 @@
|
|
|
351
355
|
FB_SETTING_DEFAULT_ALERT_ACTION: request.session.defaultAlertAction ?: @"",
|
|
352
356
|
FB_SETTING_MAX_TYPING_FREQUENCY: @([FBConfiguration maxTypingFrequency]),
|
|
353
357
|
FB_SETTING_RESPECT_SYSTEM_ALERTS: @([FBConfiguration shouldRespectSystemAlerts]),
|
|
358
|
+
FB_SETTING_USE_CLEAR_TEXT_SHORTCUT: @([FBConfiguration useClearTextShortcut]),
|
|
354
359
|
#if !TARGET_OS_TV
|
|
355
360
|
FB_SETTING_SCREENSHOT_ORIENTATION: [FBConfiguration humanReadableScreenshotOrientation],
|
|
356
361
|
#endif
|
|
@@ -449,6 +454,9 @@
|
|
|
449
454
|
if (nil != [settings objectForKey:FB_SETTING_MAX_TYPING_FREQUENCY]) {
|
|
450
455
|
[FBConfiguration setMaxTypingFrequency:[[settings objectForKey:FB_SETTING_MAX_TYPING_FREQUENCY] unsignedIntegerValue]];
|
|
451
456
|
}
|
|
457
|
+
if (nil != [settings objectForKey:FB_SETTING_USE_CLEAR_TEXT_SHORTCUT]) {
|
|
458
|
+
[FBConfiguration setUseClearTextShortcut:[[settings objectForKey:FB_SETTING_USE_CLEAR_TEXT_SHORTCUT] boolValue]];
|
|
459
|
+
}
|
|
452
460
|
|
|
453
461
|
#if !TARGET_OS_TV
|
|
454
462
|
if (nil != [settings objectForKey:FB_SETTING_SCREENSHOT_ORIENTATION]) {
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
<key>CFBundlePackageType</key>
|
|
16
16
|
<string>FMWK</string>
|
|
17
17
|
<key>CFBundleShortVersionString</key>
|
|
18
|
-
<string>8.
|
|
18
|
+
<string>8.10.0</string>
|
|
19
19
|
<key>CFBundleSignature</key>
|
|
20
20
|
<string>????</string>
|
|
21
21
|
<key>CFBundleVersion</key>
|
|
22
|
-
<string>8.
|
|
22
|
+
<string>8.10.0</string>
|
|
23
23
|
<key>NSPrincipalClass</key>
|
|
24
24
|
<string/>
|
|
25
25
|
</dict>
|
|
@@ -283,6 +283,15 @@ typedef NS_ENUM(NSInteger, FBConfigurationKeyboardPreference) {
|
|
|
283
283
|
+ (void)setDismissAlertButtonSelector:(NSString *)classChainSelector;
|
|
284
284
|
+ (NSString *)dismissAlertButtonSelector;
|
|
285
285
|
|
|
286
|
+
/**
|
|
287
|
+
* Whether to use HIDEvent for text clear.
|
|
288
|
+
* By default this is enabled and HIDEvent is used for text clear.
|
|
289
|
+
*
|
|
290
|
+
* @param enabled Either YES or NO
|
|
291
|
+
*/
|
|
292
|
+
+ (void)setUseClearTextShortcut:(BOOL)enabled;
|
|
293
|
+
+ (BOOL)useClearTextShortcut;
|
|
294
|
+
|
|
286
295
|
#if !TARGET_OS_TV
|
|
287
296
|
/**
|
|
288
297
|
Set the screenshot orientation for iOS
|
|
@@ -56,6 +56,7 @@ static NSTimeInterval FBWaitForIdleTimeout;
|
|
|
56
56
|
static NSTimeInterval FBAnimationCoolOffTimeout;
|
|
57
57
|
static BOOL FBShouldUseCompactResponses;
|
|
58
58
|
static NSString *FBElementResponseAttributes;
|
|
59
|
+
static BOOL FBUseClearTextShortcut;
|
|
59
60
|
#if !TARGET_OS_TV
|
|
60
61
|
static UIInterfaceOrientation FBScreenshotOrientation;
|
|
61
62
|
#endif
|
|
@@ -438,6 +439,16 @@ static UIInterfaceOrientation FBScreenshotOrientation;
|
|
|
438
439
|
return FBDismissAlertButtonSelector;
|
|
439
440
|
}
|
|
440
441
|
|
|
442
|
+
+ (void)setUseClearTextShortcut:(BOOL)enabled
|
|
443
|
+
{
|
|
444
|
+
FBUseClearTextShortcut = enabled;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
+ (BOOL)useClearTextShortcut
|
|
448
|
+
{
|
|
449
|
+
return FBUseClearTextShortcut;
|
|
450
|
+
}
|
|
451
|
+
|
|
441
452
|
#if !TARGET_OS_TV
|
|
442
453
|
+ (BOOL)setScreenshotOrientation:(NSString *)orientation error:(NSError **)error
|
|
443
454
|
{
|
|
@@ -503,6 +514,7 @@ static UIInterfaceOrientation FBScreenshotOrientation;
|
|
|
503
514
|
FBAnimationCoolOffTimeout = 2.;
|
|
504
515
|
// 50 should be enough for the majority of the cases. The performance is acceptable for values up to 100.
|
|
505
516
|
FBSetCustomParameterForElementSnapshot(FBSnapshotMaxDepthKey, @50);
|
|
517
|
+
FBUseClearTextShortcut = YES;
|
|
506
518
|
#if !TARGET_OS_TV
|
|
507
519
|
FBScreenshotOrientation = UIInterfaceOrientationUnknown;
|
|
508
520
|
#endif
|
|
@@ -40,6 +40,7 @@ extern NSString* const FB_SETTING_WAIT_FOR_IDLE_TIMEOUT;
|
|
|
40
40
|
extern NSString* const FB_SETTING_ANIMATION_COOL_OFF_TIMEOUT;
|
|
41
41
|
extern NSString* const FB_SETTING_MAX_TYPING_FREQUENCY;
|
|
42
42
|
extern NSString* const FB_SETTING_RESPECT_SYSTEM_ALERTS;
|
|
43
|
+
extern NSString* const FB_SETTING_USE_CLEAR_TEXT_SHORTCUT;
|
|
43
44
|
|
|
44
45
|
|
|
45
46
|
NS_ASSUME_NONNULL_END
|
|
@@ -35,3 +35,4 @@ NSString* const FB_SETTING_WAIT_FOR_IDLE_TIMEOUT = @"waitForIdleTimeout";
|
|
|
35
35
|
NSString* const FB_SETTING_ANIMATION_COOL_OFF_TIMEOUT = @"animationCoolOffTimeout";
|
|
36
36
|
NSString* const FB_SETTING_MAX_TYPING_FREQUENCY = @"maxTypingFrequency";
|
|
37
37
|
NSString* const FB_SETTING_RESPECT_SYSTEM_ALERTS = @"respectSystemAlerts";
|
|
38
|
+
NSString* const FB_SETTING_USE_CLEAR_TEXT_SHORTCUT = @"useClearTextShortcut";
|
|
@@ -111,7 +111,25 @@
|
|
|
111
111
|
[set addObject:@"XCUIAccessibilityAuditTypeAll"];
|
|
112
112
|
NSArray *auditIssues2 = [XCUIApplication.fb_activeApplication fb_performAccessibilityAuditWithAuditTypesSet:set.copy
|
|
113
113
|
error:&error];
|
|
114
|
-
|
|
114
|
+
// 'elementDescription' is not in this list because it could have
|
|
115
|
+
// different object id's debug description in XCTest.
|
|
116
|
+
NSArray *checkKeys = @[
|
|
117
|
+
@"auditType",
|
|
118
|
+
@"compactDescription",
|
|
119
|
+
@"detailedDescription",
|
|
120
|
+
@"element",
|
|
121
|
+
@"elementAttributes"
|
|
122
|
+
];
|
|
123
|
+
|
|
124
|
+
XCTAssertEqual([auditIssues1 count], [auditIssues2 count]);
|
|
125
|
+
for (int i = 1; i < [auditIssues1 count]; i++) {
|
|
126
|
+
for (NSString *k in checkKeys) {
|
|
127
|
+
XCTAssertEqualObjects(
|
|
128
|
+
[auditIssues1[i] objectForKey:k],
|
|
129
|
+
[auditIssues2[i] objectForKey:k]
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
115
133
|
XCTAssertNil(error);
|
|
116
134
|
}
|
|
117
135
|
|
package/build/lib/types.d.ts
CHANGED
package/build/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AACA,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,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,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,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,CAAA;IACvG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AACA,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,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,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,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,CAAA;IACvG,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,0CAA0C,CAAC,EAAE,OAAO,CAAC;IACrD,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;CACnC"}
|
package/lib/types.ts
CHANGED