|
37 | 37 | import io.appium.java_client.AppiumDriver; |
38 | 38 | import io.appium.java_client.AppiumSetting; |
39 | 39 | import io.appium.java_client.FindsByAndroidUIAutomator; |
40 | | -import io.appium.java_client.SwipeElementDirection; |
41 | 40 | import io.appium.java_client.android.internal.JsonToAndroidElementConverter; |
42 | 41 | import io.appium.java_client.remote.MobilePlatform; |
43 | 42 | import io.appium.java_client.service.local.AppiumDriverLocalService; |
@@ -395,6 +394,65 @@ public void ignoreUnimportantViews(Boolean compress) { |
395 | 394 | setSetting(AppiumSetting.IGNORE_UNIMPORTANT_VIEWS, compress); |
396 | 395 | } |
397 | 396 |
|
| 397 | + /** |
| 398 | + * Set the `configurator` setting. *Android-only method*. |
| 399 | + * Sets the timeouts and delays in {@code com.android.uiautomator.core.Configurator} |
| 400 | + * |
| 401 | + * @param method set method names in {@code com.android.uiautomator.core.Configurator} |
| 402 | + * @param value set method argument, in milliseconds, 0 would reset to their default values |
| 403 | + */ |
| 404 | + private void configuratorSet(String method, int value) { |
| 405 | + setSetting(AppiumSetting.CONFIGURATOR, |
| 406 | + String.format("{\"method\":\"%s\",\"value\":%d}", method, value)); |
| 407 | + } |
| 408 | + |
| 409 | + /** |
| 410 | + * invoke {@code setWaitForIdleTimeout} in {@code com.android.uiautomator.core.Configurator} |
| 411 | + * |
| 412 | + * @param timeout in milliseconds, 0 would reset to its default value |
| 413 | + */ |
| 414 | + public void configuratorSetWaitForIdleTimeout(int timeout) { |
| 415 | + configuratorSet("setWaitForIdleTimeout", timeout); |
| 416 | + } |
| 417 | + |
| 418 | + /** |
| 419 | + * invoke {@code setWaitForSelectorTimeout} in {@code com.android.uiautomator.core.Configurator} |
| 420 | + * |
| 421 | + * @param timeout in milliseconds, 0 would reset to its default value |
| 422 | + */ |
| 423 | + public void configuratorSetWaitForSelectorTimeout(int timeout) { |
| 424 | + configuratorSet("setWaitForSelectorTimeout", timeout); |
| 425 | + } |
| 426 | + |
| 427 | + /** |
| 428 | + * invoke {@code setScrollAcknowledgmentTimeout} in {@code com.android.uiautomator.core.Configurator} |
| 429 | + * |
| 430 | + * @param timeout in milliseconds, 0 would reset to its default value |
| 431 | + */ |
| 432 | + public void configuratorSetScrollAcknowledgmentTimeout(int timeout) { |
| 433 | + configuratorSet("setScrollAcknowledgmentTimeout", timeout); |
| 434 | + } |
| 435 | + |
| 436 | + /** |
| 437 | + * invoke {@code configuratorSetKeyInjectionDelay} in {@code com.android.uiautomator.core.Configurator} |
| 438 | + * |
| 439 | + * @param delay in milliseconds, 0 would reset to its default value |
| 440 | + */ |
| 441 | + public void configuratorSetKeyInjectionDelay(int delay) { |
| 442 | + configuratorSet("setKeyInjectionDelay", delay); |
| 443 | + } |
| 444 | + |
| 445 | + /** |
| 446 | + * invoke {@code setActionAcknowledgmentTimeout} in {@code com.android.uiautomator.core.Configurator} |
| 447 | + * |
| 448 | + * @param timeout in milliseconds, 0 would reset to its default value |
| 449 | + */ |
| 450 | + public void configuratorSetActionAcknowledgmentTimeout(int timeout) { |
| 451 | + configuratorSet("setActionAcknowledgmentTimeout", timeout); |
| 452 | + } |
| 453 | + |
| 454 | + |
| 455 | + |
398 | 456 | /** |
399 | 457 | * @throws org.openqa.selenium.WebDriverException This method is not |
400 | 458 | * applicable with browser/webview UI. |
|
0 commit comments