Appium-Python-Client 4.2.1__tar.gz → 4.4.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 (344) hide show
  1. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/Appium_Python_Client.egg-info/PKG-INFO +30 -2
  2. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/Appium_Python_Client.egg-info/SOURCES.txt +1 -0
  3. appium_python_client-4.4.0/Appium_Python_Client.egg-info/requires.txt +1 -0
  4. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/PKG-INFO +30 -2
  5. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/README.md +28 -0
  6. appium_python_client-4.4.0/appium/version.py +1 -0
  7. appium_python_client-4.4.0/appium/webdriver/appium_connection.py +64 -0
  8. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/common/appiumby.py +19 -0
  9. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/activities.py +2 -3
  10. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/common.py +4 -4
  11. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/display.py +2 -3
  12. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/gsm.py +3 -8
  13. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/network.py +7 -6
  14. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/performance.py +4 -4
  15. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/power.py +3 -4
  16. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/sms.py +1 -3
  17. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/system_bars.py +2 -3
  18. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/applications.py +12 -10
  19. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/clipboard.py +4 -4
  20. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/context.py +3 -5
  21. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/device_time.py +4 -4
  22. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/execute_driver.py +1 -3
  23. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/flutter_integration/flutter_finder.py +5 -2
  24. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/hw_actions.py +9 -9
  25. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/images_comparison.py +1 -3
  26. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/keyboard.py +9 -7
  27. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/location.py +4 -5
  28. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/log_event.py +2 -4
  29. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/remote_fs.py +3 -5
  30. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/screen_record.py +4 -4
  31. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/session.py +1 -3
  32. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/settings.py +2 -4
  33. appium_python_client-4.4.0/appium/webdriver/locator_converter.py +29 -0
  34. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/webdriver.py +30 -95
  35. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/webelement.py +1 -67
  36. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/setup.py +1 -1
  37. appium_python_client-4.2.1/Appium_Python_Client.egg-info/requires.txt +0 -1
  38. appium_python_client-4.2.1/appium/version.py +0 -1
  39. appium_python_client-4.2.1/appium/webdriver/appium_connection.py +0 -80
  40. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/Appium_Python_Client.egg-info/dependency_links.txt +0 -0
  41. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/Appium_Python_Client.egg-info/top_level.txt +0 -0
  42. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/LICENSE +0 -0
  43. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/MANIFEST.in +0 -0
  44. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/__init__.py +0 -0
  45. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/common/__init__.py +0 -0
  46. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/common/exceptions.py +0 -0
  47. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/common/helper.py +0 -0
  48. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/common/logger.py +0 -0
  49. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/__init__.py +0 -0
  50. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/__init__.py +0 -0
  51. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/__init__.py +0 -0
  52. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/__init__.py +0 -0
  53. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/adb_exec_timeout_option.py +0 -0
  54. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/adb_port_option.py +0 -0
  55. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/allow_delay_adb_option.py +0 -0
  56. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/build_tools_version_option.py +0 -0
  57. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/clear_device_logs_on_start_option.py +0 -0
  58. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/ignore_hidden_api_policy_error_option.py +0 -0
  59. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/logcat_filter_specs_option.py +0 -0
  60. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/logcat_format_option.py +0 -0
  61. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/mock_location_app_option.py +0 -0
  62. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/remote_adb_host_option.py +0 -0
  63. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/skip_logcat_capture_option.py +0 -0
  64. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/adb/suppress_kill_server_option.py +0 -0
  65. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/__init__.py +0 -0
  66. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/allow_test_packages_option.py +0 -0
  67. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/android_install_timeout_option.py +0 -0
  68. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/app_activity_option.py +0 -0
  69. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/app_package_option.py +0 -0
  70. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/app_wait_activity_option.py +0 -0
  71. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/app_wait_duration_option.py +0 -0
  72. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/app_wait_for_launch_option.py +0 -0
  73. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/app_wait_package_option.py +0 -0
  74. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/auto_grant_premissions_option.py +0 -0
  75. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/enforce_app_install_option.py +0 -0
  76. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/intent_action_option.py +0 -0
  77. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/intent_category_option.py +0 -0
  78. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/intent_flags_option.py +0 -0
  79. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/optional_intent_arguments_option.py +0 -0
  80. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/remote_apps_cache_limit_option.py +0 -0
  81. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/app/uninstall_other_packages_option.py +0 -0
  82. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/avd/__init__.py +0 -0
  83. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/avd/avd_args_option.py +0 -0
  84. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/avd/avd_env_option.py +0 -0
  85. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/avd/avd_launch_timeout_option.py +0 -0
  86. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/avd/avd_option.py +0 -0
  87. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/avd/avd_ready_timeout_option.py +0 -0
  88. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/avd/gps_enabled_option.py +0 -0
  89. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/avd/network_speed_option.py +0 -0
  90. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/__init__.py +0 -0
  91. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/auto_webview_timeout_option.py +0 -0
  92. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chrome_logging_prefs_option.py +0 -0
  93. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chrome_options_option.py +0 -0
  94. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chromedriver_args_option.py +0 -0
  95. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chromedriver_chrome_mapping_file_option.py +0 -0
  96. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chromedriver_disable_build_check_option.py +0 -0
  97. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chromedriver_executable_dir_option.py +0 -0
  98. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chromedriver_executable_option.py +0 -0
  99. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chromedriver_port_option.py +0 -0
  100. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chromedriver_ports_option.py +0 -0
  101. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/chromedriver_use_system_executable_option.py +0 -0
  102. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/ensure_webviews_have_pages_option.py +0 -0
  103. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/extract_chrome_android_package_from_context_name_option.py +0 -0
  104. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/native_web_screenshot_option.py +0 -0
  105. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/recreate_chrome_driver_sessions_option.py +0 -0
  106. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/show_chromedriver_log_option.py +0 -0
  107. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/context/webview_devtools_port_option.py +0 -0
  108. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/localization/__init__.py +0 -0
  109. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/localization/locale_script_option.py +0 -0
  110. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/locking/__init__.py +0 -0
  111. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/locking/skip_unlock_option.py +0 -0
  112. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/locking/unlock_key_option.py +0 -0
  113. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/locking/unlock_strategy_option.py +0 -0
  114. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/locking/unlock_success_timeout_option.py +0 -0
  115. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/locking/unlock_type_option.py +0 -0
  116. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/mjpeg/__init__.py +0 -0
  117. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/mjpeg/mjpeg_screenshot_url_option.py +0 -0
  118. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/other/__init__.py +0 -0
  119. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/other/disable_suppress_accessibility_service_option.py +0 -0
  120. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/other/user_profile_option.py +0 -0
  121. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/signing/__init__.py +0 -0
  122. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/signing/key_alias_option.py +0 -0
  123. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/signing/key_password_option.py +0 -0
  124. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/signing/keystore_password_option.py +0 -0
  125. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/signing/keystore_path_option.py +0 -0
  126. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/signing/no_sign_option.py +0 -0
  127. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/common/signing/use_keystore_option.py +0 -0
  128. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/espresso/__init__.py +0 -0
  129. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/espresso/activity_options_option.py +0 -0
  130. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/espresso/app_locale_option.py +0 -0
  131. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/espresso/base.py +0 -0
  132. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/espresso/espresso_build_config_option.py +0 -0
  133. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/espresso/espresso_server_launch_timeout_option.py +0 -0
  134. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/espresso/force_espresso_rebuild_option.py +0 -0
  135. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/espresso/intent_options_option.py +0 -0
  136. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/espresso/show_gradle_log_option.py +0 -0
  137. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/uiautomator2/__init__.py +0 -0
  138. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/uiautomator2/base.py +0 -0
  139. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/uiautomator2/disable_window_animation_option.py +0 -0
  140. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/uiautomator2/mjpeg_server_port_option.py +0 -0
  141. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/uiautomator2/skip_device_initialization_option.py +0 -0
  142. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/uiautomator2/skip_server_installation_option.py +0 -0
  143. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/uiautomator2/uiautomator2_server_install_timeout_option.py +0 -0
  144. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/uiautomator2/uiautomator2_server_launch_timeout_option.py +0 -0
  145. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/android/uiautomator2/uiautomator2_server_read_timeout_option.py +0 -0
  146. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/__init__.py +0 -0
  147. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/app_option.py +0 -0
  148. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/auto_web_view_option.py +0 -0
  149. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/automation_name_option.py +0 -0
  150. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/base.py +0 -0
  151. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/browser_name_option.py +0 -0
  152. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/bundle_id_option.py +0 -0
  153. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/clear_system_files_option.py +0 -0
  154. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/device_name_option.py +0 -0
  155. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/enable_performance_logging_option.py +0 -0
  156. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/event_timings_option.py +0 -0
  157. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/full_reset_option.py +0 -0
  158. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/is_headless_option.py +0 -0
  159. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/language_option.py +0 -0
  160. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/locale_option.py +0 -0
  161. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/new_command_timeout_option.py +0 -0
  162. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/no_reset_option.py +0 -0
  163. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/orientation_option.py +0 -0
  164. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/other_apps_option.py +0 -0
  165. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/platform_version_option.py +0 -0
  166. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/postrun_option.py +0 -0
  167. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/prerun_option.py +0 -0
  168. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/print_page_source_on_find_failure_option.py +0 -0
  169. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/skip_log_capture_option.py +0 -0
  170. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/supports_capabilities.py +0 -0
  171. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/system_host_option.py +0 -0
  172. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/system_port_option.py +0 -0
  173. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/common/udid_option.py +0 -0
  174. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/flutter_integration/__init__.py +0 -0
  175. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/flutter_integration/base.py +0 -0
  176. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/flutter_integration/flutter_element_wait_timeout_option.py +0 -0
  177. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/flutter_integration/flutter_enable_mock_camera_option.py +0 -0
  178. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/flutter_integration/flutter_server_launch_timeout_option.py +0 -0
  179. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/flutter_integration/flutter_system_port_option.py +0 -0
  180. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/gecko/__init__.py +0 -0
  181. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/gecko/android_storage_option.py +0 -0
  182. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/gecko/base.py +0 -0
  183. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/gecko/firefox_options_option.py +0 -0
  184. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/gecko/marionette_port_option.py +0 -0
  185. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/gecko/verbosity_option.py +0 -0
  186. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/__init__.py +0 -0
  187. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/__init__.py +0 -0
  188. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/automatic_inspection_option.py +0 -0
  189. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/automatic_profiling_option.py +0 -0
  190. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/base.py +0 -0
  191. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/device_name_option.py +0 -0
  192. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/device_type_option.py +0 -0
  193. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/device_udid_option.py +0 -0
  194. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/platform_build_version_option.py +0 -0
  195. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/platform_version_option.py +0 -0
  196. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/use_simulator_option.py +0 -0
  197. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/safari/webkit_webrtc_option.py +0 -0
  198. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/__init__.py +0 -0
  199. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/app/__init__.py +0 -0
  200. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/app/app_install_strategy_option.py +0 -0
  201. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/app/app_push_timeout_option.py +0 -0
  202. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/app/localizable_strings_dir_option.py +0 -0
  203. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/base.py +0 -0
  204. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/general/__init__.py +0 -0
  205. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/general/include_device_caps_to_session_info_option.py +0 -0
  206. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/general/reset_location_service_option.py +0 -0
  207. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/other/__init__.py +0 -0
  208. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/other/command_timeouts_option.py +0 -0
  209. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/other/launch_with_idb_option.py +0 -0
  210. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/other/show_ios_log_option.py +0 -0
  211. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/other/use_json_source_option.py +0 -0
  212. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/__init__.py +0 -0
  213. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/calendar_access_authorized_option.py +0 -0
  214. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/calendar_format_option.py +0 -0
  215. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/connect_hardware_keyboard_option.py +0 -0
  216. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/custom_ssl_cert_option.py +0 -0
  217. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/enforce_fresh_simulator_creation_option.py +0 -0
  218. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/force_simulator_software_keyboard_presence_option.py +0 -0
  219. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/ios_simulator_logs_predicate_option.py +0 -0
  220. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/keep_key_chains_option.py +0 -0
  221. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/keychains_exclude_patterns_option.py +0 -0
  222. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/permissions_option.py +0 -0
  223. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/reduce_motion_option.py +0 -0
  224. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/reset_on_session_start_only_option.py +0 -0
  225. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/scale_factor_option.py +0 -0
  226. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/shutdown_other_simulators_option.py +0 -0
  227. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/simulator_devices_set_path_option.py +0 -0
  228. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/simulator_pasteboard_automatic_sync_option.py +0 -0
  229. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/simulator_startup_timeout_option.py +0 -0
  230. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/simulator_trace_pointer_option.py +0 -0
  231. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/simulator/simulator_window_center_option.py +0 -0
  232. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/__init__.py +0 -0
  233. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/allow_provisioning_device_regitration_option.py +0 -0
  234. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/auto_accept_alerts_option.py +0 -0
  235. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/auto_disimiss_alerts_option.py +0 -0
  236. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/derived_data_path_option.py +0 -0
  237. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/disable_automatic_screenshots_option.py +0 -0
  238. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/force_app_launch_option.py +0 -0
  239. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/keychain_password_option.py +0 -0
  240. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/keychain_path_option.py +0 -0
  241. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/max_typing_frequency_option.py +0 -0
  242. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/mjpeg_server_port_option.py +0 -0
  243. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/process_arguments_option.py +0 -0
  244. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/result_bundle_path_option.py +0 -0
  245. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/screenshot_quality_option.py +0 -0
  246. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/should_terminate_app_option.py +0 -0
  247. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/should_use_singleton_test_manager_option.py +0 -0
  248. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/show_xcode_log_option.py +0 -0
  249. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/simple_is_visible_check_option.py +0 -0
  250. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/updated_wda_bundle_id_option.py +0 -0
  251. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/use_native_caching_strategy_option.py +0 -0
  252. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/use_new_wda_option.py +0 -0
  253. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/use_prebuilt_wda_option.py +0 -0
  254. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/use_simple_build_test_option.py +0 -0
  255. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/use_xctestrun_file_option.py +0 -0
  256. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/wait_for_idle_timeout_option.py +0 -0
  257. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/wait_for_quiescence_option.py +0 -0
  258. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/wda_base_url_option.py +0 -0
  259. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/wda_connection_timeout_option.py +0 -0
  260. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/wda_eventloop_idle_delay_option.py +0 -0
  261. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/wda_launch_timeout_option.py +0 -0
  262. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/wda_local_port_option.py +0 -0
  263. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/wda_startup_retries_option.py +0 -0
  264. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/wda_startup_retry_interval_option.py +0 -0
  265. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/web_driver_agent_url_option.py +0 -0
  266. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/xcode_org_id_option.py +0 -0
  267. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/wda/xcode_signing_id_option.py +0 -0
  268. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/__init__.py +0 -0
  269. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/absolute_web_locations_option.py +0 -0
  270. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/additional_webview_bundle_ids_option.py +0 -0
  271. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/enable_async_execute_from_https_option.py +0 -0
  272. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/full_context_list_option.py +0 -0
  273. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/include_safari_in_webviews_option.py +0 -0
  274. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/native_web_tap_option.py +0 -0
  275. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/safari_garbage_collect_option.py +0 -0
  276. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/safari_ignore_fraud_warning_option.py +0 -0
  277. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/safari_ignore_web_hostnames_option.py +0 -0
  278. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/safari_initial_url_option.py +0 -0
  279. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/safari_log_all_communication_hex_dump_option.py +0 -0
  280. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/safari_log_all_communication_option.py +0 -0
  281. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/safari_open_links_in_background_option.py +0 -0
  282. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/safari_socket_chunk_size_option.py +0 -0
  283. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/safari_web_inspector_max_frame_length_option.py +0 -0
  284. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/webkit_response_timeout_option.py +0 -0
  285. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/webview_connect_retries_option.py +0 -0
  286. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py +0 -0
  287. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/__init__.py +0 -0
  288. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/__init__.py +0 -0
  289. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/app_path_option.py +0 -0
  290. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/arguments_option.py +0 -0
  291. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/base.py +0 -0
  292. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/bootstrap_root_option.py +0 -0
  293. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/environment_option.py +0 -0
  294. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/server_startup_timeout_option.py +0 -0
  295. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/show_server_logs_option.py +0 -0
  296. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/skip_app_kill_option.py +0 -0
  297. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/mac/mac2/web_driver_agent_mac_url_option.py +0 -0
  298. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/windows/__init__.py +0 -0
  299. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/windows/windows/__init__.py +0 -0
  300. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/windows/windows/app_arguments_option.py +0 -0
  301. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/windows/windows/app_top_level_window_option.py +0 -0
  302. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/windows/windows/app_working_dir_option.py +0 -0
  303. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/windows/windows/base.py +0 -0
  304. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/windows/windows/create_session_timeout_option.py +0 -0
  305. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/windows/windows/expreimental_web_driver_option.py +0 -0
  306. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/options/windows/windows/wait_for_app_launch_option.py +0 -0
  307. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/protocols/__init__.py +0 -0
  308. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/protocols/webdriver/__init__.py +0 -0
  309. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/protocols/webdriver/can_execute_commands.py +0 -0
  310. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/protocols/webdriver/can_execute_scripts.py +0 -0
  311. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/protocols/webdriver/can_find_elements.py +0 -0
  312. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/protocols/webdriver/can_remember_extension_presence.py +0 -0
  313. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/py.typed +0 -0
  314. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/__init__.py +0 -0
  315. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/appium_service.py +0 -0
  316. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/applicationstate.py +0 -0
  317. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/clipboard_content_type.py +0 -0
  318. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/command_method.py +0 -0
  319. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/common/__init__.py +0 -0
  320. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/connectiontype.py +0 -0
  321. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/errorhandler.py +0 -0
  322. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/__init__.py +0 -0
  323. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/action_helpers.py +0 -0
  324. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/__init__.py +0 -0
  325. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/android/nativekey.py +0 -0
  326. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/execute_mobile_command.py +0 -0
  327. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/flutter_integration/__init__.py +0 -0
  328. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/flutter_integration/flutter_commands.py +0 -0
  329. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/extensions/flutter_integration/scroll_directions.py +0 -0
  330. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/mobilecommand.py +0 -0
  331. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/appium/webdriver/switch_to.py +0 -0
  332. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/Makefile +0 -0
  333. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/README.md +0 -0
  334. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/conf.py +0 -0
  335. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/generate.sh +0 -0
  336. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/index.rst +0 -0
  337. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/make.bat +0 -0
  338. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/requirements.txt +0 -0
  339. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/webdriver.common.rst +0 -0
  340. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/webdriver.extensions.android.rst +0 -0
  341. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/webdriver.extensions.rst +0 -0
  342. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/webdriver.extensions.search_context.rst +0 -0
  343. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/docs/webdriver.rst +0 -0
  344. {appium_python_client-4.2.1 → appium_python_client-4.4.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Appium-Python-Client
3
- Version: 4.2.1
3
+ Version: 4.4.0
4
4
  Summary: Python client for Appium
5
5
  Home-page: http://appium.io/
6
6
  Author: Isaac Murchie
@@ -25,7 +25,7 @@ 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.26,~=4.12
28
+ Requires-Dist: selenium<5.0,~=4.26
29
29
 
30
30
  # Appium Python Client
31
31
 
@@ -70,6 +70,7 @@ download and unarchive the source tarball (Appium-Python-Client-X.X.tar.gz).
70
70
 
71
71
  |Appium Python Client| Selenium binding| Python version |
72
72
  |----|----|----|
73
+ |`4.3.0`+ |`4.26.0`+ | 3.8+ |
73
74
  |`3.0.0` - `4.2.1` |`4.12.0` - `4.25.0` | 3.8+ |
74
75
  |`2.10.0` - `2.11.1` |`4.1.0` - `4.11.2` | 3.7+ |
75
76
  |`2.2.0` - `2.9.0` |`4.1.0` - `4.9.0` | 3.7+ |
@@ -340,6 +341,21 @@ options.set_capability('browser_name', 'safari')
340
341
  driver = webdriver.Remote('http://127.0.0.1:4723', options=options, strict_ssl=False)
341
342
  ```
342
343
 
344
+ Since Appium Python client v4.3.0, we recommend using `selenium.webdriver.remote.client_config.ClientConfig`
345
+ instead of giving `strict_ssl` as an argument of `webdriver.Remote` below to configure the validation.
346
+
347
+ ```python
348
+ from appium import webdriver
349
+
350
+ from selenium.webdriver.remote.client_config import ClientConfig
351
+
352
+ client_config = ClientConfig(
353
+ remote_server_addr='http://127.0.0.1:4723',
354
+ ignore_certificates=True
355
+ )
356
+ driver = webdriver.Remote(client_config.remote_server_addr, options=options, client_config=client_config)
357
+ ```
358
+
343
359
  ## Set custom `AppiumConnection`
344
360
 
345
361
  The first argument of `webdriver.Remote` can set an arbitrary command executor for you.
@@ -393,6 +409,18 @@ driver = webdriver.Remote(custom_executor, options=options)
393
409
 
394
410
  ```
395
411
 
412
+ The `AppiumConnection` can set `selenium.webdriver.remote.client_config.ClientConfig` as well.
413
+
414
+ ## Relaxing HTTP request read timeout
415
+
416
+ Appium Python Client has `120` seconds read timeout on each HTTP request since the version v4.3.0 because of
417
+ the corresponding selenium binding version.
418
+ You have two methods to extend the read timeout.
419
+
420
+ 1. Set `GLOBAL_DEFAULT_TIMEOUT` environment variable
421
+ 2. Configure timeout via `selenium.webdriver.remote.client_config.ClientConfig`
422
+ - `timeout` argument, or
423
+ - `init_args_for_pool_manager` argument for `urllib3.PoolManager`
396
424
 
397
425
  ## Documentation
398
426
 
@@ -286,6 +286,7 @@ appium/webdriver/clipboard_content_type.py
286
286
  appium/webdriver/command_method.py
287
287
  appium/webdriver/connectiontype.py
288
288
  appium/webdriver/errorhandler.py
289
+ appium/webdriver/locator_converter.py
289
290
  appium/webdriver/mobilecommand.py
290
291
  appium/webdriver/switch_to.py
291
292
  appium/webdriver/webdriver.py
@@ -0,0 +1 @@
1
+ selenium<5.0,~=4.26
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Appium-Python-Client
3
- Version: 4.2.1
3
+ Version: 4.4.0
4
4
  Summary: Python client for Appium
5
5
  Home-page: http://appium.io/
6
6
  Author: Isaac Murchie
@@ -25,7 +25,7 @@ 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.26,~=4.12
28
+ Requires-Dist: selenium<5.0,~=4.26
29
29
 
30
30
  # Appium Python Client
31
31
 
@@ -70,6 +70,7 @@ download and unarchive the source tarball (Appium-Python-Client-X.X.tar.gz).
70
70
 
71
71
  |Appium Python Client| Selenium binding| Python version |
72
72
  |----|----|----|
73
+ |`4.3.0`+ |`4.26.0`+ | 3.8+ |
73
74
  |`3.0.0` - `4.2.1` |`4.12.0` - `4.25.0` | 3.8+ |
74
75
  |`2.10.0` - `2.11.1` |`4.1.0` - `4.11.2` | 3.7+ |
75
76
  |`2.2.0` - `2.9.0` |`4.1.0` - `4.9.0` | 3.7+ |
@@ -340,6 +341,21 @@ options.set_capability('browser_name', 'safari')
340
341
  driver = webdriver.Remote('http://127.0.0.1:4723', options=options, strict_ssl=False)
341
342
  ```
342
343
 
344
+ Since Appium Python client v4.3.0, we recommend using `selenium.webdriver.remote.client_config.ClientConfig`
345
+ instead of giving `strict_ssl` as an argument of `webdriver.Remote` below to configure the validation.
346
+
347
+ ```python
348
+ from appium import webdriver
349
+
350
+ from selenium.webdriver.remote.client_config import ClientConfig
351
+
352
+ client_config = ClientConfig(
353
+ remote_server_addr='http://127.0.0.1:4723',
354
+ ignore_certificates=True
355
+ )
356
+ driver = webdriver.Remote(client_config.remote_server_addr, options=options, client_config=client_config)
357
+ ```
358
+
343
359
  ## Set custom `AppiumConnection`
344
360
 
345
361
  The first argument of `webdriver.Remote` can set an arbitrary command executor for you.
@@ -393,6 +409,18 @@ driver = webdriver.Remote(custom_executor, options=options)
393
409
 
394
410
  ```
395
411
 
412
+ The `AppiumConnection` can set `selenium.webdriver.remote.client_config.ClientConfig` as well.
413
+
414
+ ## Relaxing HTTP request read timeout
415
+
416
+ Appium Python Client has `120` seconds read timeout on each HTTP request since the version v4.3.0 because of
417
+ the corresponding selenium binding version.
418
+ You have two methods to extend the read timeout.
419
+
420
+ 1. Set `GLOBAL_DEFAULT_TIMEOUT` environment variable
421
+ 2. Configure timeout via `selenium.webdriver.remote.client_config.ClientConfig`
422
+ - `timeout` argument, or
423
+ - `init_args_for_pool_manager` argument for `urllib3.PoolManager`
396
424
 
397
425
  ## Documentation
398
426
 
@@ -41,6 +41,7 @@ download and unarchive the source tarball (Appium-Python-Client-X.X.tar.gz).
41
41
 
42
42
  |Appium Python Client| Selenium binding| Python version |
43
43
  |----|----|----|
44
+ |`4.3.0`+ |`4.26.0`+ | 3.8+ |
44
45
  |`3.0.0` - `4.2.1` |`4.12.0` - `4.25.0` | 3.8+ |
45
46
  |`2.10.0` - `2.11.1` |`4.1.0` - `4.11.2` | 3.7+ |
46
47
  |`2.2.0` - `2.9.0` |`4.1.0` - `4.9.0` | 3.7+ |
@@ -311,6 +312,21 @@ options.set_capability('browser_name', 'safari')
311
312
  driver = webdriver.Remote('http://127.0.0.1:4723', options=options, strict_ssl=False)
312
313
  ```
313
314
 
315
+ Since Appium Python client v4.3.0, we recommend using `selenium.webdriver.remote.client_config.ClientConfig`
316
+ instead of giving `strict_ssl` as an argument of `webdriver.Remote` below to configure the validation.
317
+
318
+ ```python
319
+ from appium import webdriver
320
+
321
+ from selenium.webdriver.remote.client_config import ClientConfig
322
+
323
+ client_config = ClientConfig(
324
+ remote_server_addr='http://127.0.0.1:4723',
325
+ ignore_certificates=True
326
+ )
327
+ driver = webdriver.Remote(client_config.remote_server_addr, options=options, client_config=client_config)
328
+ ```
329
+
314
330
  ## Set custom `AppiumConnection`
315
331
 
316
332
  The first argument of `webdriver.Remote` can set an arbitrary command executor for you.
@@ -364,6 +380,18 @@ driver = webdriver.Remote(custom_executor, options=options)
364
380
 
365
381
  ```
366
382
 
383
+ The `AppiumConnection` can set `selenium.webdriver.remote.client_config.ClientConfig` as well.
384
+
385
+ ## Relaxing HTTP request read timeout
386
+
387
+ Appium Python Client has `120` seconds read timeout on each HTTP request since the version v4.3.0 because of
388
+ the corresponding selenium binding version.
389
+ You have two methods to extend the read timeout.
390
+
391
+ 1. Set `GLOBAL_DEFAULT_TIMEOUT` environment variable
392
+ 2. Configure timeout via `selenium.webdriver.remote.client_config.ClientConfig`
393
+ - `timeout` argument, or
394
+ - `init_args_for_pool_manager` argument for `urllib3.PoolManager`
367
395
 
368
396
  ## Documentation
369
397
 
@@ -0,0 +1 @@
1
+ version = '4.4.0'
@@ -0,0 +1,64 @@
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
+ import uuid
16
+ from typing import TYPE_CHECKING, Any, Dict
17
+
18
+ from selenium.webdriver.remote.remote_connection import RemoteConnection
19
+
20
+ from appium.common.helper import library_version
21
+
22
+ if TYPE_CHECKING:
23
+ from urllib.parse import ParseResult
24
+
25
+
26
+ PREFIX_HEADER = 'appium/'
27
+
28
+ HEADER_IDEMOTENCY_KEY = 'X-Idempotency-Key'
29
+
30
+
31
+ def _get_new_headers(key: str, headers: Dict[str, str]) -> Dict[str, str]:
32
+ """Return a new dictionary of heafers without the given key.
33
+ The key match is case-insensitive."""
34
+ lower_key = key.lower()
35
+ return {k: v for k, v in headers.items() if k.lower() != lower_key}
36
+
37
+
38
+ class AppiumConnection(RemoteConnection):
39
+ """
40
+ A subclass of selenium.webdriver.remote.remote_connection.Remoteconnection.
41
+
42
+ The changes are:
43
+ - The default user agent
44
+ - Adds 'X-Idempotency-Key' header in a new session request to avoid proceeding
45
+ the same request multiple times in the Appium server side.
46
+ - https://github.com/appium/appium-base-driver/pull/400
47
+ """
48
+
49
+ user_agent = f'{PREFIX_HEADER}{library_version()} ({RemoteConnection.user_agent})'
50
+ extra_headers = {}
51
+
52
+ @classmethod
53
+ def get_remote_connection_headers(cls, parsed_url: 'ParseResult', keep_alive: bool = True) -> Dict[str, Any]:
54
+ """Override get_remote_connection_headers in RemoteConnection to control the extra headers.
55
+ This method will be used in sending a request method in this class.
56
+ """
57
+
58
+ if parsed_url.path.endswith('/session'):
59
+ # https://github.com/appium/appium-base-driver/pull/400
60
+ cls.extra_headers[HEADER_IDEMOTENCY_KEY] = str(uuid.uuid4())
61
+ else:
62
+ cls.extra_headers = _get_new_headers(HEADER_IDEMOTENCY_KEY, cls.extra_headers)
63
+
64
+ return {**super().get_remote_connection_headers(parsed_url, keep_alive=keep_alive), **cls.extra_headers}
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from typing import Literal
16
+
15
17
  from selenium.webdriver.common.by import By
16
18
 
17
19
 
@@ -32,3 +34,20 @@ class AppiumBy(By):
32
34
  FLUTTER_INTEGRATION_KEY = '-flutter key'
33
35
  FLUTTER_INTEGRATION_TEXT = '-flutter text'
34
36
  FLUTTER_INTEGRATION_TEXT_CONTAINING = '-flutter text containing'
37
+
38
+
39
+ ByType = Literal[
40
+ '-ios predicate string',
41
+ '-ios class chain',
42
+ '-android uiautomator',
43
+ '-android viewtag',
44
+ '-android datamatcher',
45
+ '-android viewmatcher',
46
+ 'accessibility id',
47
+ '-image',
48
+ '-custom',
49
+ '-flutter semantics label',
50
+ '-flutter type',
51
+ '-flutter key',
52
+ '-flutter text containing',
53
+ ]
@@ -56,9 +56,8 @@ class Activities(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPres
56
56
  return False
57
57
 
58
58
  def _add_commands(self) -> None:
59
- # noinspection PyProtectedMember,PyUnresolvedReferences
60
- commands = self.command_executor._commands
61
- commands[Command.GET_CURRENT_ACTIVITY] = (
59
+ self.command_executor.add_command(
60
+ Command.GET_CURRENT_ACTIVITY,
62
61
  'GET',
63
62
  '/session/$sessionId/appium/device/current_activity',
64
63
  )
@@ -47,13 +47,13 @@ class Common(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPresence
47
47
  return self.mark_extension_absence(ext_name).execute(Command.GET_CURRENT_PACKAGE)['value']
48
48
 
49
49
  def _add_commands(self) -> None:
50
- # noinspection PyProtectedMember,PyUnresolvedReferences
51
- commands = self.command_executor._commands
52
- commands[Command.GET_CURRENT_PACKAGE] = (
50
+ self.command_executor.add_command(
51
+ Command.GET_CURRENT_PACKAGE,
53
52
  'GET',
54
53
  '/session/$sessionId/appium/device/current_package',
55
54
  )
56
- commands[Command.OPEN_NOTIFICATIONS] = (
55
+ self.command_executor.add_command(
56
+ Command.OPEN_NOTIFICATIONS,
57
57
  'POST',
58
58
  '/session/$sessionId/appium/device/open_notifications',
59
59
  )
@@ -41,9 +41,8 @@ class Display(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPresenc
41
41
  return self.mark_extension_absence(ext_name).execute(Command.GET_DISPLAY_DENSITY)['value']
42
42
 
43
43
  def _add_commands(self) -> None:
44
- # noinspection PyProtectedMember,PyUnresolvedReferences
45
- commands = self.command_executor._commands
46
- commands[Command.GET_DISPLAY_DENSITY] = (
44
+ self.command_executor.add_command(
45
+ Command.GET_DISPLAY_DENSITY,
47
46
  'GET',
48
47
  '/session/$sessionId/appium/device/display_density',
49
48
  )
@@ -142,11 +142,6 @@ class Gsm(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPresence):
142
142
  return self
143
143
 
144
144
  def _add_commands(self) -> None:
145
- # noinspection PyProtectedMember,PyUnresolvedReferences
146
- commands = self.command_executor._commands
147
- commands[Command.MAKE_GSM_CALL] = ('POST', '/session/$sessionId/appium/device/gsm_call')
148
- commands[Command.SET_GSM_SIGNAL] = (
149
- 'POST',
150
- '/session/$sessionId/appium/device/gsm_signal',
151
- )
152
- commands[Command.SET_GSM_VOICE] = ('POST', '/session/$sessionId/appium/device/gsm_voice')
145
+ self.command_executor.add_command(Command.MAKE_GSM_CALL, 'POST', '/session/$sessionId/appium/device/gsm_call')
146
+ self.command_executor.add_command(Command.SET_GSM_SIGNAL, 'POST', '/session/$sessionId/appium/device/gsm_signal')
147
+ self.command_executor.add_command(Command.SET_GSM_VOICE, 'POST', '/session/$sessionId/appium/device/gsm_voice')
@@ -157,18 +157,19 @@ class Network(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPresenc
157
157
  return self
158
158
 
159
159
  def _add_commands(self) -> None:
160
- # noinspection PyProtectedMember,PyUnresolvedReferences
161
- commands = self.command_executor._commands
162
- commands[Command.TOGGLE_WIFI] = ('POST', '/session/$sessionId/appium/device/toggle_wifi')
163
- commands[Command.GET_NETWORK_CONNECTION] = (
160
+ self.command_executor.add_command(Command.TOGGLE_WIFI, 'POST', '/session/$sessionId/appium/device/toggle_wifi')
161
+ self.command_executor.add_command(
162
+ Command.GET_NETWORK_CONNECTION,
164
163
  'GET',
165
164
  '/session/$sessionId/network_connection',
166
165
  )
167
- commands[Command.SET_NETWORK_CONNECTION] = (
166
+ self.command_executor.add_command(
167
+ Command.SET_NETWORK_CONNECTION,
168
168
  'POST',
169
169
  '/session/$sessionId/network_connection',
170
170
  )
171
- commands[Command.SET_NETWORK_SPEED] = (
171
+ self.command_executor.add_command(
172
+ Command.SET_NETWORK_SPEED,
172
173
  'POST',
173
174
  '/session/$sessionId/appium/device/network_speed',
174
175
  )
@@ -73,13 +73,13 @@ class Performance(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPre
73
73
  return self.mark_extension_absence(ext_name).execute(Command.GET_PERFORMANCE_DATA_TYPES)['value']
74
74
 
75
75
  def _add_commands(self) -> None:
76
- # noinspection PyProtectedMember,PyUnresolvedReferences
77
- commands = self.command_executor._commands
78
- commands[Command.GET_PERFORMANCE_DATA] = (
76
+ self.command_executor.add_command(
77
+ Command.GET_PERFORMANCE_DATA,
79
78
  'POST',
80
79
  '/session/$sessionId/appium/getPerformanceData',
81
80
  )
82
- commands[Command.GET_PERFORMANCE_DATA_TYPES] = (
81
+ self.command_executor.add_command(
82
+ Command.GET_PERFORMANCE_DATA_TYPES,
83
83
  'POST',
84
84
  '/session/$sessionId/appium/performanceData/types',
85
85
  )
@@ -72,10 +72,9 @@ class Power(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPresence)
72
72
  return self
73
73
 
74
74
  def _add_commands(self) -> None:
75
- # noinspection PyProtectedMember,PyUnresolvedReferences
76
- commands = self.command_executor._commands
77
- commands[Command.SET_POWER_CAPACITY] = (
75
+ self.command_executor.add_command(
76
+ Command.SET_POWER_CAPACITY,
78
77
  'POST',
79
78
  '/session/$sessionId/appium/device/power_capacity',
80
79
  )
81
- commands[Command.SET_POWER_AC] = ('POST', '/session/$sessionId/appium/device/power_ac')
80
+ self.command_executor.add_command(Command.SET_POWER_AC, 'POST', '/session/$sessionId/appium/device/power_ac')
@@ -47,6 +47,4 @@ class Sms(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPresence):
47
47
  return self
48
48
 
49
49
  def _add_commands(self) -> None:
50
- # noinspection PyProtectedMember,PyUnresolvedReferences
51
- commands = self.command_executor._commands
52
- commands[Command.SEND_SMS] = ('POST', '/session/$sessionId/appium/device/send_sms')
50
+ self.command_executor.add_command(Command.SEND_SMS, 'POST', '/session/$sessionId/appium/device/send_sms')
@@ -51,9 +51,8 @@ class SystemBars(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPres
51
51
  return self.mark_extension_absence(ext_name).execute(Command.GET_SYSTEM_BARS)['value']
52
52
 
53
53
  def _add_commands(self) -> None:
54
- # noinspection PyProtectedMember,PyUnresolvedReferences
55
- commands = self.command_executor._commands
56
- commands[Command.GET_SYSTEM_BARS] = (
54
+ self.command_executor.add_command(
55
+ Command.GET_SYSTEM_BARS,
57
56
  'GET',
58
57
  '/session/$sessionId/appium/device/system_bars',
59
58
  )
@@ -248,25 +248,27 @@ class Applications(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPr
248
248
  return self.mark_extension_absence(ext_name).execute(Command.GET_APP_STRINGS, data)['value']
249
249
 
250
250
  def _add_commands(self) -> None:
251
- # noinspection PyProtectedMember,PyUnresolvedReferences
252
- commands = self.command_executor._commands
253
- commands[Command.BACKGROUND] = ('POST', '/session/$sessionId/appium/app/background')
254
- commands[Command.IS_APP_INSTALLED] = (
251
+ self.command_executor.add_command(Command.BACKGROUND, 'POST', '/session/$sessionId/appium/app/background')
252
+ self.command_executor.add_command(
253
+ Command.IS_APP_INSTALLED,
255
254
  'POST',
256
255
  '/session/$sessionId/appium/device/app_installed',
257
256
  )
258
- commands[Command.INSTALL_APP] = ('POST', '/session/$sessionId/appium/device/install_app')
259
- commands[Command.REMOVE_APP] = ('POST', '/session/$sessionId/appium/device/remove_app')
260
- commands[Command.TERMINATE_APP] = (
257
+ self.command_executor.add_command(Command.INSTALL_APP, 'POST', '/session/$sessionId/appium/device/install_app')
258
+ self.command_executor.add_command(Command.REMOVE_APP, 'POST', '/session/$sessionId/appium/device/remove_app')
259
+ self.command_executor.add_command(
260
+ Command.TERMINATE_APP,
261
261
  'POST',
262
262
  '/session/$sessionId/appium/device/terminate_app',
263
263
  )
264
- commands[Command.ACTIVATE_APP] = (
264
+ self.command_executor.add_command(
265
+ Command.ACTIVATE_APP,
265
266
  'POST',
266
267
  '/session/$sessionId/appium/device/activate_app',
267
268
  )
268
- commands[Command.QUERY_APP_STATE] = (
269
+ self.command_executor.add_command(
270
+ Command.QUERY_APP_STATE,
269
271
  'POST',
270
272
  '/session/$sessionId/appium/device/app_state',
271
273
  )
272
- commands[Command.GET_APP_STRINGS] = ('POST', '/session/$sessionId/appium/app/strings')
274
+ self.command_executor.add_command(Command.GET_APP_STRINGS, 'POST', '/session/$sessionId/appium/app/strings')
@@ -95,13 +95,13 @@ class Clipboard(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPrese
95
95
  return self.get_clipboard(ClipboardContentType.PLAINTEXT).decode('UTF-8')
96
96
 
97
97
  def _add_commands(self) -> None:
98
- # noinspection PyProtectedMember,PyUnresolvedReferences
99
- commands = self.command_executor._commands
100
- commands[Command.SET_CLIPBOARD] = (
98
+ self.command_executor.add_command(
99
+ Command.SET_CLIPBOARD,
101
100
  'POST',
102
101
  '/session/$sessionId/appium/device/set_clipboard',
103
102
  )
104
- commands[Command.GET_CLIPBOARD] = (
103
+ self.command_executor.add_command(
104
+ Command.GET_CLIPBOARD,
105
105
  'POST',
106
106
  '/session/$sessionId/appium/device/get_clipboard',
107
107
  )
@@ -58,8 +58,6 @@ class Context(CanExecuteCommands):
58
58
  return self.current_context
59
59
 
60
60
  def _add_commands(self) -> None:
61
- # noinspection PyProtectedMember,PyUnresolvedReferences
62
- commands = self.command_executor._commands
63
- commands[Command.CONTEXTS] = ('GET', '/session/$sessionId/contexts')
64
- commands[Command.GET_CURRENT_CONTEXT] = ('GET', '/session/$sessionId/context')
65
- commands[Command.SWITCH_TO_CONTEXT] = ('POST', '/session/$sessionId/context')
61
+ self.command_executor.add_command(Command.CONTEXTS, 'GET', '/session/$sessionId/contexts')
62
+ self.command_executor.add_command(Command.GET_CURRENT_CONTEXT, 'GET', '/session/$sessionId/context')
63
+ self.command_executor.add_command(Command.SWITCH_TO_CONTEXT, 'POST', '/session/$sessionId/context')
@@ -63,13 +63,13 @@ class DeviceTime(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPres
63
63
  return self.mark_extension_absence(ext_name).execute(Command.GET_DEVICE_TIME_POST, {'format': format})['value']
64
64
 
65
65
  def _add_commands(self) -> None:
66
- # noinspection PyProtectedMember,PyUnresolvedReferences
67
- commands = self.command_executor._commands
68
- commands[Command.GET_DEVICE_TIME_GET] = (
66
+ self.command_executor.add_command(
67
+ Command.GET_DEVICE_TIME_GET,
69
68
  'GET',
70
69
  '/session/$sessionId/appium/device/system_time',
71
70
  )
72
- commands[Command.GET_DEVICE_TIME_POST] = (
71
+ self.command_executor.add_command(
72
+ Command.GET_DEVICE_TIME_POST,
73
73
  'POST',
74
74
  '/session/$sessionId/appium/device/system_time',
75
75
  )
@@ -57,6 +57,4 @@ class ExecuteDriver(CanExecuteCommands):
57
57
  return Result(response)
58
58
 
59
59
  def _add_commands(self) -> None:
60
- # noinspection PyProtectedMember,PyUnresolvedReferences
61
- commands = self.command_executor._commands
62
- commands[Command.EXECUTE_DRIVER] = ('POST', '/session/$sessionId/appium/execute_driver')
60
+ self.command_executor.add_command(Command.EXECUTE_DRIVER, 'POST', '/session/$sessionId/appium/execute_driver')
@@ -15,13 +15,16 @@
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
17
 
18
- from typing import Tuple
18
+ from typing import Tuple, Union
19
+
20
+ from selenium.webdriver.common.by import ByType as SeleniumByType
19
21
 
20
22
  from appium.webdriver.common.appiumby import AppiumBy
23
+ from appium.webdriver.common.appiumby import ByType as AppiumByType
21
24
 
22
25
 
23
26
  class FlutterFinder:
24
- def __init__(self, using: str, value: str) -> None:
27
+ def __init__(self, using: Union[SeleniumByType, AppiumByType], value: str) -> None:
25
28
  self.using = using
26
29
  self.value = value
27
30
 
@@ -132,18 +132,18 @@ class HardwareActions(CanExecuteCommands, CanExecuteScripts, CanRememberExtensio
132
132
  return self
133
133
 
134
134
  def _add_commands(self) -> None:
135
- # noinspection PyProtectedMember,PyUnresolvedReferences
136
- commands = self.command_executor._commands
137
- commands[Command.LOCK] = ('POST', '/session/$sessionId/appium/device/lock')
138
- commands[Command.UNLOCK] = ('POST', '/session/$sessionId/appium/device/unlock')
139
- commands[Command.IS_LOCKED] = ('POST', '/session/$sessionId/appium/device/is_locked')
140
- commands[Command.SHAKE] = ('POST', '/session/$sessionId/appium/device/shake')
141
- commands[Command.TOUCH_ID] = ('POST', '/session/$sessionId/appium/simulator/touch_id')
142
- commands[Command.TOGGLE_TOUCH_ID_ENROLLMENT] = (
135
+ self.command_executor.add_command(Command.LOCK, 'POST', '/session/$sessionId/appium/device/lock')
136
+ self.command_executor.add_command(Command.UNLOCK, 'POST', '/session/$sessionId/appium/device/unlock')
137
+ self.command_executor.add_command(Command.IS_LOCKED, 'POST', '/session/$sessionId/appium/device/is_locked')
138
+ self.command_executor.add_command(Command.SHAKE, 'POST', '/session/$sessionId/appium/device/shake')
139
+ self.command_executor.add_command(Command.TOUCH_ID, 'POST', '/session/$sessionId/appium/simulator/touch_id')
140
+ self.command_executor.add_command(
141
+ Command.TOGGLE_TOUCH_ID_ENROLLMENT,
143
142
  'POST',
144
143
  '/session/$sessionId/appium/simulator/toggle_touch_id_enrollment',
145
144
  )
146
- commands[Command.FINGER_PRINT] = (
145
+ self.command_executor.add_command(
146
+ Command.FINGER_PRINT,
147
147
  'POST',
148
148
  '/session/$sessionId/appium/device/finger_print',
149
149
  )
@@ -129,6 +129,4 @@ class ImagesComparison(CanExecuteCommands):
129
129
  return self.execute(Command.COMPARE_IMAGES, options)['value']
130
130
 
131
131
  def _add_commands(self) -> None:
132
- # noinspection PyProtectedMember,PyUnresolvedReferences
133
- commands = self.command_executor._commands
134
- commands[Command.COMPARE_IMAGES] = ('POST', '/session/$sessionId/appium/compare_images')
132
+ self.command_executor.add_command(Command.COMPARE_IMAGES, 'POST', '/session/$sessionId/appium/compare_images')
@@ -145,22 +145,24 @@ class Keyboard(CanExecuteCommands, CanExecuteScripts, CanRememberExtensionPresen
145
145
  return self
146
146
 
147
147
  def _add_commands(self) -> None:
148
- # noinspection PyProtectedMember,PyUnresolvedReferences
149
- commands = self.command_executor._commands
150
- commands[Command.HIDE_KEYBOARD] = (
148
+ self.command_executor.add_command(
149
+ Command.HIDE_KEYBOARD,
151
150
  'POST',
152
151
  '/session/$sessionId/appium/device/hide_keyboard',
153
152
  )
154
- commands[Command.IS_KEYBOARD_SHOWN] = (
153
+ self.command_executor.add_command(
154
+ Command.IS_KEYBOARD_SHOWN,
155
155
  'GET',
156
156
  '/session/$sessionId/appium/device/is_keyboard_shown',
157
157
  )
158
- commands[Command.KEY_EVENT] = ('POST', '/session/$sessionId/appium/device/keyevent')
159
- commands[Command.PRESS_KEYCODE] = (
158
+ self.command_executor.add_command(Command.KEY_EVENT, 'POST', '/session/$sessionId/appium/device/keyevent')
159
+ self.command_executor.add_command(
160
+ Command.PRESS_KEYCODE,
160
161
  'POST',
161
162
  '/session/$sessionId/appium/device/press_keycode',
162
163
  )
163
- commands[Command.LONG_PRESS_KEYCODE] = (
164
+ self.command_executor.add_command(
165
+ Command.LONG_PRESS_KEYCODE,
164
166
  'POST',
165
167
  '/session/$sessionId/appium/device/long_press_keycode',
166
168
  )