appium-webdriveragent 16.1.7 → 16.2.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/WebDriverAgentLib/Categories/XCUIApplication+FBTouchAction.m +1 -1
  3. package/WebDriverAgentLib/Categories/XCUIApplicationProcess+FBQuiescence.m +4 -4
  4. package/WebDriverAgentLib/Categories/XCUIDevice+FBHelpers.m +1 -1
  5. package/WebDriverAgentLib/Categories/XCUIDevice+FBRotation.m +1 -1
  6. package/WebDriverAgentLib/Categories/XCUIElement+FBFind.m +1 -1
  7. package/WebDriverAgentLib/Categories/XCUIElement+FBScrolling.m +1 -1
  8. package/WebDriverAgentLib/Categories/XCUIElement+FBTVFocuse.m +1 -1
  9. package/WebDriverAgentLib/Categories/XCUIElement+FBTyping.m +5 -5
  10. package/WebDriverAgentLib/Categories/XCUIElement+FBUtilities.m +4 -4
  11. package/WebDriverAgentLib/Categories/XCUIElement+FBWebDriverAttributes.m +1 -1
  12. package/WebDriverAgentLib/Commands/FBElementCommands.m +3 -3
  13. package/WebDriverAgentLib/Commands/FBFindElementCommands.m +7 -7
  14. package/WebDriverAgentLib/Commands/FBSessionCommands.m +10 -10
  15. package/WebDriverAgentLib/FBAlert.m +7 -7
  16. package/WebDriverAgentLib/Info.plist +2 -2
  17. package/WebDriverAgentLib/Routing/FBResponsePayload.m +1 -1
  18. package/WebDriverAgentLib/Routing/FBSession.m +3 -3
  19. package/WebDriverAgentLib/Routing/FBWebServer.m +7 -7
  20. package/WebDriverAgentLib/Utilities/FBConfiguration.h +75 -142
  21. package/WebDriverAgentLib/Utilities/FBConfiguration.m +128 -374
  22. package/WebDriverAgentLib/Utilities/FBImageProcessor.m +6 -6
  23. package/WebDriverAgentLib/Utilities/FBLogger.m +2 -2
  24. package/WebDriverAgentLib/Utilities/FBMjpegServer.m +4 -4
  25. package/WebDriverAgentLib/Utilities/FBSettingsHandler.m +65 -61
  26. package/WebDriverAgentLib/Utilities/FBW3CActionsSynthesizer.m +1 -1
  27. package/WebDriverAgentLib/Utilities/FBXCTestDaemonsProxy.m +1 -1
  28. package/WebDriverAgentLib/Utilities/FBXCodeCompatibility.m +2 -2
  29. package/WebDriverAgentLib/Utilities/FBXPath.m +9 -9
  30. package/WebDriverAgentRunner/UITestingUITests.m +7 -7
  31. package/WebDriverAgentTests/IntegrationTests/FBAlertTests.m +5 -5
  32. package/WebDriverAgentTests/IntegrationTests/FBConfigurationTests.m +5 -5
  33. package/WebDriverAgentTests/IntegrationTests/FBIntegrationTestCase.m +6 -6
  34. package/WebDriverAgentTests/IntegrationTests/FBXPathIntegrationTests.m +3 -3
  35. package/WebDriverAgentTests/IntegrationTests/XCUIElementAttributesTests.m +5 -5
  36. package/WebDriverAgentTests/UnitTests/FBConfigurationTests.m +8 -8
  37. package/WebDriverAgentTests/UnitTests/FBSessionTests.m +3 -3
  38. package/package.json +1 -1
@@ -13,54 +13,60 @@ NS_ASSUME_NONNULL_BEGIN
13
13
  extern NSString *const FBSnapshotMaxChildrenKey;
14
14
  extern NSString *const FBSnapshotMaxDepthKey;
15
15
 
16
+ /**
17
+ Defines keyboard preference enabled status
18
+ */
19
+ typedef NS_ENUM(NSInteger, FBConfigurationKeyboardPreference) {
20
+ FBConfigurationKeyboardPreferenceDisabled = 0,
21
+ FBConfigurationKeyboardPreferenceEnabled = 1,
22
+ FBConfigurationKeyboardPreferenceNotSupported = 2,
23
+ };
24
+
16
25
  /**
17
26
  Accessors for Global Constants.
18
27
  */
19
28
  @interface FBConfiguration : NSObject
20
29
 
30
+ /*! The shared configuration instance */
31
+ @property (class, nonatomic, readonly) FBConfiguration *sharedInstance;
32
+
21
33
  /*! If set to YES will use compact (standards-compliant) & faster responses */
22
- + (void)setShouldUseCompactResponses:(BOOL)value;
23
- + (BOOL)shouldUseCompactResponses;
34
+ @property (atomic, assign) BOOL shouldUseCompactResponses;
24
35
 
25
36
  /*! If set to YES (which is the default), the app will be terminated at the end of the session, if a bundleId was specified */
26
- + (void)setShouldTerminateApp:(BOOL)value;
27
- + (BOOL)shouldTerminateApp;
37
+ @property (atomic, assign) BOOL shouldTerminateApp;
28
38
 
29
39
  /*! If shouldUseCompactResponses == NO, is the comma-separated list of fields to return with each element. Defaults to "type,label". */
30
- + (void)setElementResponseAttributes:(NSString *)value;
31
- + (NSString *)elementResponseAttributes;
40
+ @property (atomic, copy, nullable) NSString *elementResponseAttributes;
32
41
 
33
42
  /*! Disables remote query evaluation making Xcode 9.x tests behave same as Xcode 8.x test */
34
- + (void)disableRemoteQueryEvaluation;
43
+ - (void)disableRemoteQueryEvaluation;
35
44
 
36
45
  /*! Enables the extended XCTest debug logging. Useful for developemnt purposes */
37
- + (void)enableXcTestDebugLogs;
46
+ - (void)enableXcTestDebugLogs;
38
47
 
39
48
  /*! Disables attribute key path analysis, which will cause XCTest on Xcode 9.x to ignore some elements */
40
- + (void)disableAttributeKeyPathAnalysis;
49
+ - (void)disableAttributeKeyPathAnalysis;
41
50
 
42
51
  /*! Disables XCTest automated screenshots taking */
43
- + (void)disableScreenshots;
52
+ - (void)disableScreenshots;
44
53
  /*! Enables XCTest automated screenshots taking */
45
- + (void)enableScreenshots;
54
+ - (void)enableScreenshots;
46
55
 
47
56
  /*! Disables XCTest automated videos taking (iOS 17+) */
48
- + (void)disableScreenRecordings;
57
+ - (void)disableScreenRecordings;
49
58
  /*! Enables XCTest automated videos taking (iOS 17+) */
50
- + (void)enableScreenRecordings;
59
+ - (void)enableScreenRecordings;
51
60
 
52
- /* The maximum typing frequency for all typing activities */
53
- + (void)setMaxTypingFrequency:(NSUInteger)value;
54
- + (NSUInteger)maxTypingFrequency;
55
- + (NSUInteger)defaultTypingFrequency;
61
+ /*! The maximum typing frequency for all typing activities */
62
+ @property (atomic, assign) NSUInteger maxTypingFrequency;
63
+ @property (atomic, readonly) NSUInteger defaultTypingFrequency;
56
64
 
57
- /* Use singleton test manager proxy */
58
- + (void)setShouldUseSingletonTestManager:(BOOL)value;
59
- + (BOOL)shouldUseSingletonTestManager;
65
+ /*! Use singleton test manager proxy */
66
+ @property (atomic, assign) BOOL shouldUseSingletonTestManager;
60
67
 
61
- /* Enforces WDA to verify the presense of system alerts while checking for an active app */
62
- + (void)setShouldRespectSystemAlerts:(BOOL)value;
63
- + (BOOL)shouldRespectSystemAlerts;
68
+ /*! Enforces WDA to verify the presense of system alerts while checking for an active app */
69
+ @property (atomic, assign) BOOL shouldRespectSystemAlerts;
64
70
 
65
71
  /**
66
72
  * Extract switch value from arguments
@@ -78,8 +84,7 @@ extern NSString *const FBSnapshotMaxDepthKey;
78
84
  (or lowest quality) while the value 100 represents the least compression (or best
79
85
  quality). The default value is 25.
80
86
  */
81
- + (NSUInteger)mjpegServerScreenshotQuality;
82
- + (void)setMjpegServerScreenshotQuality:(NSUInteger)quality;
87
+ @property (atomic, assign) NSUInteger mjpegServerScreenshotQuality;
83
88
 
84
89
  /**
85
90
  Whether to apply orientation fixes to the streamed JPEG images.
@@ -88,24 +93,21 @@ extern NSString *const FBSnapshotMaxDepthKey;
88
93
  metadata.
89
94
  ! Enablement of this setting may lead to WDA process termination because of an excessive CPU usage.
90
95
  */
91
- + (BOOL)mjpegShouldFixOrientation;
92
- + (void)setMjpegShouldFixOrientation:(BOOL)enabled;
96
+ @property (atomic, assign) BOOL mjpegShouldFixOrientation;
93
97
 
94
98
  /**
95
99
  The framerate at which the background screenshots broadcaster should broadcast
96
100
  screenshots in range 1..60. The default value is 10 (Frames Per Second).
97
101
  Setting zero value will cause the framerate to be at its maximum possible value.
98
102
  */
99
- + (NSUInteger)mjpegServerFramerate;
100
- + (void)setMjpegServerFramerate:(NSUInteger)framerate;
103
+ @property (atomic, assign) NSUInteger mjpegServerFramerate;
101
104
 
102
105
  /**
103
106
  Whether to limit the XPath scope to descendant items only while performing a lookup
104
107
  in an element context. Enabled by default. Being disabled, allows to use XPath locators
105
108
  like ".." in order to match parent items of the current context root.
106
109
  */
107
- + (BOOL)limitXpathContextScope;
108
- + (void)setLimitXpathContextScope:(BOOL)enabled;
110
+ @property (atomic, assign) BOOL limitXpathContextScope;
109
111
 
110
112
  /**
111
113
  The quality of display screenshots. The higher quality you set is the bigger screenshot size is.
@@ -113,30 +115,29 @@ extern NSString *const FBSnapshotMaxDepthKey;
113
115
  The default quality value is 3 (lossless HEIC).
114
116
  See https://developer.apple.com/documentation/xctest/xctimagequality?language=objc
115
117
  */
116
- + (NSUInteger)screenshotQuality;
117
- + (void)setScreenshotQuality:(NSUInteger)quality;
118
+ @property (atomic, assign) NSUInteger screenshotQuality;
118
119
 
119
120
  /**
120
121
  The range of ports that the HTTP Server should attempt to bind on launch
121
122
  */
122
- + (NSRange)bindingPortRange;
123
+ @property (atomic, readonly) NSRange bindingPortRange;
123
124
 
124
125
  /**
125
126
  The IP address that the HTTP Server should bind to on launch.
126
127
  Returns nil if not specified, which causes the server to listen on all interfaces.
127
128
  */
128
- + (NSString * _Nullable)bindingIPAddress;
129
+ @property (atomic, readonly, nullable) NSString *bindingIPAddress;
129
130
 
130
131
  /**
131
132
  The port number where the background screenshots broadcaster is supposed to run
132
133
  */
133
- + (NSInteger)mjpegServerPort;
134
+ @property (atomic, readonly) NSInteger mjpegServerPort;
134
135
 
135
136
  /**
136
137
  The maximum allowed HTTP request body size in bytes.
137
138
  Defaults to 1GB and can be overridden with the MAX_HTTP_REQUEST_BODY_SIZE environment variable.
138
139
  */
139
- + (UInt64)httpRequestBodySizeLimit;
140
+ @property (atomic, readonly) UInt64 httpRequestBodySizeLimit;
140
141
 
141
142
  /**
142
143
  The scaling factor for frames of the mjpeg stream. The default (and maximum) value is 100,
@@ -144,172 +145,122 @@ extern NSString *const FBSnapshotMaxDepthKey;
144
145
  ! Setting this to a value less than 100, especially together with orientation fixing enabled
145
146
  ! may lead to WDA process termination because of an excessive CPU usage.
146
147
  */
147
- + (double)mjpegScalingFactor;
148
- + (void)setMjpegScalingFactor:(double)scalingFactor;
148
+ @property (atomic, assign) double mjpegScalingFactor;
149
149
 
150
150
  /**
151
151
  YES if verbose logging is enabled. NO otherwise.
152
152
  */
153
- + (BOOL)verboseLoggingEnabled;
153
+ @property (atomic, readonly) BOOL verboseLoggingEnabled;
154
154
 
155
155
  /**
156
156
  Disables automatic handling of XCTest UI interruptions.
157
157
  */
158
- + (void)disableApplicationUIInterruptionsHandling;
158
+ - (void)disableApplicationUIInterruptionsHandling;
159
159
 
160
160
  /**
161
161
  * Configure keyboards preference to make test running stable
162
162
  */
163
- + (void)configureDefaultKeyboardPreferences;
163
+ - (void)configureDefaultKeyboardPreferences;
164
164
 
165
165
 
166
166
  /**
167
167
  * Turn on softwar keyboard forcefully for simulator.
168
168
  */
169
- + (void)forceSimulatorSoftwareKeyboardPresence;
170
-
171
- /**
172
- Defines keyboard preference enabled status
173
- */
174
- typedef NS_ENUM(NSInteger, FBConfigurationKeyboardPreference) {
175
- FBConfigurationKeyboardPreferenceDisabled = 0,
176
- FBConfigurationKeyboardPreferenceEnabled = 1,
177
- FBConfigurationKeyboardPreferenceNotSupported = 2,
178
- };
169
+ - (void)forceSimulatorSoftwareKeyboardPresence;
179
170
 
180
171
  /**
181
172
  * Modify keyboard configuration of 'auto-correction'.
182
- *
183
- * @param isEnabled Turn the configuration on if the value is YES
184
173
  */
185
- + (void)setKeyboardAutocorrection:(BOOL)isEnabled;
186
- + (FBConfigurationKeyboardPreference)keyboardAutocorrection;
174
+ @property (atomic, assign) FBConfigurationKeyboardPreference keyboardAutocorrection;
187
175
 
188
176
  /**
189
177
  * Modify keyboard configuration of 'predictive'
190
- *
191
- * @param isEnabled Turn the configuration on if the value is YES
192
178
  */
193
- + (void)setKeyboardPrediction:(BOOL)isEnabled;
194
- + (FBConfigurationKeyboardPreference)keyboardPrediction;
179
+ @property (atomic, assign) FBConfigurationKeyboardPreference keyboardPrediction;
195
180
 
196
181
  /**
197
- Sets maximum depth for traversing elements tree from parents to children while requesting XCElementSnapshot.
182
+ Maximum depth for traversing elements tree from parents to children while requesting XCElementSnapshot.
198
183
  Used to set maxDepth value in a dictionary provided by XCAXClient_iOS's method defaultParams.
199
184
  The original XCAXClient_iOS maxDepth value is set to INT_MAX, which is too big for some queries
200
185
  (for example: searching elements inside a WebView).
201
186
  Reasonable values are from 15 to 100 (larger numbers make queries slower).
202
-
203
- @param maxDepth The number of maximum depth for traversing elements tree
204
187
  */
205
- + (void)setSnapshotMaxDepth:(int)maxDepth;
188
+ @property (atomic, assign) int snapshotMaxDepth;
206
189
 
207
190
  /**
208
- @return The number of maximum depth for traversing elements tree
209
- */
210
- + (int)snapshotMaxDepth;
211
-
212
- /**
213
- Sets the maximum number of element children to traverse in each snapshot
191
+ Maximum number of element children to traverse in each snapshot
214
192
  while requesting XCElementSnapshot.
215
193
  Used to set the `maxChildren` value in a dictionary provided by
216
194
  XCAXClient_iOS's `defaultParameters` method.
217
195
  The original XCAXClient_iOS `maxChildren` value is `INT_MAX`.
218
-
219
- @param maxChildren The number of maximum element children for traversing elements tree
220
196
  */
221
- + (void)setSnapshotMaxChildren:(int)maxChildren;
222
-
223
- /**
224
- @return The maximum number of element children for traversing elements tree
225
- */
226
- + (int)snapshotMaxChildren;
197
+ @property (atomic, assign) int snapshotMaxChildren;
227
198
 
228
199
  /**
229
200
  * Whether to use fast search result matching while searching for elements.
230
201
  * By default this is disabled due to https://github.com/appium/appium/issues/10101
231
202
  * but it still makes sense to enable it for views containing large counts of elements
232
- *
233
- * @param enabled Either YES or NO
234
203
  */
235
- + (void)setUseFirstMatch:(BOOL)enabled;
236
- + (BOOL)useFirstMatch;
204
+ @property (atomic, assign) BOOL useFirstMatch;
237
205
 
238
206
  /**
239
207
  * Whether to bound the lookup results by index.
240
208
  * By default this is disabled and bounding by accessibility is used.
241
209
  * Read https://stackoverflow.com/questions/49307513/meaning-of-allelementsboundbyaccessibilityelement
242
210
  * for more details on these two bounding methods.
243
- *
244
- * @param enabled Either YES or NO
245
211
  */
246
- + (void)setBoundElementsByIndex:(BOOL)enabled;
247
- + (BOOL)boundElementsByIndex;
212
+ @property (atomic, assign) BOOL boundElementsByIndex;
248
213
 
249
214
  /**
250
215
  * Modify reduce motion configuration in accessibility.
251
216
  * It works only for Simulator since Real device has security model which allows chnaging preferences
252
217
  * only from settings app.
253
- *
254
- * @param isEnabled Turn the configuration on if the value is YES
255
218
  */
256
- + (void)setReduceMotionEnabled:(BOOL)isEnabled;
257
- + (BOOL)reduceMotionEnabled;
219
+ @property (atomic, assign) BOOL reduceMotionEnabled;
258
220
 
259
221
  /**
260
- * Set the idling timeout. If the timeout expires then WDA
222
+ * The idling timeout. If the timeout expires then WDA
261
223
  * tries to interact with the application even if it is not idling.
262
224
  * Setting it to zero disables idling checks.
263
225
  * The default timeout is set to 10 seconds.
264
- *
265
- * @param timeout The actual timeout value in float seconds
266
226
  */
267
- + (void)setWaitForIdleTimeout:(NSTimeInterval)timeout;
268
- + (NSTimeInterval)waitForIdleTimeout;
227
+ @property (atomic, assign) NSTimeInterval waitForIdleTimeout;
269
228
 
270
229
  /**
271
- * Set the idling timeout for different actions, for example events synthesis, rotation change,
230
+ * The idling timeout for different actions, for example events synthesis, rotation change,
272
231
  * etc. If the timeout expires then WDA tries to interact with the application even if it is not idling.
273
232
  * Setting it to zero disables idling checks.
274
233
  * The default timeout is set to 2 seconds.
275
- *
276
- * @param timeout The actual timeout value in float seconds
277
234
  */
278
- + (void)setAnimationCoolOffTimeout:(NSTimeInterval)timeout;
279
- + (NSTimeInterval)animationCoolOffTimeout;
235
+ @property (atomic, assign) NSTimeInterval animationCoolOffTimeout;
280
236
 
281
237
  /**
282
- Sets custom class chain locators for accept/dismiss alert buttons location.
238
+ Custom class chain locator for accept alert button location.
283
239
  This might be useful if the default buttons detection algorithm fails to determine alert buttons properly
284
240
  when defaultAlertAction is set.
285
241
 
286
- @param classChainSelector Valid class chain locator, which determines accept/reject button
287
- on the alert. The search root is the alert element itself.
288
242
  Setting this value to nil or an empty string (the default
289
243
  value) will enforce WDA to apply the default algorithm for alert buttons location.
290
244
  If an invalid/non-parseable locator is set then the lookup will fallback to the default algorithm and print a
291
245
  warning into the log.
292
246
  Example: ** /XCUIElementTypeButton[`label CONTAINS[c] 'accept'`]
293
247
  */
294
- + (void)setAcceptAlertButtonSelector:(NSString *)classChainSelector;
295
- + (NSString *)acceptAlertButtonSelector;
296
- + (void)setDismissAlertButtonSelector:(NSString *)classChainSelector;
297
- + (NSString *)dismissAlertButtonSelector;
248
+ @property (atomic, copy, nullable) NSString *acceptAlertButtonSelector;
249
+ /**
250
+ Custom class chain locator for dismiss alert button location. See `acceptAlertButtonSelector` for details.
251
+ */
252
+ @property (atomic, copy, nullable) NSString *dismissAlertButtonSelector;
298
253
 
299
254
  /**
300
- Sets class chain selector to apply for an automated alert click
255
+ Class chain selector to apply for an automated alert click
301
256
  */
302
- + (void)setAutoClickAlertSelector:(NSString *)classChainSelector;
303
- + (NSString *)autoClickAlertSelector;
257
+ @property (atomic, copy, nullable) NSString *autoClickAlertSelector;
304
258
 
305
259
  /**
306
260
  * Whether to use HIDEvent for text clear.
307
261
  * By default this is enabled and HIDEvent is used for text clear.
308
- *
309
- * @param enabled Either YES or NO
310
262
  */
311
- + (void)setUseClearTextShortcut:(BOOL)enabled;
312
- + (BOOL)useClearTextShortcut;
263
+ @property (atomic, assign) BOOL useClearTextShortcut;
313
264
 
314
265
  #if !TARGET_OS_TV
315
266
  /**
@@ -326,35 +277,32 @@ typedef NS_ENUM(NSInteger, FBConfigurationKeyboardPreference) {
326
277
  the adjustment automatically. Defaults to "auto".
327
278
  @param error If no availale orientation strategy was given, it returns an NSError object that describes the problem.
328
279
  */
329
- + (BOOL)setScreenshotOrientation:(NSString *)orientation error:(NSError **)error;
280
+ - (BOOL)setScreenshotOrientation:(NSString *)orientation error:(NSError **)error;
330
281
 
331
282
  /**
332
283
  @return The value of UIInterfaceOrientation
333
284
  */
334
- + (NSInteger)screenshotOrientation;
285
+ @property (atomic, readonly) NSInteger screenshotOrientation;
335
286
 
336
287
  /**
337
288
  @return The orientation as String for human read
338
289
  */
339
- + (NSString *)humanReadableScreenshotOrientation;
290
+ @property (atomic, readonly) NSString *humanReadableScreenshotOrientation;
340
291
 
341
292
  #endif
342
293
 
343
294
  /**
344
295
  Resets all session-specific settings to their default values
345
296
  */
346
- + (void)resetSessionSettings;
297
+ - (void)resetSessionSettings;
347
298
 
348
299
  /**
349
300
  * Whether to calculate `hittable` attribute using native APIs
350
301
  * instead of legacy heuristics.
351
302
  * This flag improves accuracy, but may affect performance.
352
303
  * Disabled by default.
353
- *
354
- * @param enabled Either YES or NO
355
304
  */
356
- + (void)setIncludeHittableInPageSource:(BOOL)enabled;
357
- + (BOOL)includeHittableInPageSource;
305
+ @property (atomic, assign) BOOL includeHittableInPageSource;
358
306
 
359
307
  /**
360
308
  * Whether to include `nativeFrame` attribute in the XML page source.
@@ -366,11 +314,8 @@ typedef NS_ENUM(NSInteger, FBConfigurationKeyboardPreference) {
366
314
  * and may introduce inconsistencies in size and position calculations.
367
315
  *
368
316
  * The value is disabled by default to avoid potential performance overhead.
369
- *
370
- * @param enabled Either YES or NO
371
317
  */
372
- + (void)setIncludeNativeFrameInPageSource:(BOOL)enabled;
373
- + (BOOL)includeNativeFrameInPageSource;
318
+ @property (atomic, assign) BOOL includeNativeFrameInPageSource;
374
319
 
375
320
  /**
376
321
  * Whether to include the `nativeAccessibilityElement` attribute in the XML page source.
@@ -384,11 +329,8 @@ typedef NS_ENUM(NSInteger, FBConfigurationKeyboardPreference) {
384
329
  * accessibility flag alongside the computed `accessible` value.
385
330
  *
386
331
  * The value is disabled by default to keep the default page source stable.
387
- *
388
- * @param enabled Either YES or NO
389
332
  */
390
- + (void)setIncludeNativeAccessibilityElementInPageSource:(BOOL)enabled;
391
- + (BOOL)includeNativeAccessibilityElementInPageSource;
333
+ @property (atomic, assign) BOOL includeNativeAccessibilityElementInPageSource;
392
334
 
393
335
  /**
394
336
  * Whether to include `minValue`/`maxValue` attributes in the page source.
@@ -396,33 +338,24 @@ typedef NS_ENUM(NSInteger, FBConfigurationKeyboardPreference) {
396
338
  * value boundaries for elements like sliders or progress indicators.
397
339
  * This may affect performance if used on many elements.
398
340
  * Disabled by default.
399
- *
400
- * @param enabled Either YES or NO
401
341
  */
402
- + (void)setIncludeMinMaxValueInPageSource:(BOOL)enabled;
403
- + (BOOL)includeMinMaxValueInPageSource;
342
+ @property (atomic, assign) BOOL includeMinMaxValueInPageSource;
404
343
 
405
344
  /**
406
345
  * Whether to include `customActions` attribute in the XML page source.
407
346
  * Custom actions represent accessibility actions available on UI elements.
408
347
  * This may affect performance if used on many elements.
409
348
  * Disabled by default.
410
- *
411
- * @param enabled Either YES or NO
412
349
  */
413
- + (void)setIncludeCustomActionsInPageSource:(BOOL)enabled;
414
- + (BOOL)includeCustomActionsInPageSource;
350
+ @property (atomic, assign) BOOL includeCustomActionsInPageSource;
415
351
 
416
352
  /**
417
353
  * Whether to enforce the use of custom snapshots instead of standard snapshots.
418
354
  * When enabled, fb_customSnapshot is always invoked instead of fb_standardSnapshot
419
355
  * for XPath tree building and element attributes fetching.
420
356
  * Disabled by default.
421
- *
422
- * @param enabled Either YES or NO
423
357
  */
424
- + (void)setEnforceCustomSnapshots:(BOOL)enabled;
425
- + (BOOL)enforceCustomSnapshots;
358
+ @property (atomic, assign) BOOL enforceCustomSnapshots;
426
359
 
427
360
  @end
428
361