Appium-Python-Client 4.0.1__tar.gz → 4.1.1__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 (344) hide show
  1. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/PKG-INFO +28 -8
  2. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/SOURCES.txt +11 -1
  3. appium_python_client-4.1.1/Appium_Python_Client.egg-info/requires.txt +1 -0
  4. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/PKG-INFO +28 -8
  5. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/README.md +26 -6
  6. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/common/helper.py +7 -0
  7. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/adb_exec_timeout_option.py +1 -3
  8. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_wait_duration_option.py +1 -3
  9. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_launch_timeout_option.py +1 -3
  10. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_ready_timeout_option.py +1 -3
  11. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/auto_webview_timeout_option.py +1 -3
  12. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/espresso_build_config_option.py +1 -3
  13. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/supports_capabilities.py +2 -4
  14. appium_python_client-4.1.1/appium/options/flutter_integration/__init__.py +15 -0
  15. appium_python_client-4.1.1/appium/options/flutter_integration/base.py +39 -0
  16. appium_python_client-4.1.1/appium/options/flutter_integration/flutter_element_wait_timeout_option.py +50 -0
  17. appium_python_client-4.1.1/appium/options/flutter_integration/flutter_enable_mock_camera_option.py +44 -0
  18. appium_python_client-4.1.1/appium/options/flutter_integration/flutter_server_launch_timeout_option.py +51 -0
  19. appium_python_client-4.1.1/appium/options/flutter_integration/flutter_system_port_option.py +45 -0
  20. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/app/app_push_timeout_option.py +1 -3
  21. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_launch_timeout_option.py +1 -3
  22. appium_python_client-4.1.1/appium/options/mac/mac2/app_path_option.py +39 -0
  23. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/base.py +2 -0
  24. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/can_execute_commands.py +1 -2
  25. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/can_execute_scripts.py +5 -10
  26. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/can_find_elements.py +2 -4
  27. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/can_remember_extension_presence.py +2 -4
  28. appium_python_client-4.1.1/appium/version.py +1 -0
  29. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/appium_service.py +158 -119
  30. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/common/appiumby.py +7 -0
  31. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/action_helpers.py +18 -18
  32. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/common.py +3 -7
  33. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/gsm.py +7 -11
  34. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/network.py +5 -9
  35. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/power.py +5 -9
  36. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/sms.py +3 -7
  37. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/applications.py +10 -12
  38. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/clipboard.py +5 -7
  39. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/device_time.py +1 -3
  40. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/execute_mobile_command.py +5 -6
  41. appium_python_client-4.1.1/appium/webdriver/extensions/flutter_integration/__init__.py +13 -0
  42. appium_python_client-4.1.1/appium/webdriver/extensions/flutter_integration/flutter_commands.py +193 -0
  43. appium_python_client-4.1.1/appium/webdriver/extensions/flutter_integration/flutter_finder.py +52 -0
  44. appium_python_client-4.1.1/appium/webdriver/extensions/flutter_integration/scroll_directions.py +6 -0
  45. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/hw_actions.py +15 -17
  46. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/images_comparison.py +1 -3
  47. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/keyboard.py +9 -15
  48. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/location.py +7 -9
  49. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/log_event.py +5 -6
  50. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/remote_fs.py +4 -8
  51. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/settings.py +5 -6
  52. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/switch_to.py +4 -6
  53. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/webdriver.py +6 -11
  54. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/webelement.py +3 -2
  55. appium_python_client-4.1.1/docs/requirements.txt +2 -0
  56. appium_python_client-4.1.1/setup.cfg +4 -0
  57. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/setup.py +1 -1
  58. appium_python_client-4.0.1/Appium_Python_Client.egg-info/requires.txt +0 -1
  59. appium_python_client-4.0.1/appium/version.py +0 -1
  60. appium_python_client-4.0.1/docs/requirements.txt +0 -2
  61. appium_python_client-4.0.1/setup.cfg +0 -24
  62. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/dependency_links.txt +0 -0
  63. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/top_level.txt +0 -0
  64. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/LICENSE +0 -0
  65. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/MANIFEST.in +0 -0
  66. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/__init__.py +0 -0
  67. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/common/__init__.py +0 -0
  68. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/common/exceptions.py +0 -0
  69. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/common/logger.py +0 -0
  70. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/__init__.py +0 -0
  71. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/__init__.py +0 -0
  72. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/__init__.py +0 -0
  73. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/__init__.py +0 -0
  74. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/adb_port_option.py +0 -0
  75. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/allow_delay_adb_option.py +0 -0
  76. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/build_tools_version_option.py +0 -0
  77. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/clear_device_logs_on_start_option.py +0 -0
  78. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/ignore_hidden_api_policy_error_option.py +0 -0
  79. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/logcat_filter_specs_option.py +0 -0
  80. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/logcat_format_option.py +0 -0
  81. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/mock_location_app_option.py +0 -0
  82. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/remote_adb_host_option.py +0 -0
  83. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/skip_logcat_capture_option.py +0 -0
  84. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/suppress_kill_server_option.py +0 -0
  85. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/__init__.py +0 -0
  86. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/allow_test_packages_option.py +0 -0
  87. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/android_install_timeout_option.py +0 -0
  88. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_activity_option.py +0 -0
  89. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_package_option.py +0 -0
  90. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_wait_activity_option.py +0 -0
  91. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_wait_for_launch_option.py +0 -0
  92. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_wait_package_option.py +0 -0
  93. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/auto_grant_premissions_option.py +0 -0
  94. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/enforce_app_install_option.py +0 -0
  95. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/intent_action_option.py +0 -0
  96. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/intent_category_option.py +0 -0
  97. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/intent_flags_option.py +0 -0
  98. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/optional_intent_arguments_option.py +0 -0
  99. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/remote_apps_cache_limit_option.py +0 -0
  100. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/uninstall_other_packages_option.py +0 -0
  101. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/__init__.py +0 -0
  102. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_args_option.py +0 -0
  103. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_env_option.py +0 -0
  104. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_option.py +0 -0
  105. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/gps_enabled_option.py +0 -0
  106. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/network_speed_option.py +0 -0
  107. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/__init__.py +0 -0
  108. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chrome_logging_prefs_option.py +0 -0
  109. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chrome_options_option.py +0 -0
  110. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_args_option.py +0 -0
  111. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_chrome_mapping_file_option.py +0 -0
  112. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_disable_build_check_option.py +0 -0
  113. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_executable_dir_option.py +0 -0
  114. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_executable_option.py +0 -0
  115. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_port_option.py +0 -0
  116. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_ports_option.py +0 -0
  117. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_use_system_executable_option.py +0 -0
  118. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/ensure_webviews_have_pages_option.py +0 -0
  119. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/extract_chrome_android_package_from_context_name_option.py +0 -0
  120. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/native_web_screenshot_option.py +0 -0
  121. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/recreate_chrome_driver_sessions_option.py +0 -0
  122. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/show_chromedriver_log_option.py +0 -0
  123. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/webview_devtools_port_option.py +0 -0
  124. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/localization/__init__.py +0 -0
  125. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/localization/locale_script_option.py +0 -0
  126. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/__init__.py +0 -0
  127. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/skip_unlock_option.py +0 -0
  128. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/unlock_key_option.py +0 -0
  129. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/unlock_strategy_option.py +0 -0
  130. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/unlock_success_timeout_option.py +0 -0
  131. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/unlock_type_option.py +0 -0
  132. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/mjpeg/__init__.py +0 -0
  133. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/mjpeg/mjpeg_screenshot_url_option.py +0 -0
  134. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/other/__init__.py +0 -0
  135. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/other/disable_suppress_accessibility_service_option.py +0 -0
  136. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/other/user_profile_option.py +0 -0
  137. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/__init__.py +0 -0
  138. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/key_alias_option.py +0 -0
  139. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/key_password_option.py +0 -0
  140. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/keystore_password_option.py +0 -0
  141. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/keystore_path_option.py +0 -0
  142. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/no_sign_option.py +0 -0
  143. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/use_keystore_option.py +0 -0
  144. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/__init__.py +0 -0
  145. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/activity_options_option.py +0 -0
  146. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/app_locale_option.py +0 -0
  147. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/base.py +0 -0
  148. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/espresso_server_launch_timeout_option.py +0 -0
  149. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/force_espresso_rebuild_option.py +0 -0
  150. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/intent_options_option.py +0 -0
  151. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/show_gradle_log_option.py +0 -0
  152. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/__init__.py +0 -0
  153. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/base.py +0 -0
  154. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/disable_window_animation_option.py +0 -0
  155. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/mjpeg_server_port_option.py +0 -0
  156. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/skip_device_initialization_option.py +0 -0
  157. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/skip_server_installation_option.py +0 -0
  158. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/uiautomator2_server_install_timeout_option.py +0 -0
  159. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/uiautomator2_server_launch_timeout_option.py +0 -0
  160. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/uiautomator2_server_read_timeout_option.py +0 -0
  161. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/__init__.py +0 -0
  162. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/app_option.py +0 -0
  163. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/auto_web_view_option.py +0 -0
  164. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/automation_name_option.py +0 -0
  165. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/base.py +0 -0
  166. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/browser_name_option.py +0 -0
  167. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/bundle_id_option.py +0 -0
  168. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/clear_system_files_option.py +0 -0
  169. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/device_name_option.py +0 -0
  170. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/enable_performance_logging_option.py +0 -0
  171. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/event_timings_option.py +0 -0
  172. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/full_reset_option.py +0 -0
  173. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/is_headless_option.py +0 -0
  174. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/language_option.py +0 -0
  175. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/locale_option.py +0 -0
  176. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/new_command_timeout_option.py +0 -0
  177. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/no_reset_option.py +0 -0
  178. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/orientation_option.py +0 -0
  179. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/other_apps_option.py +0 -0
  180. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/platform_version_option.py +0 -0
  181. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/postrun_option.py +0 -0
  182. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/prerun_option.py +0 -0
  183. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/print_page_source_on_find_failure_option.py +0 -0
  184. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/skip_log_capture_option.py +0 -0
  185. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/system_host_option.py +0 -0
  186. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/system_port_option.py +0 -0
  187. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/udid_option.py +0 -0
  188. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/__init__.py +0 -0
  189. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/android_storage_option.py +0 -0
  190. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/base.py +0 -0
  191. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/firefox_options_option.py +0 -0
  192. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/marionette_port_option.py +0 -0
  193. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/verbosity_option.py +0 -0
  194. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/__init__.py +0 -0
  195. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/__init__.py +0 -0
  196. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/automatic_inspection_option.py +0 -0
  197. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/automatic_profiling_option.py +0 -0
  198. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/base.py +0 -0
  199. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/device_name_option.py +0 -0
  200. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/device_type_option.py +0 -0
  201. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/device_udid_option.py +0 -0
  202. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/platform_build_version_option.py +0 -0
  203. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/platform_version_option.py +0 -0
  204. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/use_simulator_option.py +0 -0
  205. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/webkit_webrtc_option.py +0 -0
  206. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/__init__.py +0 -0
  207. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/app/__init__.py +0 -0
  208. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/app/app_install_strategy_option.py +0 -0
  209. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/app/localizable_strings_dir_option.py +0 -0
  210. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/base.py +0 -0
  211. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/general/__init__.py +0 -0
  212. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/general/include_device_caps_to_session_info_option.py +0 -0
  213. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/general/reset_location_service_option.py +0 -0
  214. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/__init__.py +0 -0
  215. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/command_timeouts_option.py +0 -0
  216. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/launch_with_idb_option.py +0 -0
  217. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/show_ios_log_option.py +0 -0
  218. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/use_json_source_option.py +0 -0
  219. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/__init__.py +0 -0
  220. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/calendar_access_authorized_option.py +0 -0
  221. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/calendar_format_option.py +0 -0
  222. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/connect_hardware_keyboard_option.py +0 -0
  223. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/custom_ssl_cert_option.py +0 -0
  224. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/enforce_fresh_simulator_creation_option.py +0 -0
  225. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/force_simulator_software_keyboard_presence_option.py +0 -0
  226. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/ios_simulator_logs_predicate_option.py +0 -0
  227. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/keep_key_chains_option.py +0 -0
  228. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/keychains_exclude_patterns_option.py +0 -0
  229. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/permissions_option.py +0 -0
  230. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/reduce_motion_option.py +0 -0
  231. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/reset_on_session_start_only_option.py +0 -0
  232. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/scale_factor_option.py +0 -0
  233. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/shutdown_other_simulators_option.py +0 -0
  234. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/simulator_devices_set_path_option.py +0 -0
  235. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/simulator_pasteboard_automatic_sync_option.py +0 -0
  236. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/simulator_startup_timeout_option.py +0 -0
  237. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/simulator_trace_pointer_option.py +0 -0
  238. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/simulator_window_center_option.py +0 -0
  239. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/__init__.py +0 -0
  240. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/allow_provisioning_device_regitration_option.py +0 -0
  241. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/auto_accept_alerts_option.py +0 -0
  242. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/auto_disimiss_alerts_option.py +0 -0
  243. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/derived_data_path_option.py +0 -0
  244. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/disable_automatic_screenshots_option.py +0 -0
  245. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/force_app_launch_option.py +0 -0
  246. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/keychain_password_option.py +0 -0
  247. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/keychain_path_option.py +0 -0
  248. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/max_typing_frequency_option.py +0 -0
  249. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/mjpeg_server_port_option.py +0 -0
  250. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/process_arguments_option.py +0 -0
  251. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/result_bundle_path_option.py +0 -0
  252. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/screenshot_quality_option.py +0 -0
  253. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/should_terminate_app_option.py +0 -0
  254. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/should_use_singleton_test_manager_option.py +0 -0
  255. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/show_xcode_log_option.py +0 -0
  256. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/simple_is_visible_check_option.py +0 -0
  257. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/updated_wda_bundle_id_option.py +0 -0
  258. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/use_native_caching_strategy_option.py +0 -0
  259. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/use_new_wda_option.py +0 -0
  260. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/use_prebuilt_wda_option.py +0 -0
  261. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/use_simple_build_test_option.py +0 -0
  262. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/use_xctestrun_file_option.py +0 -0
  263. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wait_for_idle_timeout_option.py +0 -0
  264. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wait_for_quiescence_option.py +0 -0
  265. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_base_url_option.py +0 -0
  266. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_connection_timeout_option.py +0 -0
  267. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_eventloop_idle_delay_option.py +0 -0
  268. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_local_port_option.py +0 -0
  269. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_startup_retries_option.py +0 -0
  270. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_startup_retry_interval_option.py +0 -0
  271. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/web_driver_agent_url_option.py +0 -0
  272. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/xcode_org_id_option.py +0 -0
  273. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/xcode_signing_id_option.py +0 -0
  274. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/__init__.py +0 -0
  275. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/absolute_web_locations_option.py +0 -0
  276. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/additional_webview_bundle_ids_option.py +0 -0
  277. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/enable_async_execute_from_https_option.py +0 -0
  278. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/full_context_list_option.py +0 -0
  279. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/include_safari_in_webviews_option.py +0 -0
  280. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/native_web_tap_option.py +0 -0
  281. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_garbage_collect_option.py +0 -0
  282. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_ignore_fraud_warning_option.py +0 -0
  283. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_ignore_web_hostnames_option.py +0 -0
  284. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_initial_url_option.py +0 -0
  285. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_log_all_communication_hex_dump_option.py +0 -0
  286. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_log_all_communication_option.py +0 -0
  287. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_open_links_in_background_option.py +0 -0
  288. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_socket_chunk_size_option.py +0 -0
  289. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_web_inspector_max_frame_length_option.py +0 -0
  290. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/webkit_response_timeout_option.py +0 -0
  291. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/webview_connect_retries_option.py +0 -0
  292. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py +0 -0
  293. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/__init__.py +0 -0
  294. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/__init__.py +0 -0
  295. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/arguments_option.py +0 -0
  296. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/bootstrap_root_option.py +0 -0
  297. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/environment_option.py +0 -0
  298. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/server_startup_timeout_option.py +0 -0
  299. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/show_server_logs_option.py +0 -0
  300. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/skip_app_kill_option.py +0 -0
  301. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/web_driver_agent_mac_url_option.py +0 -0
  302. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/__init__.py +0 -0
  303. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/__init__.py +0 -0
  304. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/app_arguments_option.py +0 -0
  305. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/app_top_level_window_option.py +0 -0
  306. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/app_working_dir_option.py +0 -0
  307. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/base.py +0 -0
  308. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/create_session_timeout_option.py +0 -0
  309. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/expreimental_web_driver_option.py +0 -0
  310. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/wait_for_app_launch_option.py +0 -0
  311. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/__init__.py +0 -0
  312. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/__init__.py +0 -0
  313. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/py.typed +0 -0
  314. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/__init__.py +0 -0
  315. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/appium_connection.py +0 -0
  316. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/applicationstate.py +0 -0
  317. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/clipboard_content_type.py +0 -0
  318. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/command_method.py +0 -0
  319. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/common/__init__.py +0 -0
  320. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/connectiontype.py +0 -0
  321. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/errorhandler.py +0 -0
  322. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/__init__.py +0 -0
  323. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/__init__.py +0 -0
  324. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/activities.py +0 -0
  325. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/display.py +0 -0
  326. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/nativekey.py +0 -0
  327. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/performance.py +0 -0
  328. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/system_bars.py +0 -0
  329. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/context.py +0 -0
  330. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/execute_driver.py +0 -0
  331. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/screen_record.py +0 -0
  332. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/session.py +0 -0
  333. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/mobilecommand.py +0 -0
  334. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/Makefile +0 -0
  335. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/README.md +0 -0
  336. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/conf.py +0 -0
  337. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/generate.sh +0 -0
  338. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/index.rst +0 -0
  339. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/make.bat +0 -0
  340. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.common.rst +0 -0
  341. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.extensions.android.rst +0 -0
  342. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.extensions.rst +0 -0
  343. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.extensions.search_context.rst +0 -0
  344. {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.rst +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Appium-Python-Client
3
- Version: 4.0.1
3
+ Version: 4.1.1
4
4
  Summary: Python client for Appium
5
5
  Home-page: http://appium.io/
6
6
  Author: Isaac Murchie
@@ -25,16 +25,14 @@ Classifier: Topic :: Software Development :: Quality Assurance
25
25
  Classifier: Topic :: Software Development :: Testing
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
- Requires-Dist: selenium~=4.12
28
+ Requires-Dist: selenium<4.26,~=4.12
29
29
 
30
30
  # Appium Python Client
31
31
 
32
32
  [![PyPI version](https://badge.fury.io/py/Appium-Python-Client.svg)](https://badge.fury.io/py/Appium-Python-Client)
33
33
  [![Downloads](https://pepy.tech/badge/appium-python-client)](https://pepy.tech/project/appium-python-client)
34
34
 
35
- [![Build Status](https://dev.azure.com/AppiumCI/Appium%20CI/_apis/build/status/appium.python-client?branchName=master)](https://dev.azure.com/AppiumCI/Appium%20CI/_build/latest?definitionId=56&branchName=master)
36
-
37
- [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
35
+ [![Functional Tests](https://github.com/appium/python-client/actions/workflows/functional-test.yml/badge.svg)](https://github.com/appium/python-client/actions/workflows/functional-test.yml)
38
36
 
39
37
  An extension library for adding [WebDriver Protocol](https://www.w3.org/TR/webdriver/) and Appium commands to the Selenium Python language binding for use with the mobile testing framework [Appium](https://appium.io).
40
38
 
@@ -72,7 +70,7 @@ download and unarchive the source tarball (Appium-Python-Client-X.X.tar.gz).
72
70
 
73
71
  |Appium Python Client| Selenium binding| Python version |
74
72
  |----|----|----|
75
- |`3.0.0`+ |`4.12.0`+ | 3.8+ |
73
+ |`3.0.0` - `4.2.1` |`4.12.0` - `4.25.0` | 3.8+ |
76
74
  |`2.10.0` - `2.11.1` |`4.1.0` - `4.11.2` | 3.7+ |
77
75
  |`2.2.0` - `2.9.0` |`4.1.0` - `4.9.0` | 3.7+ |
78
76
  |`2.0.0` - `2.1.4` |`4.0.0` | 3.7+ |
@@ -126,7 +124,7 @@ For example, some changes in the Selenium binding could break the Appium client.
126
124
 
127
125
  #### MultiAction/TouchAction to W3C actions
128
126
 
129
- On UIA2, some elements can be handled with `touch` pointer action instead of the default `mouse` pointer action in the Selenium Python client.
127
+ Some elements can be handled with `touch` pointer action instead of the default `mouse` pointer action in the Selenium Python client.
130
128
  For example, the below action builder is to replace the default one with the `touch` pointer action.
131
129
 
132
130
  ```python
@@ -266,6 +264,26 @@ def test_android_click(appium_service, android_driver_factory):
266
264
  el.click()
267
265
  ```
268
266
 
267
+ ### Available `options`
268
+
269
+ Appium Python Client has a common options class named `AppiumOptions` but the available commands are minimal.
270
+ It does not have driver/automationName specific commands unless adding commands with `add_command` method.
271
+
272
+ Available options for each automation name below will help to check what options are already defined.
273
+ Please use proper options for your automaiton usage.
274
+
275
+ `automationName` | Package path
276
+ |:---|:-----|
277
+ any | `appium.options.common.base.AppiumOptions`
278
+ `uiautomator2` | `appium.options.android.Uiautomator2Options`
279
+ `espresso` | `appium.options.android.EspressoOptions`
280
+ `xcuitest` | `appium.options.ios.XCUITestOptions`
281
+ `safari` | `appium.options.ios.SafariOptions`
282
+ `mac2` | `appium.options.mac.Mac2Options`
283
+ `windows` | `appium.options.WindowsOptions`
284
+ `gecko` | `appium.options.GeckoOptions`
285
+ `flutterintegration` | `appium.options.flutter_integration.FlutterOptions`
286
+
269
287
  ## Direct Connect URLs
270
288
 
271
289
  If your Selenium/Appium server decorates the new session capabilities response with the following keys:
@@ -384,7 +402,7 @@ driver = webdriver.Remote(custom_executor, options=options)
384
402
  ## Development
385
403
 
386
404
  - Code Style: [PEP-0008](https://www.python.org/dev/peps/pep-0008/)
387
- - Apply `black`, `isort` and `mypy` as pre commit hook
405
+ - Apply `ruff` as pre commit hook
388
406
  - Run `make` command for development. See `make help` output for details
389
407
  - Docstring style: [Google Style](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
390
408
  - `gitchangelog` generates `CHANGELOG.rst`
@@ -448,6 +466,8 @@ $ DRY_RUN=1 ./release.sh
448
466
  $ ./release.sh # release
449
467
  ```
450
468
 
469
+ If the `pypi` was not able to publish with user name and password, please try out `-u` and `-p` option by yourself with `twine` such as `twine upload -u <name> -p <pass> dist/Appium-Python-Client-4.1.0.tar.gz`.
470
+
451
471
  ## License
452
472
 
453
473
  Apache License v2
@@ -1,7 +1,6 @@
1
1
  LICENSE
2
2
  MANIFEST.in
3
3
  README.md
4
- setup.cfg
5
4
  setup.py
6
5
  Appium_Python_Client.egg-info/PKG-INFO
7
6
  Appium_Python_Client.egg-info/SOURCES.txt
@@ -140,6 +139,12 @@ appium/options/common/supports_capabilities.py
140
139
  appium/options/common/system_host_option.py
141
140
  appium/options/common/system_port_option.py
142
141
  appium/options/common/udid_option.py
142
+ appium/options/flutter_integration/__init__.py
143
+ appium/options/flutter_integration/base.py
144
+ appium/options/flutter_integration/flutter_element_wait_timeout_option.py
145
+ appium/options/flutter_integration/flutter_enable_mock_camera_option.py
146
+ appium/options/flutter_integration/flutter_server_launch_timeout_option.py
147
+ appium/options/flutter_integration/flutter_system_port_option.py
143
148
  appium/options/gecko/__init__.py
144
149
  appium/options/gecko/android_storage_option.py
145
150
  appium/options/gecko/base.py
@@ -249,6 +254,7 @@ appium/options/ios/xcuitest/webview/webview_connect_retries_option.py
249
254
  appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py
250
255
  appium/options/mac/__init__.py
251
256
  appium/options/mac/mac2/__init__.py
257
+ appium/options/mac/mac2/app_path_option.py
252
258
  appium/options/mac/mac2/arguments_option.py
253
259
  appium/options/mac/mac2/base.py
254
260
  appium/options/mac/mac2/bootstrap_root_option.py
@@ -314,6 +320,10 @@ appium/webdriver/extensions/android/performance.py
314
320
  appium/webdriver/extensions/android/power.py
315
321
  appium/webdriver/extensions/android/sms.py
316
322
  appium/webdriver/extensions/android/system_bars.py
323
+ appium/webdriver/extensions/flutter_integration/__init__.py
324
+ appium/webdriver/extensions/flutter_integration/flutter_commands.py
325
+ appium/webdriver/extensions/flutter_integration/flutter_finder.py
326
+ appium/webdriver/extensions/flutter_integration/scroll_directions.py
317
327
  docs/Makefile
318
328
  docs/README.md
319
329
  docs/conf.py
@@ -0,0 +1 @@
1
+ selenium<4.26,~=4.12
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Appium-Python-Client
3
- Version: 4.0.1
3
+ Version: 4.1.1
4
4
  Summary: Python client for Appium
5
5
  Home-page: http://appium.io/
6
6
  Author: Isaac Murchie
@@ -25,16 +25,14 @@ Classifier: Topic :: Software Development :: Quality Assurance
25
25
  Classifier: Topic :: Software Development :: Testing
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
- Requires-Dist: selenium~=4.12
28
+ Requires-Dist: selenium<4.26,~=4.12
29
29
 
30
30
  # Appium Python Client
31
31
 
32
32
  [![PyPI version](https://badge.fury.io/py/Appium-Python-Client.svg)](https://badge.fury.io/py/Appium-Python-Client)
33
33
  [![Downloads](https://pepy.tech/badge/appium-python-client)](https://pepy.tech/project/appium-python-client)
34
34
 
35
- [![Build Status](https://dev.azure.com/AppiumCI/Appium%20CI/_apis/build/status/appium.python-client?branchName=master)](https://dev.azure.com/AppiumCI/Appium%20CI/_build/latest?definitionId=56&branchName=master)
36
-
37
- [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
35
+ [![Functional Tests](https://github.com/appium/python-client/actions/workflows/functional-test.yml/badge.svg)](https://github.com/appium/python-client/actions/workflows/functional-test.yml)
38
36
 
39
37
  An extension library for adding [WebDriver Protocol](https://www.w3.org/TR/webdriver/) and Appium commands to the Selenium Python language binding for use with the mobile testing framework [Appium](https://appium.io).
40
38
 
@@ -72,7 +70,7 @@ download and unarchive the source tarball (Appium-Python-Client-X.X.tar.gz).
72
70
 
73
71
  |Appium Python Client| Selenium binding| Python version |
74
72
  |----|----|----|
75
- |`3.0.0`+ |`4.12.0`+ | 3.8+ |
73
+ |`3.0.0` - `4.2.1` |`4.12.0` - `4.25.0` | 3.8+ |
76
74
  |`2.10.0` - `2.11.1` |`4.1.0` - `4.11.2` | 3.7+ |
77
75
  |`2.2.0` - `2.9.0` |`4.1.0` - `4.9.0` | 3.7+ |
78
76
  |`2.0.0` - `2.1.4` |`4.0.0` | 3.7+ |
@@ -126,7 +124,7 @@ For example, some changes in the Selenium binding could break the Appium client.
126
124
 
127
125
  #### MultiAction/TouchAction to W3C actions
128
126
 
129
- On UIA2, some elements can be handled with `touch` pointer action instead of the default `mouse` pointer action in the Selenium Python client.
127
+ Some elements can be handled with `touch` pointer action instead of the default `mouse` pointer action in the Selenium Python client.
130
128
  For example, the below action builder is to replace the default one with the `touch` pointer action.
131
129
 
132
130
  ```python
@@ -266,6 +264,26 @@ def test_android_click(appium_service, android_driver_factory):
266
264
  el.click()
267
265
  ```
268
266
 
267
+ ### Available `options`
268
+
269
+ Appium Python Client has a common options class named `AppiumOptions` but the available commands are minimal.
270
+ It does not have driver/automationName specific commands unless adding commands with `add_command` method.
271
+
272
+ Available options for each automation name below will help to check what options are already defined.
273
+ Please use proper options for your automaiton usage.
274
+
275
+ `automationName` | Package path
276
+ |:---|:-----|
277
+ any | `appium.options.common.base.AppiumOptions`
278
+ `uiautomator2` | `appium.options.android.Uiautomator2Options`
279
+ `espresso` | `appium.options.android.EspressoOptions`
280
+ `xcuitest` | `appium.options.ios.XCUITestOptions`
281
+ `safari` | `appium.options.ios.SafariOptions`
282
+ `mac2` | `appium.options.mac.Mac2Options`
283
+ `windows` | `appium.options.WindowsOptions`
284
+ `gecko` | `appium.options.GeckoOptions`
285
+ `flutterintegration` | `appium.options.flutter_integration.FlutterOptions`
286
+
269
287
  ## Direct Connect URLs
270
288
 
271
289
  If your Selenium/Appium server decorates the new session capabilities response with the following keys:
@@ -384,7 +402,7 @@ driver = webdriver.Remote(custom_executor, options=options)
384
402
  ## Development
385
403
 
386
404
  - Code Style: [PEP-0008](https://www.python.org/dev/peps/pep-0008/)
387
- - Apply `black`, `isort` and `mypy` as pre commit hook
405
+ - Apply `ruff` as pre commit hook
388
406
  - Run `make` command for development. See `make help` output for details
389
407
  - Docstring style: [Google Style](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
390
408
  - `gitchangelog` generates `CHANGELOG.rst`
@@ -448,6 +466,8 @@ $ DRY_RUN=1 ./release.sh
448
466
  $ ./release.sh # release
449
467
  ```
450
468
 
469
+ If the `pypi` was not able to publish with user name and password, please try out `-u` and `-p` option by yourself with `twine` such as `twine upload -u <name> -p <pass> dist/Appium-Python-Client-4.1.0.tar.gz`.
470
+
451
471
  ## License
452
472
 
453
473
  Apache License v2
@@ -3,9 +3,7 @@
3
3
  [![PyPI version](https://badge.fury.io/py/Appium-Python-Client.svg)](https://badge.fury.io/py/Appium-Python-Client)
4
4
  [![Downloads](https://pepy.tech/badge/appium-python-client)](https://pepy.tech/project/appium-python-client)
5
5
 
6
- [![Build Status](https://dev.azure.com/AppiumCI/Appium%20CI/_apis/build/status/appium.python-client?branchName=master)](https://dev.azure.com/AppiumCI/Appium%20CI/_build/latest?definitionId=56&branchName=master)
7
-
8
- [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
6
+ [![Functional Tests](https://github.com/appium/python-client/actions/workflows/functional-test.yml/badge.svg)](https://github.com/appium/python-client/actions/workflows/functional-test.yml)
9
7
 
10
8
  An extension library for adding [WebDriver Protocol](https://www.w3.org/TR/webdriver/) and Appium commands to the Selenium Python language binding for use with the mobile testing framework [Appium](https://appium.io).
11
9
 
@@ -43,7 +41,7 @@ download and unarchive the source tarball (Appium-Python-Client-X.X.tar.gz).
43
41
 
44
42
  |Appium Python Client| Selenium binding| Python version |
45
43
  |----|----|----|
46
- |`3.0.0`+ |`4.12.0`+ | 3.8+ |
44
+ |`3.0.0` - `4.2.1` |`4.12.0` - `4.25.0` | 3.8+ |
47
45
  |`2.10.0` - `2.11.1` |`4.1.0` - `4.11.2` | 3.7+ |
48
46
  |`2.2.0` - `2.9.0` |`4.1.0` - `4.9.0` | 3.7+ |
49
47
  |`2.0.0` - `2.1.4` |`4.0.0` | 3.7+ |
@@ -97,7 +95,7 @@ For example, some changes in the Selenium binding could break the Appium client.
97
95
 
98
96
  #### MultiAction/TouchAction to W3C actions
99
97
 
100
- On UIA2, some elements can be handled with `touch` pointer action instead of the default `mouse` pointer action in the Selenium Python client.
98
+ Some elements can be handled with `touch` pointer action instead of the default `mouse` pointer action in the Selenium Python client.
101
99
  For example, the below action builder is to replace the default one with the `touch` pointer action.
102
100
 
103
101
  ```python
@@ -237,6 +235,26 @@ def test_android_click(appium_service, android_driver_factory):
237
235
  el.click()
238
236
  ```
239
237
 
238
+ ### Available `options`
239
+
240
+ Appium Python Client has a common options class named `AppiumOptions` but the available commands are minimal.
241
+ It does not have driver/automationName specific commands unless adding commands with `add_command` method.
242
+
243
+ Available options for each automation name below will help to check what options are already defined.
244
+ Please use proper options for your automaiton usage.
245
+
246
+ `automationName` | Package path
247
+ |:---|:-----|
248
+ any | `appium.options.common.base.AppiumOptions`
249
+ `uiautomator2` | `appium.options.android.Uiautomator2Options`
250
+ `espresso` | `appium.options.android.EspressoOptions`
251
+ `xcuitest` | `appium.options.ios.XCUITestOptions`
252
+ `safari` | `appium.options.ios.SafariOptions`
253
+ `mac2` | `appium.options.mac.Mac2Options`
254
+ `windows` | `appium.options.WindowsOptions`
255
+ `gecko` | `appium.options.GeckoOptions`
256
+ `flutterintegration` | `appium.options.flutter_integration.FlutterOptions`
257
+
240
258
  ## Direct Connect URLs
241
259
 
242
260
  If your Selenium/Appium server decorates the new session capabilities response with the following keys:
@@ -355,7 +373,7 @@ driver = webdriver.Remote(custom_executor, options=options)
355
373
  ## Development
356
374
 
357
375
  - Code Style: [PEP-0008](https://www.python.org/dev/peps/pep-0008/)
358
- - Apply `black`, `isort` and `mypy` as pre commit hook
376
+ - Apply `ruff` as pre commit hook
359
377
  - Run `make` command for development. See `make help` output for details
360
378
  - Docstring style: [Google Style](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
361
379
  - `gitchangelog` generates `CHANGELOG.rst`
@@ -419,6 +437,8 @@ $ DRY_RUN=1 ./release.sh
419
437
  $ ./release.sh # release
420
438
  ```
421
439
 
440
+ If the `pypi` was not able to publish with user name and password, please try out `-u` and `-p` option by yourself with `twine` such as `twine upload -u <name> -p <pass> dist/Appium-Python-Client-4.1.0.tar.gz`.
441
+
422
442
  ## License
423
443
 
424
444
  Apache License v2
@@ -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 base64
15
16
  from typing import Any, Dict
16
17
 
17
18
  from appium import version as appium_version
@@ -33,3 +34,9 @@ def library_version() -> str:
33
34
  """Return a version of this python library"""
34
35
 
35
36
  return appium_version.version
37
+
38
+
39
+ def encode_file_to_base64(file_path: str) -> str:
40
+ """Return base64 encoded string for given file"""
41
+ with open(file_path, 'rb') as file:
42
+ return base64.b64encode(file.read()).decode('utf-8')
@@ -38,6 +38,4 @@ class AdbExecTimeoutOption(SupportsCapabilities):
38
38
  Maximum time to wait until single ADB command is executed.
39
39
  20000 ms by default.
40
40
  """
41
- self.set_capability(
42
- ADB_EXEC_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value
43
- )
41
+ self.set_capability(ADB_EXEC_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value)
@@ -38,6 +38,4 @@ class AppWaitDurationOption(SupportsCapabilities):
38
38
  Maximum amount of time to wait until the application under test is started
39
39
  (e.g. an activity returns the control to the caller). 20000 ms by default.
40
40
  """
41
- self.set_capability(
42
- APP_WAIT_DURATION, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value
43
- )
41
+ self.set_capability(APP_WAIT_DURATION, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value)
@@ -38,6 +38,4 @@ class AvdLaunchTimeoutOption(SupportsCapabilities):
38
38
  Maximum timeout to wait until Android Emulator is started.
39
39
  60000 ms by default.
40
40
  """
41
- self.set_capability(
42
- AVD_LAUNCH_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value
43
- )
41
+ self.set_capability(AVD_LAUNCH_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value)
@@ -38,6 +38,4 @@ class AvdReadyTimeoutOption(SupportsCapabilities):
38
38
  Maximum timeout to wait until Android Emulator is fully booted and is ready for usage.
39
39
  60000 ms by default
40
40
  """
41
- self.set_capability(
42
- AVD_READY_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value
43
- )
41
+ self.set_capability(AVD_READY_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value)
@@ -38,6 +38,4 @@ class AutoWebviewTimeoutOption(SupportsCapabilities):
38
38
  """
39
39
  Timeout to wait until a web view is available.
40
40
  """
41
- self.set_capability(
42
- AUTO_WEBVIEW_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value
43
- )
41
+ self.set_capability(AUTO_WEBVIEW_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value)
@@ -43,6 +43,4 @@ class EspressoBuildConfigOption(SupportsCapabilities):
43
43
  https://github.com/appium/appium-espresso-driver#espresso-build-config
44
44
  for more information on how to properly construct such config.
45
45
  """
46
- self.set_capability(
47
- ESPRESSO_BUILD_CONFIG, value if isinstance(value, str) else json.dumps(value, ensure_ascii=False)
48
- )
46
+ self.set_capability(ESPRESSO_BUILD_CONFIG, value if isinstance(value, str) else json.dumps(value, ensure_ascii=False))
@@ -21,8 +21,6 @@ T = TypeVar('T')
21
21
 
22
22
 
23
23
  class SupportsCapabilities(Protocol):
24
- def set_capability(self: T, name: str, value: Any) -> T:
25
- ...
24
+ def set_capability(self: T, name: str, value: Any) -> T: ...
26
25
 
27
- def get_capability(self: T, name: str) -> Any:
28
- ...
26
+ def get_capability(self: T, name: str) -> Any: ...
@@ -0,0 +1,15 @@
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
+ from .base import FlutterOptions
@@ -0,0 +1,39 @@
1
+ # Licensed to the Software Freedom Conservancy (SFC) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The SFC licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from typing import Dict
19
+
20
+ from appium.options.common.automation_name_option import AUTOMATION_NAME
21
+ from appium.options.common.base import AppiumOptions
22
+ from appium.options.flutter_integration.flutter_element_wait_timeout_option import FlutterElementWaitTimeOutOption
23
+ from appium.options.flutter_integration.flutter_enable_mock_camera_option import FlutterEnableMockCameraOption
24
+ from appium.options.flutter_integration.flutter_server_launch_timeout_option import FlutterServerLaunchTimeOutOption
25
+ from appium.options.flutter_integration.flutter_system_port_option import FlutterSystemPortOption
26
+
27
+
28
+ class FlutterOptions(
29
+ AppiumOptions,
30
+ FlutterElementWaitTimeOutOption,
31
+ FlutterEnableMockCameraOption,
32
+ FlutterServerLaunchTimeOutOption,
33
+ FlutterSystemPortOption,
34
+ ):
35
+ @property
36
+ def default_capabilities(self) -> Dict:
37
+ return {
38
+ AUTOMATION_NAME: 'FlutterIntegration',
39
+ }
@@ -0,0 +1,50 @@
1
+ # Licensed to the Software Freedom Conservancy (SFC) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The SFC licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from datetime import timedelta
19
+ from typing import Optional, Union
20
+
21
+ from appium.options.common.supports_capabilities import SupportsCapabilities
22
+
23
+ FLUTTER_ELEMENT_WAIT_TIMEOUT = 'flutterElementWaitTimeout'
24
+
25
+
26
+ class FlutterElementWaitTimeOutOption(SupportsCapabilities):
27
+ @property
28
+ def flutter_element_wait_timeout(self) -> Optional[timedelta]:
29
+ """
30
+ Maximum timeout to wait for element for Flutter integration test
31
+
32
+ Returns:
33
+ Optional[timedelta]: The timeout value as a `timedelta` object if set, or `None` if the timeout is not defined.
34
+ """
35
+ return self.get_capability(FLUTTER_ELEMENT_WAIT_TIMEOUT)
36
+
37
+ @flutter_element_wait_timeout.setter
38
+ def flutter_element_wait_timeout(self, value: Union[timedelta, int]) -> None:
39
+ """
40
+ Sets the maximum timeout to wait for a Flutter element in an integration test.
41
+ Default timeout is 5000ms
42
+
43
+ Args:
44
+ value (Union[timedelta, int]): The timeout value, either as a `timedelta` object or an integer in milliseconds.
45
+ If provided as a `timedelta`, it will be converted to milliseconds.
46
+ """
47
+ self.set_capability(
48
+ FLUTTER_ELEMENT_WAIT_TIMEOUT,
49
+ (int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value),
50
+ )
@@ -0,0 +1,44 @@
1
+ # Licensed to the Software Freedom Conservancy (SFC) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The SFC licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+
19
+ from appium.options.common.supports_capabilities import SupportsCapabilities
20
+
21
+ FLUTTER_ENABLE_MOCK_CAMERA = 'flutterEnableMockCamera'
22
+
23
+
24
+ class FlutterEnableMockCameraOption(SupportsCapabilities):
25
+ @property
26
+ def flutter_enable_mock_camera(self) -> bool:
27
+ """
28
+ Get state of the mock camera for Flutter integration test
29
+
30
+ Returns:
31
+ bool: A boolean indicating whether the mock camera is enabled (True) or disabled (False).
32
+ """
33
+ return self.get_capability(FLUTTER_ENABLE_MOCK_CAMERA)
34
+
35
+ @flutter_enable_mock_camera.setter
36
+ def flutter_enable_mock_camera(self, value: bool) -> None:
37
+ """
38
+ Setter method enable or disable the mock camera for Flutter integration test
39
+ Default state is `False`
40
+
41
+ Args:
42
+ value (bool): A boolean value indicating whether to enable (True) or disable (False) the mock camera.
43
+ """
44
+ self.set_capability(FLUTTER_ENABLE_MOCK_CAMERA, value)
@@ -0,0 +1,51 @@
1
+ # Licensed to the Software Freedom Conservancy (SFC) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The SFC licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from datetime import timedelta
19
+ from typing import Optional, Union
20
+
21
+ from appium.options.common.supports_capabilities import SupportsCapabilities
22
+
23
+ FLUTTER_SERVER_LAUNCH_TIMEOUT = 'flutterServerLaunchTimeout'
24
+
25
+
26
+ class FlutterServerLaunchTimeOutOption(SupportsCapabilities):
27
+ @property
28
+ def flutter_server_launch_timeout(self) -> Optional[timedelta]:
29
+ """
30
+ Gets the current timeout for launching the Flutter server in a Flutter application.
31
+
32
+ Returns:
33
+ Optional[timedelta]: The timeout value as a `timedelta` object if set, or `None` if the timeout is not defined.
34
+
35
+ """
36
+ return self.get_capability(FLUTTER_SERVER_LAUNCH_TIMEOUT)
37
+
38
+ @flutter_server_launch_timeout.setter
39
+ def flutter_server_launch_timeout(self, value: Union[timedelta, int]) -> None:
40
+ """
41
+ Sets the timeout for launching the Flutter server in Flutter application.
42
+ Default timeout is 5000ms
43
+
44
+ Args:
45
+ value (Union[timedelta, int]): The timeout value, either as a `timedelta` object or an integer in milliseconds.
46
+ If provided as a `timedelta`, it will be converted to milliseconds.
47
+ """
48
+ self.set_capability(
49
+ FLUTTER_SERVER_LAUNCH_TIMEOUT,
50
+ (int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value),
51
+ )
@@ -0,0 +1,45 @@
1
+ # Licensed to the Software Freedom Conservancy (SFC) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The SFC licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from typing import Optional
19
+
20
+ from appium.options.common.supports_capabilities import SupportsCapabilities
21
+
22
+ FLUTTER_SYSTEM_PORT = 'flutterSystemPort'
23
+
24
+
25
+ class FlutterSystemPortOption(SupportsCapabilities):
26
+ @property
27
+ def flutter_system_port(self) -> Optional[int]:
28
+ """
29
+ Get flutter system port for Flutter integration tests.
30
+
31
+ Returns:
32
+ int: returns the port number
33
+ """
34
+ return self.get_capability(FLUTTER_SYSTEM_PORT)
35
+
36
+ @flutter_system_port.setter
37
+ def flutter_system_port(self, value: int) -> None:
38
+ """
39
+ Sets the system port for Flutter integration tests.
40
+ By default the first free port from 10000..11000 range is selected
41
+
42
+ Args:
43
+ value (int): The port number to be used for the Flutter server.
44
+ """
45
+ self.set_capability(FLUTTER_SYSTEM_PORT, value)
@@ -39,6 +39,4 @@ class AppPushTimeoutOption(SupportsCapabilities):
39
39
  Works for real devices only.
40
40
  The default value is 30000ms.
41
41
  """
42
- self.set_capability(
43
- APP_PUSH_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value
44
- )
42
+ self.set_capability(APP_PUSH_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value)
@@ -38,6 +38,4 @@ class WdaLaunchTimeoutOption(SupportsCapabilities):
38
38
  Timeout to wait for WebDriverAgent to be pingable,
39
39
  after its building is finished. Defaults to 60000ms.
40
40
  """
41
- self.set_capability(
42
- WDA_LAUNCH_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value
43
- )
41
+ self.set_capability(WDA_LAUNCH_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value)