Appium-Python-Client 2.8.1__tar.gz → 2.9.0__tar.gz

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 (401) hide show
  1. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/Appium_Python_Client.egg-info/PKG-INFO +60 -8
  2. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/PKG-INFO +60 -8
  3. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/README.md +59 -7
  4. Appium-Python-Client-2.9.0/appium/version.py +1 -0
  5. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/appium_connection.py +17 -2
  6. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/webdriver.py +15 -6
  7. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/webelement.py +19 -5
  8. Appium-Python-Client-2.8.1/appium/version.py +0 -1
  9. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/Appium_Python_Client.egg-info/SOURCES.txt +0 -0
  10. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/Appium_Python_Client.egg-info/dependency_links.txt +0 -0
  11. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/Appium_Python_Client.egg-info/requires.txt +0 -0
  12. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/Appium_Python_Client.egg-info/top_level.txt +0 -0
  13. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/LICENSE +0 -0
  14. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/MANIFEST.in +0 -0
  15. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/__init__.py +0 -0
  16. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/common/__init__.py +0 -0
  17. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/common/exceptions.py +0 -0
  18. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/common/helper.py +0 -0
  19. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/common/logger.py +0 -0
  20. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/__init__.py +0 -0
  21. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/__init__.py +0 -0
  22. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/__init__.py +0 -0
  23. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/__init__.py +0 -0
  24. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/adb_exec_timeout_option.py +0 -0
  25. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/adb_port_option.py +0 -0
  26. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/allow_delay_adb_option.py +0 -0
  27. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/build_tools_version_option.py +0 -0
  28. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/clear_device_logs_on_start_option.py +0 -0
  29. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/ignore_hidden_api_policy_error_option.py +0 -0
  30. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/logcat_filter_specs_option.py +0 -0
  31. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/logcat_format_option.py +0 -0
  32. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/mock_location_app_option.py +0 -0
  33. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/remote_adb_host_option.py +0 -0
  34. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/skip_logcat_capture_option.py +0 -0
  35. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/adb/suppress_kill_server_option.py +0 -0
  36. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/__init__.py +0 -0
  37. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/allow_test_packages_option.py +0 -0
  38. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/android_install_timeout_option.py +0 -0
  39. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/app_activity_option.py +0 -0
  40. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/app_package_option.py +0 -0
  41. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/app_wait_activity_option.py +0 -0
  42. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/app_wait_duration_option.py +0 -0
  43. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/app_wait_for_launch_option.py +0 -0
  44. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/app_wait_package_option.py +0 -0
  45. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/auto_grant_premissions_option.py +0 -0
  46. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/enforce_app_install_option.py +0 -0
  47. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/intent_action_option.py +0 -0
  48. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/intent_category_option.py +0 -0
  49. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/intent_flags_option.py +0 -0
  50. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/optional_intent_arguments_option.py +0 -0
  51. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/remote_apps_cache_limit_option.py +0 -0
  52. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/app/uninstall_other_packages_option.py +0 -0
  53. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/avd/__init__.py +0 -0
  54. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/avd/avd_args_option.py +0 -0
  55. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/avd/avd_env_option.py +0 -0
  56. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/avd/avd_launch_timeout_option.py +0 -0
  57. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/avd/avd_option.py +0 -0
  58. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/avd/avd_ready_timeout_option.py +0 -0
  59. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/avd/gps_enabled_option.py +0 -0
  60. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/avd/network_speed_option.py +0 -0
  61. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/__init__.py +0 -0
  62. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/auto_webview_timeout_option.py +0 -0
  63. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chrome_logging_prefs_option.py +0 -0
  64. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chrome_options_option.py +0 -0
  65. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chromedriver_args_option.py +0 -0
  66. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chromedriver_chrome_mapping_file_option.py +0 -0
  67. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chromedriver_disable_build_check_option.py +0 -0
  68. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chromedriver_executable_dir_option.py +0 -0
  69. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chromedriver_executable_option.py +0 -0
  70. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chromedriver_port_option.py +0 -0
  71. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chromedriver_ports_option.py +0 -0
  72. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/chromedriver_use_system_executable_option.py +0 -0
  73. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/ensure_webviews_have_pages_option.py +0 -0
  74. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/extract_chrome_android_package_from_context_name_option.py +0 -0
  75. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/native_web_screenshot_option.py +0 -0
  76. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/recreate_chrome_driver_sessions_option.py +0 -0
  77. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/show_chromedriver_log_option.py +0 -0
  78. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/context/webview_devtools_port_option.py +0 -0
  79. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/localization/__init__.py +0 -0
  80. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/localization/locale_script_option.py +0 -0
  81. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/locking/__init__.py +0 -0
  82. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/locking/skip_unlock_option.py +0 -0
  83. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/locking/unlock_key_option.py +0 -0
  84. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/locking/unlock_strategy_option.py +0 -0
  85. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/locking/unlock_success_timeout_option.py +0 -0
  86. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/locking/unlock_type_option.py +0 -0
  87. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/mjpeg/__init__.py +0 -0
  88. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/mjpeg/mjpeg_screenshot_url_option.py +0 -0
  89. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/other/__init__.py +0 -0
  90. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/other/disable_suppress_accessibility_service_option.py +0 -0
  91. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/other/user_profile_option.py +0 -0
  92. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/signing/__init__.py +0 -0
  93. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/signing/key_alias_option.py +0 -0
  94. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/signing/key_password_option.py +0 -0
  95. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/signing/keystore_password_option.py +0 -0
  96. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/signing/keystore_path_option.py +0 -0
  97. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/signing/no_sign_option.py +0 -0
  98. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/common/signing/use_keystore_option.py +0 -0
  99. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/espresso/__init__.py +0 -0
  100. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/espresso/activity_options_option.py +0 -0
  101. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/espresso/app_locale_option.py +0 -0
  102. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/espresso/base.py +0 -0
  103. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/espresso/espresso_build_config_option.py +0 -0
  104. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/espresso/espresso_server_launch_timeout_option.py +0 -0
  105. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/espresso/force_espresso_rebuild_option.py +0 -0
  106. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/espresso/intent_options_option.py +0 -0
  107. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/espresso/show_gradle_log_option.py +0 -0
  108. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/uiautomator2/__init__.py +0 -0
  109. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/uiautomator2/base.py +0 -0
  110. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/uiautomator2/disable_window_animation_option.py +0 -0
  111. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/uiautomator2/mjpeg_server_port_option.py +0 -0
  112. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/uiautomator2/skip_device_initialization_option.py +0 -0
  113. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/uiautomator2/skip_server_installation_option.py +0 -0
  114. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/uiautomator2/uiautomator2_server_install_timeout_option.py +0 -0
  115. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/uiautomator2/uiautomator2_server_launch_timeout_option.py +0 -0
  116. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/android/uiautomator2/uiautomator2_server_read_timeout_option.py +0 -0
  117. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/__init__.py +0 -0
  118. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/app_option.py +0 -0
  119. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/auto_web_view_option.py +0 -0
  120. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/automation_name_option.py +0 -0
  121. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/base.py +0 -0
  122. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/bundle_id_option.py +0 -0
  123. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/clear_system_files_option.py +0 -0
  124. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/device_name_option.py +0 -0
  125. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/enable_performance_logging_option.py +0 -0
  126. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/event_timings_option.py +0 -0
  127. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/full_reset_option.py +0 -0
  128. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/is_headless_option.py +0 -0
  129. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/language_option.py +0 -0
  130. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/locale_option.py +0 -0
  131. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/new_command_timeout_option.py +0 -0
  132. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/no_reset_option.py +0 -0
  133. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/orientation_option.py +0 -0
  134. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/other_apps_option.py +0 -0
  135. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/postrun_option.py +0 -0
  136. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/prerun_option.py +0 -0
  137. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/print_page_source_on_find_failure_option.py +0 -0
  138. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/skip_log_capture_option.py +0 -0
  139. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/supports_capabilities.py +0 -0
  140. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/system_host_option.py +0 -0
  141. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/system_port_option.py +0 -0
  142. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/common/udid_option.py +0 -0
  143. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/gecko/__init__.py +0 -0
  144. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/gecko/android_storage_option.py +0 -0
  145. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/gecko/base.py +0 -0
  146. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/gecko/firefox_options_option.py +0 -0
  147. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/gecko/marionette_port_option.py +0 -0
  148. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/gecko/verbosity_option.py +0 -0
  149. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/__init__.py +0 -0
  150. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/__init__.py +0 -0
  151. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/automatic_inspection_option.py +0 -0
  152. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/automatic_profiling_option.py +0 -0
  153. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/base.py +0 -0
  154. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/device_name_option.py +0 -0
  155. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/device_type_option.py +0 -0
  156. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/device_udid_option.py +0 -0
  157. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/platform_build_version_option.py +0 -0
  158. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/platform_version_option.py +0 -0
  159. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/use_simulator_option.py +0 -0
  160. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/safari/webkit_webrtc_option.py +0 -0
  161. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/__init__.py +0 -0
  162. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/app/__init__.py +0 -0
  163. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/app/app_install_strategy_option.py +0 -0
  164. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/app/app_push_timeout_option.py +0 -0
  165. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/app/localizable_strings_dir_option.py +0 -0
  166. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/base.py +0 -0
  167. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/general/__init__.py +0 -0
  168. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/general/include_device_caps_to_session_info_option.py +0 -0
  169. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/general/reset_location_service_option.py +0 -0
  170. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/other/__init__.py +0 -0
  171. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/other/command_timeouts_option.py +0 -0
  172. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/other/launch_with_idb_option.py +0 -0
  173. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/other/show_ios_log_option.py +0 -0
  174. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/other/use_json_source_option.py +0 -0
  175. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/__init__.py +0 -0
  176. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/calendar_access_authorized_option.py +0 -0
  177. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/calendar_format_option.py +0 -0
  178. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/connect_hardware_keyboard_option.py +0 -0
  179. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/custom_ssl_cert_option.py +0 -0
  180. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/enforce_fresh_simulator_creation_option.py +0 -0
  181. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/force_simulator_software_keyboard_presence_option.py +0 -0
  182. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/ios_simulator_logs_predicate_option.py +0 -0
  183. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/keep_key_chains_option.py +0 -0
  184. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/keychains_exclude_patterns_option.py +0 -0
  185. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/permissions_option.py +0 -0
  186. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/reduce_motion_option.py +0 -0
  187. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/reset_on_session_start_only_option.py +0 -0
  188. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/scale_factor_option.py +0 -0
  189. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/shutdown_other_simulators_option.py +0 -0
  190. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/simulator_devices_set_path_option.py +0 -0
  191. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/simulator_pasteboard_automatic_sync_option.py +0 -0
  192. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/simulator_startup_timeout_option.py +0 -0
  193. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/simulator_trace_pointer_option.py +0 -0
  194. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/simulator/simulator_window_center_option.py +0 -0
  195. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/__init__.py +0 -0
  196. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/allow_provisioning_device_regitration_option.py +0 -0
  197. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/auto_accept_alerts_option.py +0 -0
  198. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/auto_disimiss_alerts_option.py +0 -0
  199. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/derived_data_path_option.py +0 -0
  200. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/disable_automatic_screenshots_option.py +0 -0
  201. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/force_app_launch_option.py +0 -0
  202. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/keychain_password_option.py +0 -0
  203. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/keychain_path_option.py +0 -0
  204. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/max_typing_frequency_option.py +0 -0
  205. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/mjpeg_server_port_option.py +0 -0
  206. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/process_arguments_option.py +0 -0
  207. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/result_bundle_path_option.py +0 -0
  208. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/screenshot_quality_option.py +0 -0
  209. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/should_terminate_app_option.py +0 -0
  210. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/should_use_singleton_test_manager_option.py +0 -0
  211. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/show_xcode_log_option.py +0 -0
  212. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/simple_is_visible_check_option.py +0 -0
  213. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/updated_wda_bundle_id_option.py +0 -0
  214. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/use_native_caching_strategy_option.py +0 -0
  215. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/use_new_wda_option.py +0 -0
  216. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/use_prebuilt_wda_option.py +0 -0
  217. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/use_simple_build_test_option.py +0 -0
  218. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/use_xctestrun_file_option.py +0 -0
  219. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/wait_for_idle_timeout_option.py +0 -0
  220. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/wait_for_quiescence_option.py +0 -0
  221. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/wda_base_url_option.py +0 -0
  222. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/wda_connection_timeout_option.py +0 -0
  223. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/wda_eventloop_idle_delay_option.py +0 -0
  224. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/wda_launch_timeout_option.py +0 -0
  225. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/wda_local_port_option.py +0 -0
  226. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/wda_startup_retries_option.py +0 -0
  227. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/wda_startup_retry_interval_option.py +0 -0
  228. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/web_driver_agent_url_option.py +0 -0
  229. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/xcode_org_id_option.py +0 -0
  230. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/wda/xcode_signing_id_option.py +0 -0
  231. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/__init__.py +0 -0
  232. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/absolute_web_locations_option.py +0 -0
  233. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/additional_webview_bundle_ids_option.py +0 -0
  234. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/enable_async_execute_from_https_option.py +0 -0
  235. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/full_context_list_option.py +0 -0
  236. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/include_safari_in_webviews_option.py +0 -0
  237. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/native_web_tap_option.py +0 -0
  238. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/safari_garbage_collect_option.py +0 -0
  239. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/safari_ignore_fraud_warning_option.py +0 -0
  240. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/safari_ignore_web_hostnames_option.py +0 -0
  241. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/safari_initial_url_option.py +0 -0
  242. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/safari_log_all_communication_hex_dump_option.py +0 -0
  243. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/safari_log_all_communication_option.py +0 -0
  244. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/safari_open_links_in_background_option.py +0 -0
  245. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/safari_socket_chunk_size_option.py +0 -0
  246. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/safari_web_inspector_max_frame_length_option.py +0 -0
  247. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/webkit_response_timeout_option.py +0 -0
  248. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/webview_connect_retries_option.py +0 -0
  249. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py +0 -0
  250. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/__init__.py +0 -0
  251. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/mac2/__init__.py +0 -0
  252. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/mac2/arguments_option.py +0 -0
  253. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/mac2/base.py +0 -0
  254. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/mac2/bootstrap_root_option.py +0 -0
  255. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/mac2/environment_option.py +0 -0
  256. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/mac2/server_startup_timeout_option.py +0 -0
  257. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/mac2/show_server_logs_option.py +0 -0
  258. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/mac2/skip_app_kill_option.py +0 -0
  259. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/mac/mac2/web_driver_agent_mac_url_option.py +0 -0
  260. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/windows/__init__.py +0 -0
  261. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/windows/windows/__init__.py +0 -0
  262. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/windows/windows/app_arguments_option.py +0 -0
  263. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/windows/windows/app_top_level_window_option.py +0 -0
  264. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/windows/windows/app_working_dir_option.py +0 -0
  265. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/windows/windows/base.py +0 -0
  266. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/windows/windows/create_session_timeout_option.py +0 -0
  267. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/windows/windows/expreimental_web_driver_option.py +0 -0
  268. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/options/windows/windows/wait_for_app_launch_option.py +0 -0
  269. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/protocols/__init__.py +0 -0
  270. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/protocols/protocol.py +0 -0
  271. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/protocols/webdriver/__init__.py +0 -0
  272. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/protocols/webdriver/can_execute_commands.py +0 -0
  273. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/protocols/webdriver/can_execute_scripts.py +0 -0
  274. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/protocols/webdriver/can_find_elements.py +0 -0
  275. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/py.typed +0 -0
  276. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/__init__.py +0 -0
  277. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/appium_service.py +0 -0
  278. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/applicationstate.py +0 -0
  279. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/clipboard_content_type.py +0 -0
  280. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/command_method.py +0 -0
  281. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/common/__init__.py +0 -0
  282. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/common/appiumby.py +0 -0
  283. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/common/mobileby.py +0 -0
  284. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/common/multi_action.py +0 -0
  285. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/common/touch_action.py +0 -0
  286. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/connectiontype.py +0 -0
  287. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/errorhandler.py +0 -0
  288. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/__init__.py +0 -0
  289. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/action_helpers.py +0 -0
  290. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/__init__.py +0 -0
  291. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/activities.py +0 -0
  292. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/common.py +0 -0
  293. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/display.py +0 -0
  294. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/gsm.py +0 -0
  295. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/nativekey.py +0 -0
  296. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/network.py +0 -0
  297. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/performance.py +0 -0
  298. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/power.py +0 -0
  299. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/sms.py +0 -0
  300. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/android/system_bars.py +0 -0
  301. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/applications.py +0 -0
  302. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/clipboard.py +0 -0
  303. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/context.py +0 -0
  304. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/device_time.py +0 -0
  305. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/execute_driver.py +0 -0
  306. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/execute_mobile_command.py +0 -0
  307. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/hw_actions.py +0 -0
  308. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/images_comparison.py +0 -0
  309. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/ime.py +0 -0
  310. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/keyboard.py +0 -0
  311. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/location.py +0 -0
  312. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/log_event.py +0 -0
  313. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/remote_fs.py +0 -0
  314. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/screen_record.py +0 -0
  315. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/session.py +0 -0
  316. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/extensions/settings.py +0 -0
  317. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/mobilecommand.py +0 -0
  318. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/appium/webdriver/switch_to.py +0 -0
  319. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/.DS_Store +0 -0
  320. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/Makefile +0 -0
  321. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/README.md +0 -0
  322. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/doctrees/appium.common.doctree +0 -0
  323. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/doctrees/appium.doctree +0 -0
  324. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/doctrees/appium.webdriver.common.doctree +0 -0
  325. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/doctrees/appium.webdriver.doctree +0 -0
  326. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/doctrees/appium.webdriver.extensions.android.doctree +0 -0
  327. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/doctrees/appium.webdriver.extensions.doctree +0 -0
  328. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/doctrees/appium.webdriver.extensions.search_context.doctree +0 -0
  329. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/doctrees/environment.pickle +0 -0
  330. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/doctrees/index.doctree +0 -0
  331. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/.buildinfo +0 -0
  332. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/.nojekyll +0 -0
  333. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_sources/appium.common.rst.txt +0 -0
  334. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_sources/appium.rst.txt +0 -0
  335. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_sources/appium.webdriver.common.rst.txt +0 -0
  336. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_sources/appium.webdriver.extensions.android.rst.txt +0 -0
  337. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_sources/appium.webdriver.extensions.rst.txt +0 -0
  338. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_sources/appium.webdriver.extensions.search_context.rst.txt +0 -0
  339. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_sources/appium.webdriver.rst.txt +0 -0
  340. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_sources/index.rst.txt +0 -0
  341. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/basic.css +0 -0
  342. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/badge_only.css +0 -0
  343. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  344. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  345. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  346. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  347. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  348. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  349. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  350. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  351. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  352. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  353. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  354. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
  355. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  356. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  357. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  358. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
  359. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  360. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/css/theme.css +0 -0
  361. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/doctools.js +0 -0
  362. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/documentation_options.js +0 -0
  363. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/file.png +0 -0
  364. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/jquery-3.5.1.js +0 -0
  365. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/jquery.js +0 -0
  366. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/js/badge_only.js +0 -0
  367. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/js/html5shiv-printshiv.min.js +0 -0
  368. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/js/html5shiv.min.js +0 -0
  369. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/js/theme.js +0 -0
  370. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/language_data.js +0 -0
  371. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/minus.png +0 -0
  372. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/plus.png +0 -0
  373. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/pygments.css +0 -0
  374. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/searchtools.js +0 -0
  375. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/underscore-1.13.1.js +0 -0
  376. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/_static/underscore.js +0 -0
  377. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/appium.common.html +0 -0
  378. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/appium.html +0 -0
  379. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/appium.webdriver.common.html +0 -0
  380. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/appium.webdriver.extensions.android.html +0 -0
  381. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/appium.webdriver.extensions.html +0 -0
  382. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/appium.webdriver.extensions.search_context.html +0 -0
  383. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/appium.webdriver.html +0 -0
  384. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/genindex.html +0 -0
  385. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/index.html +0 -0
  386. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/objects.inv +0 -0
  387. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/py-modindex.html +0 -0
  388. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/search.html +0 -0
  389. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/_build/html/searchindex.js +0 -0
  390. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/conf.py +0 -0
  391. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/generate.sh +0 -0
  392. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/index.rst +0 -0
  393. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/make.bat +0 -0
  394. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/requirements.txt +0 -0
  395. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/webdriver.common.rst +0 -0
  396. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/webdriver.extensions.android.rst +0 -0
  397. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/webdriver.extensions.rst +0 -0
  398. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/webdriver.extensions.search_context.rst +0 -0
  399. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/docs/webdriver.rst +0 -0
  400. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/setup.cfg +0 -0
  401. {Appium-Python-Client-2.8.1 → Appium-Python-Client-2.9.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Appium-Python-Client
3
- Version: 2.8.1
3
+ Version: 2.9.0
4
4
  Summary: Python client for Appium
5
5
  Home-page: http://appium.io/
6
6
  Author: Isaac Murchie
@@ -143,7 +143,7 @@ options = UiAutomator2Options()
143
143
  options.platformVersion = '10'
144
144
  options.udid = '123456789ABC'
145
145
  options.app = PATH('../../../apps/test-app.apk')
146
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
146
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
147
147
  self.driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
148
148
  el = self.driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value='item')
149
149
  el.click()
@@ -162,7 +162,7 @@ options = XCUITestOptions()
162
162
  options.platformVersion = '13.4'
163
163
  options.udid = '123456789ABC'
164
164
  options.app = PATH('../../apps/UICatalog.app.zip')
165
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
165
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
166
166
  self.driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
167
167
  el = self.driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value='item')
168
168
  el.click()
@@ -186,7 +186,7 @@ from appium import webdriver
186
186
  # instead: https://github.com/appium/python-client/pull/720
187
187
  from appium.options.ios import XCUITestOptions
188
188
 
189
- # load_capabilities API could be used to
189
+ # load_capabilities API could be used to
190
190
  # load options mapping stored in a dictionary
191
191
  options = XCUITestOptions().load_capabilities({
192
192
  'platformVersion': '13.4',
@@ -195,9 +195,9 @@ options = XCUITestOptions().load_capabilities({
195
195
  })
196
196
 
197
197
  self.driver = webdriver.Remote(
198
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
199
- 'http://127.0.0.1:4723',
200
- options=options,
198
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
199
+ 'http://127.0.0.1:4723',
200
+ options=options,
201
201
  direct_connection=True
202
202
  )
203
203
  ```
@@ -220,10 +220,62 @@ options.automation_name = 'safari'
220
220
  # calls to it could be chained
221
221
  options.set_capability('browser_name', 'safari')
222
222
 
223
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
223
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
224
224
  self.driver = webdriver.Remote('http://127.0.0.1:4723', options=options, strict_ssl=False)
225
225
  ```
226
226
 
227
+ ## Set custom `AppiumConnection`
228
+
229
+ The first argument of `webdriver.Remote` can set an arbitrary command executor for you.
230
+
231
+ 1. Set init arguments for the pool manager Appium Python client uses to manage http requests.
232
+
233
+ ```python
234
+ from appium import webdriver
235
+ from appium.options.ios import XCUITestOptions
236
+
237
+ import urllib3
238
+ from appium.webdriver.appium_connection import AppiumConnection
239
+
240
+ # Retry connection error up to 3 times.
241
+ init_args_for_pool_manage = {
242
+ 'retries': urllib3.util.retry.Retry(total=3, connect=3, read=False)
243
+ }
244
+ appium_executor = AppiumConnection(remote_server_addr='http://127.0.0.1:4723',
245
+ init_args_for_pool_manage=init_args_for_pool_manage)
246
+
247
+ options = XCUITestOptions()
248
+ options.platformVersion = '13.4'
249
+ options.udid = '123456789ABC'
250
+ options.app = PATH('../../apps/UICatalog.app.zip')
251
+ driver = webdriver.Remote(appium_executor, options=options)
252
+ ```
253
+
254
+
255
+ 2. Define a subclass of `AppiumConnection`
256
+
257
+ ```python
258
+ from appium import webdriver
259
+ from appium.options.ios import XCUITestOptions
260
+
261
+ from appium.webdriver.appium_connection import AppiumConnection
262
+
263
+ class CustomAppiumConnection(AppiumConnection):
264
+ # Can add your own methods for the custom class
265
+ pass
266
+
267
+ custom_executor = CustomAppiumConnection(remote_server_addr='http://127.0.0.1:4723')
268
+
269
+ options = XCUITestOptions().load_capabilities({
270
+ 'platformVersion': '13.4',
271
+ 'deviceName': 'iPhone Simulator',
272
+ 'app': PATH('../../apps/UICatalog.app.zip'),
273
+ })
274
+ driver = webdriver.Remote(custom_executor, options=options)
275
+
276
+ ```
277
+
278
+
227
279
  ## Documentation
228
280
 
229
281
  - https://appium.github.io/python-client-sphinx/ is detailed documentation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Appium-Python-Client
3
- Version: 2.8.1
3
+ Version: 2.9.0
4
4
  Summary: Python client for Appium
5
5
  Home-page: http://appium.io/
6
6
  Author: Isaac Murchie
@@ -143,7 +143,7 @@ options = UiAutomator2Options()
143
143
  options.platformVersion = '10'
144
144
  options.udid = '123456789ABC'
145
145
  options.app = PATH('../../../apps/test-app.apk')
146
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
146
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
147
147
  self.driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
148
148
  el = self.driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value='item')
149
149
  el.click()
@@ -162,7 +162,7 @@ options = XCUITestOptions()
162
162
  options.platformVersion = '13.4'
163
163
  options.udid = '123456789ABC'
164
164
  options.app = PATH('../../apps/UICatalog.app.zip')
165
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
165
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
166
166
  self.driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
167
167
  el = self.driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value='item')
168
168
  el.click()
@@ -186,7 +186,7 @@ from appium import webdriver
186
186
  # instead: https://github.com/appium/python-client/pull/720
187
187
  from appium.options.ios import XCUITestOptions
188
188
 
189
- # load_capabilities API could be used to
189
+ # load_capabilities API could be used to
190
190
  # load options mapping stored in a dictionary
191
191
  options = XCUITestOptions().load_capabilities({
192
192
  'platformVersion': '13.4',
@@ -195,9 +195,9 @@ options = XCUITestOptions().load_capabilities({
195
195
  })
196
196
 
197
197
  self.driver = webdriver.Remote(
198
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
199
- 'http://127.0.0.1:4723',
200
- options=options,
198
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
199
+ 'http://127.0.0.1:4723',
200
+ options=options,
201
201
  direct_connection=True
202
202
  )
203
203
  ```
@@ -220,10 +220,62 @@ options.automation_name = 'safari'
220
220
  # calls to it could be chained
221
221
  options.set_capability('browser_name', 'safari')
222
222
 
223
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
223
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
224
224
  self.driver = webdriver.Remote('http://127.0.0.1:4723', options=options, strict_ssl=False)
225
225
  ```
226
226
 
227
+ ## Set custom `AppiumConnection`
228
+
229
+ The first argument of `webdriver.Remote` can set an arbitrary command executor for you.
230
+
231
+ 1. Set init arguments for the pool manager Appium Python client uses to manage http requests.
232
+
233
+ ```python
234
+ from appium import webdriver
235
+ from appium.options.ios import XCUITestOptions
236
+
237
+ import urllib3
238
+ from appium.webdriver.appium_connection import AppiumConnection
239
+
240
+ # Retry connection error up to 3 times.
241
+ init_args_for_pool_manage = {
242
+ 'retries': urllib3.util.retry.Retry(total=3, connect=3, read=False)
243
+ }
244
+ appium_executor = AppiumConnection(remote_server_addr='http://127.0.0.1:4723',
245
+ init_args_for_pool_manage=init_args_for_pool_manage)
246
+
247
+ options = XCUITestOptions()
248
+ options.platformVersion = '13.4'
249
+ options.udid = '123456789ABC'
250
+ options.app = PATH('../../apps/UICatalog.app.zip')
251
+ driver = webdriver.Remote(appium_executor, options=options)
252
+ ```
253
+
254
+
255
+ 2. Define a subclass of `AppiumConnection`
256
+
257
+ ```python
258
+ from appium import webdriver
259
+ from appium.options.ios import XCUITestOptions
260
+
261
+ from appium.webdriver.appium_connection import AppiumConnection
262
+
263
+ class CustomAppiumConnection(AppiumConnection):
264
+ # Can add your own methods for the custom class
265
+ pass
266
+
267
+ custom_executor = CustomAppiumConnection(remote_server_addr='http://127.0.0.1:4723')
268
+
269
+ options = XCUITestOptions().load_capabilities({
270
+ 'platformVersion': '13.4',
271
+ 'deviceName': 'iPhone Simulator',
272
+ 'app': PATH('../../apps/UICatalog.app.zip'),
273
+ })
274
+ driver = webdriver.Remote(custom_executor, options=options)
275
+
276
+ ```
277
+
278
+
227
279
  ## Documentation
228
280
 
229
281
  - https://appium.github.io/python-client-sphinx/ is detailed documentation
@@ -115,7 +115,7 @@ options = UiAutomator2Options()
115
115
  options.platformVersion = '10'
116
116
  options.udid = '123456789ABC'
117
117
  options.app = PATH('../../../apps/test-app.apk')
118
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
118
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
119
119
  self.driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
120
120
  el = self.driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value='item')
121
121
  el.click()
@@ -134,7 +134,7 @@ options = XCUITestOptions()
134
134
  options.platformVersion = '13.4'
135
135
  options.udid = '123456789ABC'
136
136
  options.app = PATH('../../apps/UICatalog.app.zip')
137
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
137
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
138
138
  self.driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
139
139
  el = self.driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value='item')
140
140
  el.click()
@@ -158,7 +158,7 @@ from appium import webdriver
158
158
  # instead: https://github.com/appium/python-client/pull/720
159
159
  from appium.options.ios import XCUITestOptions
160
160
 
161
- # load_capabilities API could be used to
161
+ # load_capabilities API could be used to
162
162
  # load options mapping stored in a dictionary
163
163
  options = XCUITestOptions().load_capabilities({
164
164
  'platformVersion': '13.4',
@@ -167,9 +167,9 @@ options = XCUITestOptions().load_capabilities({
167
167
  })
168
168
 
169
169
  self.driver = webdriver.Remote(
170
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
171
- 'http://127.0.0.1:4723',
172
- options=options,
170
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
171
+ 'http://127.0.0.1:4723',
172
+ options=options,
173
173
  direct_connection=True
174
174
  )
175
175
  ```
@@ -192,10 +192,62 @@ options.automation_name = 'safari'
192
192
  # calls to it could be chained
193
193
  options.set_capability('browser_name', 'safari')
194
194
 
195
- # Appium1 points to http://127.0.0.1:4723/wd/hub by default
195
+ # Appium1 points to http://127.0.0.1:4723/wd/hub by default
196
196
  self.driver = webdriver.Remote('http://127.0.0.1:4723', options=options, strict_ssl=False)
197
197
  ```
198
198
 
199
+ ## Set custom `AppiumConnection`
200
+
201
+ The first argument of `webdriver.Remote` can set an arbitrary command executor for you.
202
+
203
+ 1. Set init arguments for the pool manager Appium Python client uses to manage http requests.
204
+
205
+ ```python
206
+ from appium import webdriver
207
+ from appium.options.ios import XCUITestOptions
208
+
209
+ import urllib3
210
+ from appium.webdriver.appium_connection import AppiumConnection
211
+
212
+ # Retry connection error up to 3 times.
213
+ init_args_for_pool_manage = {
214
+ 'retries': urllib3.util.retry.Retry(total=3, connect=3, read=False)
215
+ }
216
+ appium_executor = AppiumConnection(remote_server_addr='http://127.0.0.1:4723',
217
+ init_args_for_pool_manage=init_args_for_pool_manage)
218
+
219
+ options = XCUITestOptions()
220
+ options.platformVersion = '13.4'
221
+ options.udid = '123456789ABC'
222
+ options.app = PATH('../../apps/UICatalog.app.zip')
223
+ driver = webdriver.Remote(appium_executor, options=options)
224
+ ```
225
+
226
+
227
+ 2. Define a subclass of `AppiumConnection`
228
+
229
+ ```python
230
+ from appium import webdriver
231
+ from appium.options.ios import XCUITestOptions
232
+
233
+ from appium.webdriver.appium_connection import AppiumConnection
234
+
235
+ class CustomAppiumConnection(AppiumConnection):
236
+ # Can add your own methods for the custom class
237
+ pass
238
+
239
+ custom_executor = CustomAppiumConnection(remote_server_addr='http://127.0.0.1:4723')
240
+
241
+ options = XCUITestOptions().load_capabilities({
242
+ 'platformVersion': '13.4',
243
+ 'deviceName': 'iPhone Simulator',
244
+ 'app': PATH('../../apps/UICatalog.app.zip'),
245
+ })
246
+ driver = webdriver.Remote(custom_executor, options=options)
247
+
248
+ ```
249
+
250
+
199
251
  ## Documentation
200
252
 
201
253
  - https://appium.github.io/python-client-sphinx/ is detailed documentation
@@ -0,0 +1 @@
1
+ version = '2.9.0'
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import uuid
16
- from typing import TYPE_CHECKING, Any, Dict, Union
16
+ from typing import TYPE_CHECKING, Any, Dict, Optional, Union
17
17
 
18
18
  import urllib3
19
19
  from selenium.webdriver.remote.remote_connection import RemoteConnection
@@ -25,10 +25,23 @@ if TYPE_CHECKING:
25
25
 
26
26
 
27
27
  class AppiumConnection(RemoteConnection):
28
+ def __init__(
29
+ self,
30
+ remote_server_addr: str,
31
+ keep_alive: bool = False,
32
+ ignore_proxy: Optional[bool] = False,
33
+ init_args_for_pool_manager: Union[Dict[str, Any], None] = None,
34
+ ):
35
+
36
+ # Need to call before super().__init__ in order to pass arguments for the pool manager in the super.
37
+ self._init_args_for_pool_manager = init_args_for_pool_manager or {}
38
+
39
+ super().__init__(remote_server_addr, keep_alive=keep_alive, ignore_proxy=ignore_proxy)
40
+
28
41
  def _get_connection_manager(self) -> Union[urllib3.PoolManager, urllib3.ProxyManager]:
29
42
  # https://github.com/SeleniumHQ/selenium/blob/0e0194b0e52a34e7df4b841f1ed74506beea5c3e/py/selenium/webdriver/remote/remote_connection.py#L134
30
43
  pool_manager_init_args = {'timeout': self._timeout}
31
- # pylint: disable=E1101
44
+
32
45
  if self._ca_certs:
33
46
  pool_manager_init_args['cert_reqs'] = 'CERT_REQUIRED'
34
47
  pool_manager_init_args['ca_certs'] = self._ca_certs
@@ -36,6 +49,8 @@ class AppiumConnection(RemoteConnection):
36
49
  # This line is necessary to disable certificate verification
37
50
  pool_manager_init_args['cert_reqs'] = 'CERT_NONE'
38
51
 
52
+ pool_manager_init_args.update(self._init_args_for_pool_manager)
53
+
39
54
  return (
40
55
  urllib3.PoolManager(**pool_manager_init_args)
41
56
  if self._proxy_url is None
@@ -14,6 +14,7 @@
14
14
 
15
15
  # pylint: disable=too-many-lines,too-many-public-methods,too-many-statements,no-self-use
16
16
 
17
+ import warnings
17
18
  from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar, Union
18
19
 
19
20
  from selenium import webdriver
@@ -203,7 +204,7 @@ class WebDriver(
203
204
  ):
204
205
  def __init__(
205
206
  self,
206
- command_executor: str = 'http://127.0.0.1:4444/wd/hub',
207
+ command_executor: Union[str, AppiumConnection] = 'http://127.0.0.1:4444/wd/hub',
207
208
  desired_capabilities: Optional[Dict] = None,
208
209
  browser_profile: Union[str, None] = None,
209
210
  proxy: Union[str, None] = None,
@@ -227,8 +228,11 @@ class WebDriver(
227
228
  AppiumConnection.set_certificate_bundle_path(None)
228
229
  urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
229
230
 
231
+ if isinstance(command_executor, str):
232
+ command_executor = AppiumConnection(command_executor, keep_alive=keep_alive)
233
+
230
234
  super().__init__(
231
- command_executor=AppiumConnection(command_executor, keep_alive=keep_alive),
235
+ command_executor=command_executor,
232
236
  desired_capabilities=desired_capabilities,
233
237
  browser_profile=browser_profile,
234
238
  proxy=proxy,
@@ -434,6 +438,7 @@ class WebDriver(
434
438
 
435
439
  def set_value(self: T, element: MobileWebElement, value: str) -> T:
436
440
  """Set the value on an element in the application.
441
+ deprecated:: 2.8.1
437
442
 
438
443
  Args:
439
444
  element: the element whose value will be set
@@ -442,10 +447,14 @@ class WebDriver(
442
447
  Returns:
443
448
  `appium.webdriver.webdriver.WebDriver`: Self instance
444
449
  """
445
- data = {
446
- 'id': element.id,
447
- 'value': [value],
448
- }
450
+ warnings.warn(
451
+ 'The "setValue" API is deprecated and will be removed in future versions. '
452
+ 'Instead the "send_keys" API or W3C Actions can be used. '
453
+ 'See https://github.com/appium/python-client/pull/831',
454
+ DeprecationWarning,
455
+ )
456
+
457
+ data = {'text': value}
449
458
  self.execute(Command.SET_IMMEDIATE_VALUE, data)
450
459
  return self
451
460
 
@@ -12,6 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import warnings
15
16
  from typing import Callable, Dict, List, Optional, Union
16
17
 
17
18
  from selenium.webdriver.common.utils import keys_to_typing
@@ -157,6 +158,7 @@ class WebElement(SeleniumWebElement):
157
158
 
158
159
  def set_text(self, keys: str = '') -> 'WebElement':
159
160
  """Sends text to the element.
161
+ deprecated:: 2.8.1
160
162
 
161
163
  Previous text is removed.
162
164
  Android only.
@@ -170,7 +172,14 @@ class WebElement(SeleniumWebElement):
170
172
  Returns:
171
173
  `appium.webdriver.webelement.WebElement`
172
174
  """
173
- data = {'id': self._id, 'value': [keys]}
175
+ warnings.warn(
176
+ 'The "setText" API is deprecated and will be removed in future versions. '
177
+ 'Instead the "send_keys" API or W3C Actions can be used. '
178
+ 'See https://github.com/appium/python-client/pull/831',
179
+ DeprecationWarning,
180
+ )
181
+
182
+ data = {'text': keys}
174
183
  self._execute(Command.REPLACE_KEYS, data)
175
184
  return self
176
185
 
@@ -190,6 +199,7 @@ class WebElement(SeleniumWebElement):
190
199
 
191
200
  def set_value(self, value: str) -> 'WebElement':
192
201
  """Set the value on this element in the application
202
+ deprecated:: 2.8.1
193
203
 
194
204
  Args:
195
205
  value: The value to be set
@@ -197,10 +207,14 @@ class WebElement(SeleniumWebElement):
197
207
  Returns:
198
208
  `appium.webdriver.webelement.WebElement`
199
209
  """
200
- data = {
201
- 'id': self.id,
202
- 'value': [value],
203
- }
210
+ warnings.warn(
211
+ 'The "setValue" API is deprecated and will be removed in future versions. '
212
+ 'Instead the "send_keys" API or W3C Actions can be used. '
213
+ 'See https://github.com/appium/python-client/pull/831',
214
+ DeprecationWarning,
215
+ )
216
+
217
+ data = {'text': value}
204
218
  self._execute(Command.SET_IMMEDIATE_VALUE, data)
205
219
  return self
206
220
 
@@ -1 +0,0 @@
1
- version = '2.8.1'