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.
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/PKG-INFO +28 -8
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/SOURCES.txt +11 -1
- appium_python_client-4.1.1/Appium_Python_Client.egg-info/requires.txt +1 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/PKG-INFO +28 -8
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/README.md +26 -6
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/common/helper.py +7 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/adb_exec_timeout_option.py +1 -3
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_wait_duration_option.py +1 -3
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_launch_timeout_option.py +1 -3
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_ready_timeout_option.py +1 -3
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/auto_webview_timeout_option.py +1 -3
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/espresso_build_config_option.py +1 -3
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/supports_capabilities.py +2 -4
- appium_python_client-4.1.1/appium/options/flutter_integration/__init__.py +15 -0
- appium_python_client-4.1.1/appium/options/flutter_integration/base.py +39 -0
- appium_python_client-4.1.1/appium/options/flutter_integration/flutter_element_wait_timeout_option.py +50 -0
- appium_python_client-4.1.1/appium/options/flutter_integration/flutter_enable_mock_camera_option.py +44 -0
- appium_python_client-4.1.1/appium/options/flutter_integration/flutter_server_launch_timeout_option.py +51 -0
- appium_python_client-4.1.1/appium/options/flutter_integration/flutter_system_port_option.py +45 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/app/app_push_timeout_option.py +1 -3
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_launch_timeout_option.py +1 -3
- appium_python_client-4.1.1/appium/options/mac/mac2/app_path_option.py +39 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/base.py +2 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/can_execute_commands.py +1 -2
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/can_execute_scripts.py +5 -10
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/can_find_elements.py +2 -4
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/can_remember_extension_presence.py +2 -4
- appium_python_client-4.1.1/appium/version.py +1 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/appium_service.py +158 -119
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/common/appiumby.py +7 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/action_helpers.py +18 -18
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/common.py +3 -7
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/gsm.py +7 -11
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/network.py +5 -9
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/power.py +5 -9
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/sms.py +3 -7
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/applications.py +10 -12
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/clipboard.py +5 -7
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/device_time.py +1 -3
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/execute_mobile_command.py +5 -6
- appium_python_client-4.1.1/appium/webdriver/extensions/flutter_integration/__init__.py +13 -0
- appium_python_client-4.1.1/appium/webdriver/extensions/flutter_integration/flutter_commands.py +193 -0
- appium_python_client-4.1.1/appium/webdriver/extensions/flutter_integration/flutter_finder.py +52 -0
- appium_python_client-4.1.1/appium/webdriver/extensions/flutter_integration/scroll_directions.py +6 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/hw_actions.py +15 -17
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/images_comparison.py +1 -3
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/keyboard.py +9 -15
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/location.py +7 -9
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/log_event.py +5 -6
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/remote_fs.py +4 -8
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/settings.py +5 -6
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/switch_to.py +4 -6
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/webdriver.py +6 -11
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/webelement.py +3 -2
- appium_python_client-4.1.1/docs/requirements.txt +2 -0
- appium_python_client-4.1.1/setup.cfg +4 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/setup.py +1 -1
- appium_python_client-4.0.1/Appium_Python_Client.egg-info/requires.txt +0 -1
- appium_python_client-4.0.1/appium/version.py +0 -1
- appium_python_client-4.0.1/docs/requirements.txt +0 -2
- appium_python_client-4.0.1/setup.cfg +0 -24
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/dependency_links.txt +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/top_level.txt +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/LICENSE +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/MANIFEST.in +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/common/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/common/exceptions.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/common/logger.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/adb_port_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/allow_delay_adb_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/build_tools_version_option.py +0 -0
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/logcat_filter_specs_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/logcat_format_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/mock_location_app_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/remote_adb_host_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/skip_logcat_capture_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/adb/suppress_kill_server_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/allow_test_packages_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/android_install_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_activity_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_package_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_wait_activity_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/app_wait_package_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/auto_grant_premissions_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/enforce_app_install_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/intent_action_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/intent_category_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/intent_flags_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/optional_intent_arguments_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/app/uninstall_other_packages_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_args_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_env_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/avd_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/gps_enabled_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/avd/network_speed_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chrome_logging_prefs_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chrome_options_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_args_option.py +0 -0
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_executable_dir_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_executable_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_port_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/chromedriver_ports_option.py +0 -0
- {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
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/native_web_screenshot_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/show_chromedriver_log_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/context/webview_devtools_port_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/localization/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/localization/locale_script_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/skip_unlock_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/unlock_key_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/unlock_strategy_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/unlock_success_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/locking/unlock_type_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/mjpeg/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/mjpeg/mjpeg_screenshot_url_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/other/__init__.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/other/user_profile_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/key_alias_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/key_password_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/keystore_password_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/keystore_path_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/no_sign_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/common/signing/use_keystore_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/activity_options_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/app_locale_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/base.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/espresso_server_launch_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/force_espresso_rebuild_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/intent_options_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/espresso/show_gradle_log_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/base.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/disable_window_animation_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/mjpeg_server_port_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/skip_device_initialization_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/skip_server_installation_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/uiautomator2_server_install_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/uiautomator2_server_launch_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/android/uiautomator2/uiautomator2_server_read_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/app_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/auto_web_view_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/automation_name_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/base.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/browser_name_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/bundle_id_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/clear_system_files_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/device_name_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/enable_performance_logging_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/event_timings_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/full_reset_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/is_headless_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/language_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/locale_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/new_command_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/no_reset_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/orientation_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/other_apps_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/platform_version_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/postrun_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/prerun_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/skip_log_capture_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/system_host_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/system_port_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/common/udid_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/android_storage_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/base.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/firefox_options_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/marionette_port_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/gecko/verbosity_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/automatic_inspection_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/automatic_profiling_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/base.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/device_name_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/device_type_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/device_udid_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/platform_build_version_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/platform_version_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/use_simulator_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/safari/webkit_webrtc_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/app/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/app/app_install_strategy_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/app/localizable_strings_dir_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/base.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/general/__init__.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/general/reset_location_service_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/command_timeouts_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/launch_with_idb_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/show_ios_log_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/other/use_json_source_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/calendar_access_authorized_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/calendar_format_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/connect_hardware_keyboard_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/custom_ssl_cert_option.py +0 -0
- {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
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/keep_key_chains_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/keychains_exclude_patterns_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/permissions_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/reduce_motion_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/scale_factor_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/shutdown_other_simulators_option.py +0 -0
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/simulator_startup_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/simulator_trace_pointer_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/simulator/simulator_window_center_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/__init__.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/auto_accept_alerts_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/auto_disimiss_alerts_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/derived_data_path_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/disable_automatic_screenshots_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/force_app_launch_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/keychain_password_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/keychain_path_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/max_typing_frequency_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/mjpeg_server_port_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/process_arguments_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/result_bundle_path_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/screenshot_quality_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/should_terminate_app_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/show_xcode_log_option.py +0 -0
- {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
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/use_new_wda_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/use_prebuilt_wda_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/use_xctestrun_file_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wait_for_quiescence_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_base_url_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_connection_timeout_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_local_port_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/wda_startup_retries_option.py +0 -0
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/xcode_org_id_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/wda/xcode_signing_id_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/absolute_web_locations_option.py +0 -0
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/full_context_list_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/native_web_tap_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_garbage_collect_option.py +0 -0
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/safari_initial_url_option.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/webkit_response_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/webview_connect_retries_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/arguments_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/bootstrap_root_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/environment_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/server_startup_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/show_server_logs_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/mac/mac2/skip_app_kill_option.py +0 -0
- {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
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/app_arguments_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/app_top_level_window_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/app_working_dir_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/base.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/create_session_timeout_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/expreimental_web_driver_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/options/windows/windows/wait_for_app_launch_option.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/protocols/webdriver/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/py.typed +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/appium_connection.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/applicationstate.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/clipboard_content_type.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/command_method.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/common/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/connectiontype.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/errorhandler.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/__init__.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/activities.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/display.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/nativekey.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/performance.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/android/system_bars.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/context.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/execute_driver.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/screen_record.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/extensions/session.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/appium/webdriver/mobilecommand.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/Makefile +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/README.md +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/conf.py +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/generate.sh +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/index.rst +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/make.bat +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.common.rst +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.extensions.android.rst +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.extensions.rst +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.extensions.search_context.rst +0 -0
- {appium_python_client-4.0.1 → appium_python_client-4.1.1}/docs/webdriver.rst +0 -0
{appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: Appium-Python-Client
|
|
3
|
-
Version: 4.
|
|
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
|
|
28
|
+
Requires-Dist: selenium<4.26,~=4.12
|
|
29
29
|
|
|
30
30
|
# Appium Python Client
|
|
31
31
|
|
|
32
32
|
[](https://badge.fury.io/py/Appium-Python-Client)
|
|
33
33
|
[](https://pepy.tech/project/appium-python-client)
|
|
34
34
|
|
|
35
|
-
[](https://github.com/psf/black)
|
|
35
|
+
[](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
|
|
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
|
-
|
|
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 `
|
|
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
|
{appium_python_client-4.0.1 → appium_python_client-4.1.1}/Appium_Python_Client.egg-info/SOURCES.txt
RENAMED
|
@@ -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.
|
|
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
|
|
28
|
+
Requires-Dist: selenium<4.26,~=4.12
|
|
29
29
|
|
|
30
30
|
# Appium Python Client
|
|
31
31
|
|
|
32
32
|
[](https://badge.fury.io/py/Appium-Python-Client)
|
|
33
33
|
[](https://pepy.tech/project/appium-python-client)
|
|
34
34
|
|
|
35
|
-
[](https://github.com/psf/black)
|
|
35
|
+
[](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
|
|
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
|
-
|
|
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 `
|
|
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
|
[](https://badge.fury.io/py/Appium-Python-Client)
|
|
4
4
|
[](https://pepy.tech/project/appium-python-client)
|
|
5
5
|
|
|
6
|
-
[](https://github.com/psf/black)
|
|
6
|
+
[](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
|
|
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
|
-
|
|
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 `
|
|
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
|
+
}
|
appium_python_client-4.1.1/appium/options/flutter_integration/flutter_element_wait_timeout_option.py
ADDED
|
@@ -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
|
+
)
|
appium_python_client-4.1.1/appium/options/flutter_integration/flutter_enable_mock_camera_option.py
ADDED
|
@@ -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)
|