Appium-Python-Client 3.2.0__tar.gz → 4.0.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-3.2.0 → Appium-Python-Client-4.0.0}/Appium_Python_Client.egg-info/PKG-INFO +11 -7
  2. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/Appium_Python_Client.egg-info/SOURCES.txt +0 -2
  3. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/PKG-INFO +11 -7
  4. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/README.md +10 -6
  5. Appium-Python-Client-4.0.0/appium/version.py +1 -0
  6. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/appium_service.py +1 -0
  7. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/common/appiumby.py +0 -2
  8. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/webdriver.py +0 -1
  9. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/webdriver.common.rst +0 -16
  10. Appium-Python-Client-3.2.0/appium/version.py +0 -1
  11. Appium-Python-Client-3.2.0/appium/webdriver/common/multi_action.py +0 -99
  12. Appium-Python-Client-3.2.0/appium/webdriver/common/touch_action.py +0 -218
  13. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/Appium_Python_Client.egg-info/dependency_links.txt +0 -0
  14. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/Appium_Python_Client.egg-info/requires.txt +0 -0
  15. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/Appium_Python_Client.egg-info/top_level.txt +0 -0
  16. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/LICENSE +0 -0
  17. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/MANIFEST.in +0 -0
  18. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/__init__.py +0 -0
  19. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/common/__init__.py +0 -0
  20. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/common/exceptions.py +0 -0
  21. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/common/helper.py +0 -0
  22. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/common/logger.py +0 -0
  23. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/__init__.py +0 -0
  24. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/__init__.py +0 -0
  25. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/__init__.py +0 -0
  26. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/__init__.py +0 -0
  27. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/adb_exec_timeout_option.py +0 -0
  28. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/adb_port_option.py +0 -0
  29. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/allow_delay_adb_option.py +0 -0
  30. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/build_tools_version_option.py +0 -0
  31. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/clear_device_logs_on_start_option.py +0 -0
  32. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/ignore_hidden_api_policy_error_option.py +0 -0
  33. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/logcat_filter_specs_option.py +0 -0
  34. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/logcat_format_option.py +0 -0
  35. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/mock_location_app_option.py +0 -0
  36. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/remote_adb_host_option.py +0 -0
  37. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/skip_logcat_capture_option.py +0 -0
  38. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/adb/suppress_kill_server_option.py +0 -0
  39. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/__init__.py +0 -0
  40. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/allow_test_packages_option.py +0 -0
  41. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/android_install_timeout_option.py +0 -0
  42. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/app_activity_option.py +0 -0
  43. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/app_package_option.py +0 -0
  44. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/app_wait_activity_option.py +0 -0
  45. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/app_wait_duration_option.py +0 -0
  46. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/app_wait_for_launch_option.py +0 -0
  47. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/app_wait_package_option.py +0 -0
  48. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/auto_grant_premissions_option.py +0 -0
  49. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/enforce_app_install_option.py +0 -0
  50. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/intent_action_option.py +0 -0
  51. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/intent_category_option.py +0 -0
  52. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/intent_flags_option.py +0 -0
  53. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/optional_intent_arguments_option.py +0 -0
  54. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/remote_apps_cache_limit_option.py +0 -0
  55. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/app/uninstall_other_packages_option.py +0 -0
  56. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/avd/__init__.py +0 -0
  57. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/avd/avd_args_option.py +0 -0
  58. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/avd/avd_env_option.py +0 -0
  59. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/avd/avd_launch_timeout_option.py +0 -0
  60. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/avd/avd_option.py +0 -0
  61. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/avd/avd_ready_timeout_option.py +0 -0
  62. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/avd/gps_enabled_option.py +0 -0
  63. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/avd/network_speed_option.py +0 -0
  64. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/__init__.py +0 -0
  65. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/auto_webview_timeout_option.py +0 -0
  66. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chrome_logging_prefs_option.py +0 -0
  67. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chrome_options_option.py +0 -0
  68. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chromedriver_args_option.py +0 -0
  69. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chromedriver_chrome_mapping_file_option.py +0 -0
  70. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chromedriver_disable_build_check_option.py +0 -0
  71. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chromedriver_executable_dir_option.py +0 -0
  72. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chromedriver_executable_option.py +0 -0
  73. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chromedriver_port_option.py +0 -0
  74. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chromedriver_ports_option.py +0 -0
  75. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/chromedriver_use_system_executable_option.py +0 -0
  76. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/ensure_webviews_have_pages_option.py +0 -0
  77. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/extract_chrome_android_package_from_context_name_option.py +0 -0
  78. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/native_web_screenshot_option.py +0 -0
  79. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/recreate_chrome_driver_sessions_option.py +0 -0
  80. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/show_chromedriver_log_option.py +0 -0
  81. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/context/webview_devtools_port_option.py +0 -0
  82. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/localization/__init__.py +0 -0
  83. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/localization/locale_script_option.py +0 -0
  84. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/locking/__init__.py +0 -0
  85. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/locking/skip_unlock_option.py +0 -0
  86. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/locking/unlock_key_option.py +0 -0
  87. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/locking/unlock_strategy_option.py +0 -0
  88. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/locking/unlock_success_timeout_option.py +0 -0
  89. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/locking/unlock_type_option.py +0 -0
  90. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/mjpeg/__init__.py +0 -0
  91. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/mjpeg/mjpeg_screenshot_url_option.py +0 -0
  92. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/other/__init__.py +0 -0
  93. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/other/disable_suppress_accessibility_service_option.py +0 -0
  94. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/other/user_profile_option.py +0 -0
  95. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/signing/__init__.py +0 -0
  96. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/signing/key_alias_option.py +0 -0
  97. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/signing/key_password_option.py +0 -0
  98. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/signing/keystore_password_option.py +0 -0
  99. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/signing/keystore_path_option.py +0 -0
  100. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/signing/no_sign_option.py +0 -0
  101. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/common/signing/use_keystore_option.py +0 -0
  102. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/espresso/__init__.py +0 -0
  103. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/espresso/activity_options_option.py +0 -0
  104. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/espresso/app_locale_option.py +0 -0
  105. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/espresso/base.py +0 -0
  106. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/espresso/espresso_build_config_option.py +0 -0
  107. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/espresso/espresso_server_launch_timeout_option.py +0 -0
  108. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/espresso/force_espresso_rebuild_option.py +0 -0
  109. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/espresso/intent_options_option.py +0 -0
  110. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/espresso/show_gradle_log_option.py +0 -0
  111. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/uiautomator2/__init__.py +0 -0
  112. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/uiautomator2/base.py +0 -0
  113. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/uiautomator2/disable_window_animation_option.py +0 -0
  114. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/uiautomator2/mjpeg_server_port_option.py +0 -0
  115. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/uiautomator2/skip_device_initialization_option.py +0 -0
  116. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/uiautomator2/skip_server_installation_option.py +0 -0
  117. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/uiautomator2/uiautomator2_server_install_timeout_option.py +0 -0
  118. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/uiautomator2/uiautomator2_server_launch_timeout_option.py +0 -0
  119. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/android/uiautomator2/uiautomator2_server_read_timeout_option.py +0 -0
  120. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/__init__.py +0 -0
  121. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/app_option.py +0 -0
  122. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/auto_web_view_option.py +0 -0
  123. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/automation_name_option.py +0 -0
  124. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/base.py +0 -0
  125. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/browser_name_option.py +0 -0
  126. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/bundle_id_option.py +0 -0
  127. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/clear_system_files_option.py +0 -0
  128. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/device_name_option.py +0 -0
  129. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/enable_performance_logging_option.py +0 -0
  130. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/event_timings_option.py +0 -0
  131. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/full_reset_option.py +0 -0
  132. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/is_headless_option.py +0 -0
  133. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/language_option.py +0 -0
  134. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/locale_option.py +0 -0
  135. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/new_command_timeout_option.py +0 -0
  136. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/no_reset_option.py +0 -0
  137. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/orientation_option.py +0 -0
  138. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/other_apps_option.py +0 -0
  139. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/platform_version_option.py +0 -0
  140. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/postrun_option.py +0 -0
  141. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/prerun_option.py +0 -0
  142. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/print_page_source_on_find_failure_option.py +0 -0
  143. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/skip_log_capture_option.py +0 -0
  144. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/supports_capabilities.py +0 -0
  145. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/system_host_option.py +0 -0
  146. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/system_port_option.py +0 -0
  147. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/common/udid_option.py +0 -0
  148. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/gecko/__init__.py +0 -0
  149. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/gecko/android_storage_option.py +0 -0
  150. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/gecko/base.py +0 -0
  151. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/gecko/firefox_options_option.py +0 -0
  152. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/gecko/marionette_port_option.py +0 -0
  153. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/gecko/verbosity_option.py +0 -0
  154. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/__init__.py +0 -0
  155. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/__init__.py +0 -0
  156. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/automatic_inspection_option.py +0 -0
  157. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/automatic_profiling_option.py +0 -0
  158. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/base.py +0 -0
  159. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/device_name_option.py +0 -0
  160. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/device_type_option.py +0 -0
  161. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/device_udid_option.py +0 -0
  162. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/platform_build_version_option.py +0 -0
  163. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/platform_version_option.py +0 -0
  164. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/use_simulator_option.py +0 -0
  165. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/safari/webkit_webrtc_option.py +0 -0
  166. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/__init__.py +0 -0
  167. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/app/__init__.py +0 -0
  168. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/app/app_install_strategy_option.py +0 -0
  169. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/app/app_push_timeout_option.py +0 -0
  170. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/app/localizable_strings_dir_option.py +0 -0
  171. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/base.py +0 -0
  172. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/general/__init__.py +0 -0
  173. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/general/include_device_caps_to_session_info_option.py +0 -0
  174. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/general/reset_location_service_option.py +0 -0
  175. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/other/__init__.py +0 -0
  176. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/other/command_timeouts_option.py +0 -0
  177. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/other/launch_with_idb_option.py +0 -0
  178. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/other/show_ios_log_option.py +0 -0
  179. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/other/use_json_source_option.py +0 -0
  180. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/__init__.py +0 -0
  181. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/calendar_access_authorized_option.py +0 -0
  182. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/calendar_format_option.py +0 -0
  183. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/connect_hardware_keyboard_option.py +0 -0
  184. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/custom_ssl_cert_option.py +0 -0
  185. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/enforce_fresh_simulator_creation_option.py +0 -0
  186. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/force_simulator_software_keyboard_presence_option.py +0 -0
  187. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/ios_simulator_logs_predicate_option.py +0 -0
  188. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/keep_key_chains_option.py +0 -0
  189. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/keychains_exclude_patterns_option.py +0 -0
  190. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/permissions_option.py +0 -0
  191. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/reduce_motion_option.py +0 -0
  192. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/reset_on_session_start_only_option.py +0 -0
  193. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/scale_factor_option.py +0 -0
  194. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/shutdown_other_simulators_option.py +0 -0
  195. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/simulator_devices_set_path_option.py +0 -0
  196. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/simulator_pasteboard_automatic_sync_option.py +0 -0
  197. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/simulator_startup_timeout_option.py +0 -0
  198. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/simulator_trace_pointer_option.py +0 -0
  199. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/simulator/simulator_window_center_option.py +0 -0
  200. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/__init__.py +0 -0
  201. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/allow_provisioning_device_regitration_option.py +0 -0
  202. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/auto_accept_alerts_option.py +0 -0
  203. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/auto_disimiss_alerts_option.py +0 -0
  204. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/derived_data_path_option.py +0 -0
  205. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/disable_automatic_screenshots_option.py +0 -0
  206. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/force_app_launch_option.py +0 -0
  207. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/keychain_password_option.py +0 -0
  208. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/keychain_path_option.py +0 -0
  209. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/max_typing_frequency_option.py +0 -0
  210. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/mjpeg_server_port_option.py +0 -0
  211. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/process_arguments_option.py +0 -0
  212. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/result_bundle_path_option.py +0 -0
  213. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/screenshot_quality_option.py +0 -0
  214. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/should_terminate_app_option.py +0 -0
  215. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/should_use_singleton_test_manager_option.py +0 -0
  216. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/show_xcode_log_option.py +0 -0
  217. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/simple_is_visible_check_option.py +0 -0
  218. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/updated_wda_bundle_id_option.py +0 -0
  219. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/use_native_caching_strategy_option.py +0 -0
  220. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/use_new_wda_option.py +0 -0
  221. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/use_prebuilt_wda_option.py +0 -0
  222. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/use_simple_build_test_option.py +0 -0
  223. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/use_xctestrun_file_option.py +0 -0
  224. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/wait_for_idle_timeout_option.py +0 -0
  225. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/wait_for_quiescence_option.py +0 -0
  226. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/wda_base_url_option.py +0 -0
  227. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/wda_connection_timeout_option.py +0 -0
  228. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/wda_eventloop_idle_delay_option.py +0 -0
  229. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/wda_launch_timeout_option.py +0 -0
  230. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/wda_local_port_option.py +0 -0
  231. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/wda_startup_retries_option.py +0 -0
  232. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/wda_startup_retry_interval_option.py +0 -0
  233. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/web_driver_agent_url_option.py +0 -0
  234. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/xcode_org_id_option.py +0 -0
  235. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/wda/xcode_signing_id_option.py +0 -0
  236. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/__init__.py +0 -0
  237. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/absolute_web_locations_option.py +0 -0
  238. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/additional_webview_bundle_ids_option.py +0 -0
  239. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/enable_async_execute_from_https_option.py +0 -0
  240. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/full_context_list_option.py +0 -0
  241. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/include_safari_in_webviews_option.py +0 -0
  242. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/native_web_tap_option.py +0 -0
  243. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/safari_garbage_collect_option.py +0 -0
  244. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/safari_ignore_fraud_warning_option.py +0 -0
  245. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/safari_ignore_web_hostnames_option.py +0 -0
  246. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/safari_initial_url_option.py +0 -0
  247. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/safari_log_all_communication_hex_dump_option.py +0 -0
  248. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/safari_log_all_communication_option.py +0 -0
  249. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/safari_open_links_in_background_option.py +0 -0
  250. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/safari_socket_chunk_size_option.py +0 -0
  251. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/safari_web_inspector_max_frame_length_option.py +0 -0
  252. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/webkit_response_timeout_option.py +0 -0
  253. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/webview_connect_retries_option.py +0 -0
  254. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py +0 -0
  255. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/__init__.py +0 -0
  256. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/mac2/__init__.py +0 -0
  257. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/mac2/arguments_option.py +0 -0
  258. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/mac2/base.py +0 -0
  259. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/mac2/bootstrap_root_option.py +0 -0
  260. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/mac2/environment_option.py +0 -0
  261. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/mac2/server_startup_timeout_option.py +0 -0
  262. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/mac2/show_server_logs_option.py +0 -0
  263. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/mac2/skip_app_kill_option.py +0 -0
  264. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/mac/mac2/web_driver_agent_mac_url_option.py +0 -0
  265. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/windows/__init__.py +0 -0
  266. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/windows/windows/__init__.py +0 -0
  267. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/windows/windows/app_arguments_option.py +0 -0
  268. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/windows/windows/app_top_level_window_option.py +0 -0
  269. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/windows/windows/app_working_dir_option.py +0 -0
  270. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/windows/windows/base.py +0 -0
  271. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/windows/windows/create_session_timeout_option.py +0 -0
  272. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/windows/windows/expreimental_web_driver_option.py +0 -0
  273. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/options/windows/windows/wait_for_app_launch_option.py +0 -0
  274. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/protocols/__init__.py +0 -0
  275. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/protocols/webdriver/__init__.py +0 -0
  276. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/protocols/webdriver/can_execute_commands.py +0 -0
  277. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/protocols/webdriver/can_execute_scripts.py +0 -0
  278. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/protocols/webdriver/can_find_elements.py +0 -0
  279. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/protocols/webdriver/can_remember_extension_presence.py +0 -0
  280. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/py.typed +0 -0
  281. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/__init__.py +0 -0
  282. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/appium_connection.py +0 -0
  283. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/applicationstate.py +0 -0
  284. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/clipboard_content_type.py +0 -0
  285. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/command_method.py +0 -0
  286. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/common/__init__.py +0 -0
  287. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/connectiontype.py +0 -0
  288. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/errorhandler.py +0 -0
  289. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/__init__.py +0 -0
  290. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/action_helpers.py +0 -0
  291. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/__init__.py +0 -0
  292. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/activities.py +0 -0
  293. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/common.py +0 -0
  294. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/display.py +0 -0
  295. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/gsm.py +0 -0
  296. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/nativekey.py +0 -0
  297. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/network.py +0 -0
  298. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/performance.py +0 -0
  299. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/power.py +0 -0
  300. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/sms.py +0 -0
  301. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/android/system_bars.py +0 -0
  302. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/applications.py +0 -0
  303. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/clipboard.py +0 -0
  304. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/context.py +0 -0
  305. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/device_time.py +0 -0
  306. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/execute_driver.py +0 -0
  307. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/execute_mobile_command.py +0 -0
  308. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/hw_actions.py +0 -0
  309. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/images_comparison.py +0 -0
  310. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/keyboard.py +0 -0
  311. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/location.py +0 -0
  312. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/log_event.py +0 -0
  313. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/remote_fs.py +0 -0
  314. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/screen_record.py +0 -0
  315. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/session.py +0 -0
  316. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/extensions/settings.py +0 -0
  317. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/mobilecommand.py +0 -0
  318. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/switch_to.py +0 -0
  319. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/appium/webdriver/webelement.py +0 -0
  320. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/.DS_Store +0 -0
  321. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/Makefile +0 -0
  322. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/README.md +0 -0
  323. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/doctrees/appium.common.doctree +0 -0
  324. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/doctrees/appium.doctree +0 -0
  325. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/doctrees/appium.webdriver.common.doctree +0 -0
  326. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/doctrees/appium.webdriver.doctree +0 -0
  327. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/doctrees/appium.webdriver.extensions.android.doctree +0 -0
  328. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/doctrees/appium.webdriver.extensions.doctree +0 -0
  329. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/doctrees/appium.webdriver.extensions.search_context.doctree +0 -0
  330. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/doctrees/environment.pickle +0 -0
  331. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/doctrees/index.doctree +0 -0
  332. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/.buildinfo +0 -0
  333. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/.nojekyll +0 -0
  334. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_sources/appium.common.rst.txt +0 -0
  335. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_sources/appium.rst.txt +0 -0
  336. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_sources/appium.webdriver.common.rst.txt +0 -0
  337. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_sources/appium.webdriver.extensions.android.rst.txt +0 -0
  338. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_sources/appium.webdriver.extensions.rst.txt +0 -0
  339. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_sources/appium.webdriver.extensions.search_context.rst.txt +0 -0
  340. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_sources/appium.webdriver.rst.txt +0 -0
  341. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_sources/index.rst.txt +0 -0
  342. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/basic.css +0 -0
  343. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/badge_only.css +0 -0
  344. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  345. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  346. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  347. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  348. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  349. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  350. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  351. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  352. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  353. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  354. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  355. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
  356. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  357. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  358. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  359. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
  360. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  361. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/css/theme.css +0 -0
  362. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/doctools.js +0 -0
  363. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/documentation_options.js +0 -0
  364. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/file.png +0 -0
  365. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/jquery-3.5.1.js +0 -0
  366. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/jquery.js +0 -0
  367. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/js/badge_only.js +0 -0
  368. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/js/html5shiv-printshiv.min.js +0 -0
  369. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/js/html5shiv.min.js +0 -0
  370. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/js/theme.js +0 -0
  371. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/language_data.js +0 -0
  372. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/minus.png +0 -0
  373. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/plus.png +0 -0
  374. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/pygments.css +0 -0
  375. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/searchtools.js +0 -0
  376. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/underscore-1.13.1.js +0 -0
  377. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/_static/underscore.js +0 -0
  378. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/appium.common.html +0 -0
  379. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/appium.html +0 -0
  380. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/appium.webdriver.common.html +0 -0
  381. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/appium.webdriver.extensions.android.html +0 -0
  382. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/appium.webdriver.extensions.html +0 -0
  383. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/appium.webdriver.extensions.search_context.html +0 -0
  384. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/appium.webdriver.html +0 -0
  385. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/genindex.html +0 -0
  386. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/index.html +0 -0
  387. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/objects.inv +0 -0
  388. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/py-modindex.html +0 -0
  389. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/search.html +0 -0
  390. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/_build/html/searchindex.js +0 -0
  391. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/conf.py +0 -0
  392. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/generate.sh +0 -0
  393. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/index.rst +0 -0
  394. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/make.bat +0 -0
  395. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/requirements.txt +0 -0
  396. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/webdriver.extensions.android.rst +0 -0
  397. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/webdriver.extensions.rst +0 -0
  398. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/webdriver.extensions.search_context.rst +0 -0
  399. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/docs/webdriver.rst +0 -0
  400. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/setup.cfg +0 -0
  401. {Appium-Python-Client-3.2.0 → Appium-Python-Client-4.0.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Appium-Python-Client
3
- Version: 3.2.0
3
+ Version: 4.0.0
4
4
  Summary: Python client for Appium
5
5
  Home-page: http://appium.io/
6
6
  Author: Isaac Murchie
@@ -87,6 +87,16 @@ For example, some changes in the Selenium binding could break the Appium client.
87
87
  > to keep compatible version combinations.
88
88
 
89
89
 
90
+ ### Quick migration guide from v3 to v4
91
+ - Removal
92
+ - `MultiAction` and `TouchAction` are removed. Please use W3C WebDriver actions or `mobile:` extensions
93
+ - [appium/webdriver/extensions/action_helpers.py](appium/webdriver/extensions/action_helpers.py)
94
+ - https://www.selenium.dev/documentation/webdriver/actions_api/
95
+ - https://www.youtube.com/watch?v=oAJ7jwMNFVU
96
+ - https://appiumpro.com/editions/30-ios-specific-touch-action-methods
97
+ - https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
98
+ - Deprecated `AppiumBy.WINDOWS_UI_AUTOMATION`, which has no usage right now.
99
+
90
100
  ### Quick migration guide from v2 to v3
91
101
  - `options` keyword argument in the `webdriver.Remote` constructor such as `XCUITestOptions` instead of `desired_capabilities`
92
102
  - Available options are https://github.com/appium/python-client/tree/master/appium/options
@@ -111,12 +121,6 @@ For example, some changes in the Selenium binding could break the Appium client.
111
121
  - Added `strict_ssl` to relax SSL errors such as self-signed ones
112
122
  - Deprecated
113
123
  - `MultiAction` and `TouchAction` are deprecated. Please use W3C WebDriver actions or `mobile:` extensions
114
- - e.g.
115
- - [appium/webdriver/extensions/action_helpers.py](appium/webdriver/extensions/action_helpers.py)
116
- - https://www.selenium.dev/documentation/webdriver/actions_api/
117
- - https://www.youtube.com/watch?v=oAJ7jwMNFVU
118
- - https://appiumpro.com/editions/30-ios-specific-touch-action-methods
119
- - https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
120
124
  - `launch_app`, `close_app`, and `reset` are deprecated. Please read [issues#15807](https://github.com/appium/appium/issues/15807) for more details
121
125
 
122
126
  #### MultiAction/TouchAction to W3C actions
@@ -286,8 +286,6 @@ appium/webdriver/webdriver.py
286
286
  appium/webdriver/webelement.py
287
287
  appium/webdriver/common/__init__.py
288
288
  appium/webdriver/common/appiumby.py
289
- appium/webdriver/common/multi_action.py
290
- appium/webdriver/common/touch_action.py
291
289
  appium/webdriver/extensions/__init__.py
292
290
  appium/webdriver/extensions/action_helpers.py
293
291
  appium/webdriver/extensions/applications.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Appium-Python-Client
3
- Version: 3.2.0
3
+ Version: 4.0.0
4
4
  Summary: Python client for Appium
5
5
  Home-page: http://appium.io/
6
6
  Author: Isaac Murchie
@@ -87,6 +87,16 @@ For example, some changes in the Selenium binding could break the Appium client.
87
87
  > to keep compatible version combinations.
88
88
 
89
89
 
90
+ ### Quick migration guide from v3 to v4
91
+ - Removal
92
+ - `MultiAction` and `TouchAction` are removed. Please use W3C WebDriver actions or `mobile:` extensions
93
+ - [appium/webdriver/extensions/action_helpers.py](appium/webdriver/extensions/action_helpers.py)
94
+ - https://www.selenium.dev/documentation/webdriver/actions_api/
95
+ - https://www.youtube.com/watch?v=oAJ7jwMNFVU
96
+ - https://appiumpro.com/editions/30-ios-specific-touch-action-methods
97
+ - https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
98
+ - Deprecated `AppiumBy.WINDOWS_UI_AUTOMATION`, which has no usage right now.
99
+
90
100
  ### Quick migration guide from v2 to v3
91
101
  - `options` keyword argument in the `webdriver.Remote` constructor such as `XCUITestOptions` instead of `desired_capabilities`
92
102
  - Available options are https://github.com/appium/python-client/tree/master/appium/options
@@ -111,12 +121,6 @@ For example, some changes in the Selenium binding could break the Appium client.
111
121
  - Added `strict_ssl` to relax SSL errors such as self-signed ones
112
122
  - Deprecated
113
123
  - `MultiAction` and `TouchAction` are deprecated. Please use W3C WebDriver actions or `mobile:` extensions
114
- - e.g.
115
- - [appium/webdriver/extensions/action_helpers.py](appium/webdriver/extensions/action_helpers.py)
116
- - https://www.selenium.dev/documentation/webdriver/actions_api/
117
- - https://www.youtube.com/watch?v=oAJ7jwMNFVU
118
- - https://appiumpro.com/editions/30-ios-specific-touch-action-methods
119
- - https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
120
124
  - `launch_app`, `close_app`, and `reset` are deprecated. Please read [issues#15807](https://github.com/appium/appium/issues/15807) for more details
121
125
 
122
126
  #### MultiAction/TouchAction to W3C actions
@@ -59,6 +59,16 @@ For example, some changes in the Selenium binding could break the Appium client.
59
59
  > to keep compatible version combinations.
60
60
 
61
61
 
62
+ ### Quick migration guide from v3 to v4
63
+ - Removal
64
+ - `MultiAction` and `TouchAction` are removed. Please use W3C WebDriver actions or `mobile:` extensions
65
+ - [appium/webdriver/extensions/action_helpers.py](appium/webdriver/extensions/action_helpers.py)
66
+ - https://www.selenium.dev/documentation/webdriver/actions_api/
67
+ - https://www.youtube.com/watch?v=oAJ7jwMNFVU
68
+ - https://appiumpro.com/editions/30-ios-specific-touch-action-methods
69
+ - https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
70
+ - Deprecated `AppiumBy.WINDOWS_UI_AUTOMATION`, which has no usage right now.
71
+
62
72
  ### Quick migration guide from v2 to v3
63
73
  - `options` keyword argument in the `webdriver.Remote` constructor such as `XCUITestOptions` instead of `desired_capabilities`
64
74
  - Available options are https://github.com/appium/python-client/tree/master/appium/options
@@ -83,12 +93,6 @@ For example, some changes in the Selenium binding could break the Appium client.
83
93
  - Added `strict_ssl` to relax SSL errors such as self-signed ones
84
94
  - Deprecated
85
95
  - `MultiAction` and `TouchAction` are deprecated. Please use W3C WebDriver actions or `mobile:` extensions
86
- - e.g.
87
- - [appium/webdriver/extensions/action_helpers.py](appium/webdriver/extensions/action_helpers.py)
88
- - https://www.selenium.dev/documentation/webdriver/actions_api/
89
- - https://www.youtube.com/watch?v=oAJ7jwMNFVU
90
- - https://appiumpro.com/editions/30-ios-specific-touch-action-methods
91
- - https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
92
96
  - `launch_app`, `close_app`, and `reset` are deprecated. Please read [issues#15807](https://github.com/appium/appium/issues/15807) for more details
93
97
 
94
98
  #### MultiAction/TouchAction to W3C actions
@@ -0,0 +1 @@
1
+ version = '4.0.0'
@@ -235,6 +235,7 @@ class AppiumService:
235
235
  if self.is_running:
236
236
  assert self._process
237
237
  self._process.terminate()
238
+ self._process.communicate(timeout=5)
238
239
  is_terminated = True
239
240
  self._process = None
240
241
  self._cmd = None
@@ -23,8 +23,6 @@ class AppiumBy(By):
23
23
  ANDROID_VIEWTAG = '-android viewtag'
24
24
  ANDROID_DATA_MATCHER = '-android datamatcher'
25
25
  ANDROID_VIEW_MATCHER = '-android viewmatcher'
26
- # Deprecated
27
- WINDOWS_UI_AUTOMATION = '-windows uiautomation'
28
26
  ACCESSIBILITY_ID = 'accessibility id'
29
27
  IMAGE = '-image'
30
28
  CUSTOM = '-custom'
@@ -245,7 +245,6 @@ class WebDriver(
245
245
  By.IOS_CLASS_CHAIN = AppiumBy.IOS_CLASS_CHAIN
246
246
  By.ANDROID_UIAUTOMATOR = AppiumBy.ANDROID_UIAUTOMATOR
247
247
  By.ANDROID_VIEWTAG = AppiumBy.ANDROID_VIEWTAG
248
- By.WINDOWS_UI_AUTOMATION = AppiumBy.WINDOWS_UI_AUTOMATION
249
248
  By.ACCESSIBILITY_ID = AppiumBy.ACCESSIBILITY_ID
250
249
  By.IMAGE = AppiumBy.IMAGE
251
250
  By.CUSTOM = AppiumBy.CUSTOM
@@ -12,22 +12,6 @@ webdriver.common.mobileby module
12
12
  :undoc-members:
13
13
  :show-inheritance:
14
14
 
15
- webdriver.common.multi\_action module
16
- -------------------------------------
17
-
18
- .. automodule:: webdriver.common.multi_action
19
- :members:
20
- :undoc-members:
21
- :show-inheritance:
22
-
23
- webdriver.common.touch\_action module
24
- -------------------------------------
25
-
26
- .. automodule:: webdriver.common.touch_action
27
- :members:
28
- :undoc-members:
29
- :show-inheritance:
30
-
31
15
  Module contents
32
16
  ---------------
33
17
 
@@ -1 +0,0 @@
1
- version = '3.2.0'
@@ -1,99 +0,0 @@
1
- #!/usr/bin/env python
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- # The Selenium team implemented something like the Multi Action API in the form of
17
- # "action chains" (https://code.google.com/p/selenium/source/browse/py/selenium/webdriver/common/action_chains.py).
18
- # These do not quite work for this situation, and do not allow for ad hoc action
19
- # chaining as the spec requires.
20
-
21
- import copy
22
- import warnings
23
- from typing import TYPE_CHECKING, Dict, List, Optional, Union
24
-
25
- from appium.webdriver.mobilecommand import MobileCommand as Command
26
-
27
- if TYPE_CHECKING:
28
- from appium.webdriver.common.touch_action import TouchAction
29
- from appium.webdriver.webdriver import WebDriver
30
- from appium.webdriver.webelement import WebElement
31
-
32
-
33
- class MultiAction:
34
- """
35
- deprecated:: 2.0.0
36
- Please use W3C actions instead: https://github.com/appium/python-client?tab=readme-ov-file#multiactiontouchaction-to-w3c-actions
37
- """
38
-
39
- def __init__(self, driver: 'WebDriver', element: Optional['WebElement'] = None) -> None:
40
- warnings.warn(
41
- '[Deprecated] \'MultiAction\' action is deprecated. Please use W3C actions instead.', DeprecationWarning
42
- )
43
-
44
- self._driver = driver
45
- self._element = element
46
- self._touch_actions: List['TouchAction'] = []
47
-
48
- def add(self, *touch_actions: 'TouchAction') -> 'MultiAction':
49
- """Add TouchAction objects to the MultiAction, to be performed later.
50
-
51
- Args:
52
- touch_actions: one or more TouchAction objects describing a chain of actions to be performed by one finger
53
-
54
- Usage:
55
- | a1 = TouchAction(driver)
56
- | a1.press(el1).move_to(el2).release()
57
- | a2 = TouchAction(driver)
58
- | a2.press(el2).move_to(el1).release()
59
- | MultiAction(driver).add(a1, a2)
60
-
61
- Returns:
62
- `MultiAction`: Self instance
63
- """
64
- for touch_action in touch_actions:
65
- if self._touch_actions is None:
66
- self._touch_actions = []
67
-
68
- self._touch_actions.append(copy.copy(touch_action))
69
-
70
- return self
71
-
72
- def perform(self) -> 'MultiAction':
73
- """Perform the actions stored in the object.
74
-
75
- Usage:
76
- | a1 = TouchAction(driver)
77
- | a1.press(el1).move_to(el2).release()
78
- | a2 = TouchAction(driver)
79
- | a2.press(el2).move_to(el1).release()
80
- | MultiAction(driver).add(a1, a2).perform()
81
-
82
- Returns:
83
- `MultiAction`: Self instance
84
- """
85
- self._driver.execute(Command.MULTI_ACTION, self.json_wire_gestures)
86
-
87
- # clean up and be ready for the next batch
88
- self._touch_actions = []
89
-
90
- return self
91
-
92
- @property
93
- def json_wire_gestures(self) -> Dict[str, Union[List, str]]:
94
- actions = []
95
- for action in self._touch_actions:
96
- actions.append(action.json_wire_gestures)
97
- if self._element is not None:
98
- return {'actions': actions, 'elementId': self._element.id}
99
- return {'actions': actions}
@@ -1,218 +0,0 @@
1
- #!/usr/bin/env python
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- # The Selenium team implemented a version of the Touch Action API in their code
17
- # (https://code.google.com/p/selenium/source/browse/py/selenium/webdriver/common/touch_actions.py)
18
- # but it is deficient in many ways, and does not work in such a way as to be
19
- # amenable to Appium's use of iOS UIAutomation and Android UIAutomator
20
- # So it is reimplemented here.
21
- #
22
- # Theirs is `TouchActions`. Appium's is `TouchAction`.
23
-
24
- # pylint: disable=no-self-use
25
-
26
- import copy
27
- import warnings
28
- from typing import TYPE_CHECKING, Dict, List, Optional, Union
29
-
30
- from appium.webdriver.mobilecommand import MobileCommand as Command
31
-
32
- if TYPE_CHECKING:
33
- from appium.webdriver.webdriver import WebDriver
34
- from appium.webdriver.webelement import WebElement
35
-
36
-
37
- class TouchAction:
38
- """
39
- deprecated:: 2.0.0
40
- Please use W3C actions instead: https://github.com/appium/python-client?tab=readme-ov-file#multiactiontouchaction-to-w3c-actions
41
- """
42
-
43
- def __init__(self, driver: Optional['WebDriver'] = None):
44
- warnings.warn(
45
- '[Deprecated] \'TouchAction\' action is deprecated. Please use W3C actions instead.', DeprecationWarning
46
- )
47
-
48
- self._driver = driver
49
- self._actions: List = []
50
-
51
- def tap(
52
- self,
53
- element: Optional['WebElement'] = None,
54
- x: Optional[int] = None,
55
- y: Optional[int] = None,
56
- count: int = 1,
57
- ) -> 'TouchAction':
58
- """Perform a tap action on the element
59
-
60
- Args:
61
- element: the element to tap
62
- x : x coordinate to tap, relative to the top left corner of the element.
63
- y : y coordinate. If y is used, x must also be set, and vice versa
64
-
65
- Returns:
66
- `TouchAction`: Self instance
67
- """
68
- opts = self._get_opts(element, x, y)
69
- opts['count'] = count
70
- self._add_action('tap', opts)
71
-
72
- return self
73
-
74
- def press(
75
- self,
76
- el: Optional['WebElement'] = None,
77
- x: Optional[int] = None,
78
- y: Optional[int] = None,
79
- pressure: Optional[float] = None,
80
- ) -> 'TouchAction':
81
- """Begin a chain with a press down action at a particular element or point
82
-
83
- Args:
84
- el: the element to press
85
- x: x coordiate to press. If y is used, x must also be set
86
- y: y coordiate to press. If x is used, y must also be set
87
- pressure: [iOS Only] press as force touch. Read the description of `force` property on Apple's UITouch class
88
- (https://developer.apple.com/documentation/uikit/uitouch?language=objc) for
89
- more details on possible value ranges.
90
-
91
- Returns:
92
- `TouchAction`: Self instance
93
- """
94
- self._add_action('press', self._get_opts(el, x, y, pressure=pressure))
95
-
96
- return self
97
-
98
- def long_press(
99
- self,
100
- el: Optional['WebElement'] = None,
101
- x: Optional[int] = None,
102
- y: Optional[int] = None,
103
- duration: int = 1000,
104
- ) -> 'TouchAction':
105
- """Begin a chain with a press down that lasts `duration` milliseconds
106
-
107
- Args:
108
- el: the element to press
109
- x: x coordiate to press. If y is used, x must also be set
110
- y: y coordiate to press. If x is used, y must also be set
111
- duration: Duration to press, expressed in milliseconds
112
-
113
- Returns:
114
- `TouchAction`: Self instance
115
- """
116
- self._add_action('longPress', self._get_opts(el, x, y, duration))
117
-
118
- return self
119
-
120
- def wait(self, ms: int = 0) -> 'TouchAction':
121
- """Pause for `ms` milliseconds.
122
-
123
- Args:
124
- ms: The time to pause
125
-
126
- Returns:
127
- `TouchAction`: Self instance
128
- """
129
- if ms is None:
130
- ms = 0
131
-
132
- opts = {'ms': ms}
133
-
134
- self._add_action('wait', opts)
135
-
136
- return self
137
-
138
- def move_to(
139
- self, el: Optional['WebElement'] = None, x: Optional[int] = None, y: Optional[int] = None
140
- ) -> 'TouchAction':
141
- """Move the pointer from the previous point to the element or point specified
142
-
143
- Args:
144
- el: the element to be moved to
145
- x: x coordiate to be moved to. If y is used, x must also be set
146
- y: y coordiate to be moved to. If x is used, y must also be set
147
-
148
- Returns:
149
- `TouchAction`: Self instance
150
- """
151
- self._add_action('moveTo', self._get_opts(el, x, y))
152
-
153
- return self
154
-
155
- def release(self) -> 'TouchAction':
156
- """End the action by lifting the pointer off the screen
157
-
158
- Returns:
159
- `TouchAction`: Self instance
160
- """
161
- self._add_action('release', {})
162
-
163
- return self
164
-
165
- def perform(self) -> 'TouchAction':
166
- """Perform the action by sending the commands to the server to be operated upon
167
-
168
- Returns:
169
- `TouchAction`: Self instance
170
- """
171
- if self._driver is None:
172
- raise ValueError('Set driver to constructor as a argument when to create the instance.')
173
- params = {'actions': self._actions}
174
- self._driver.execute(Command.TOUCH_ACTION, params)
175
-
176
- # get rid of actions so the object can be reused
177
- self._actions = []
178
-
179
- return self
180
-
181
- @property
182
- def json_wire_gestures(self) -> List[Dict]:
183
- gestures = []
184
- for action in self._actions:
185
- gestures.append(copy.deepcopy(action))
186
- return gestures
187
-
188
- def _add_action(self, action: str, options: Dict) -> None:
189
- gesture = {
190
- 'action': action,
191
- 'options': options,
192
- }
193
- self._actions.append(gesture)
194
-
195
- def _get_opts(
196
- self,
197
- el: Optional['WebElement'] = None,
198
- x: Optional[int] = None,
199
- y: Optional[int] = None,
200
- duration: Optional[int] = None,
201
- pressure: Optional[float] = None,
202
- ) -> Dict[str, Union[int, float]]:
203
- opts = {}
204
- if el is not None:
205
- opts['element'] = el.id
206
-
207
- # it makes no sense to have x but no y, or vice versa.
208
- if x is not None and y is not None:
209
- opts['x'] = x
210
- opts['y'] = y
211
-
212
- if duration is not None:
213
- opts['duration'] = duration
214
-
215
- if pressure is not None:
216
- opts['pressure'] = pressure
217
-
218
- return opts