Appium-Python-Client 6.1.0__tar.gz → 6.1.2__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-6.1.0 → appium_python_client-6.1.2}/.github/workflows/functional-test.yml +3 -3
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/.github/workflows/unit-test.yml +2 -2
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/CHANGELOG.md +37 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/PKG-INFO +1 -1
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/appium_service.py +32 -14
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/images_comparison.py +14 -12
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/log_event.py +6 -2
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/screen_record.py +19 -13
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/pyproject.toml +1 -1
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/uv.lock +1 -1
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/.github/actions/setup-appium-server/action.yml +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/.github/dependabot.yml +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/.github/issue_template.md +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/.github/workflows/pr-title.yml +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/.github/workflows/publish.yml +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/.gitignore +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/.pre-commit-config.yaml +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/.ruff.toml +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/LICENSE +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/MANIFEST.in +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/Makefile +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/README.md +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/common/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/common/exceptions.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/common/helper.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/common/logger.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/adb_exec_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/adb_port_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/allow_delay_adb_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/build_tools_version_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/clear_device_logs_on_start_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/ignore_hidden_api_policy_error_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/logcat_filter_specs_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/logcat_format_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/mock_location_app_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/remote_adb_host_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/skip_logcat_capture_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/adb/suppress_kill_server_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/allow_test_packages_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/android_install_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/app_activity_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/app_package_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/app_wait_activity_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/app_wait_duration_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/app_wait_for_launch_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/app_wait_package_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/auto_grant_premissions_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/enforce_app_install_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/intent_action_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/intent_category_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/intent_flags_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/optional_intent_arguments_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/remote_apps_cache_limit_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/app/uninstall_other_packages_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/avd/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/avd/avd_args_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/avd/avd_env_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/avd/avd_launch_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/avd/avd_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/avd/avd_ready_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/avd/gps_enabled_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/avd/network_speed_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/auto_webview_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chrome_logging_prefs_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chrome_options_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chromedriver_args_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chromedriver_chrome_mapping_file_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chromedriver_disable_build_check_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chromedriver_executable_dir_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chromedriver_executable_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chromedriver_port_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chromedriver_ports_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/chromedriver_use_system_executable_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/ensure_webviews_have_pages_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/extract_chrome_android_package_from_context_name_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/native_web_screenshot_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/recreate_chrome_driver_sessions_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/show_chromedriver_log_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/context/webview_devtools_port_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/localization/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/localization/locale_script_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/locking/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/locking/skip_unlock_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/locking/unlock_key_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/locking/unlock_strategy_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/locking/unlock_success_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/locking/unlock_type_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/mjpeg/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/mjpeg/mjpeg_screenshot_url_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/other/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/other/disable_suppress_accessibility_service_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/other/user_profile_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/signing/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/signing/key_alias_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/signing/key_password_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/signing/keystore_password_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/signing/keystore_path_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/signing/no_sign_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/signing/use_keystore_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/espresso/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/espresso/activity_options_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/espresso/app_locale_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/espresso/base.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/espresso/espresso_build_config_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/espresso/espresso_server_launch_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/espresso/force_espresso_rebuild_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/espresso/intent_options_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/espresso/show_gradle_log_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/uiautomator2/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/uiautomator2/base.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/uiautomator2/disable_window_animation_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/uiautomator2/mjpeg_server_port_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/uiautomator2/skip_device_initialization_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/uiautomator2/skip_server_installation_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/uiautomator2/uiautomator2_server_install_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/uiautomator2/uiautomator2_server_launch_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/uiautomator2/uiautomator2_server_read_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/app_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/auto_web_view_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/automation_name_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/base.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/browser_name_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/bundle_id_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/clear_system_files_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/device_name_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/enable_performance_logging_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/event_timings_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/full_reset_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/is_headless_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/language_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/locale_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/new_command_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/no_reset_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/orientation_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/other_apps_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/platform_version_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/postrun_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/prerun_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/print_page_source_on_find_failure_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/skip_log_capture_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/supports_capabilities.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/system_host_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/system_port_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/common/udid_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/flutter_integration/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/flutter_integration/base.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/flutter_integration/flutter_element_wait_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/flutter_integration/flutter_enable_mock_camera_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/flutter_integration/flutter_server_launch_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/flutter_integration/flutter_system_port_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/gecko/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/gecko/android_storage_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/gecko/base.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/gecko/firefox_options_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/gecko/marionette_port_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/gecko/verbosity_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/automatic_inspection_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/automatic_profiling_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/base.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/device_name_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/device_type_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/device_udid_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/platform_build_version_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/platform_version_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/use_simulator_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/safari/webkit_webrtc_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/app/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/app/app_install_strategy_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/app/app_push_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/app/localizable_strings_dir_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/base.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/general/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/general/include_device_caps_to_session_info_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/general/reset_location_service_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/other/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/other/command_timeouts_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/other/launch_with_idb_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/other/show_ios_log_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/other/use_json_source_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/calendar_access_authorized_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/calendar_format_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/connect_hardware_keyboard_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/custom_ssl_cert_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/enforce_fresh_simulator_creation_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/force_simulator_software_keyboard_presence_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/ios_simulator_logs_predicate_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/keep_key_chains_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/keychains_exclude_patterns_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/permissions_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/reduce_motion_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/reset_on_session_start_only_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/scale_factor_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/shutdown_other_simulators_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/simulator_devices_set_path_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/simulator_pasteboard_automatic_sync_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/simulator_startup_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/simulator_trace_pointer_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/simulator/simulator_window_center_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/allow_provisioning_device_regitration_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/auto_accept_alerts_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/auto_disimiss_alerts_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/derived_data_path_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/disable_automatic_screenshots_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/force_app_launch_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/keychain_password_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/keychain_path_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/max_typing_frequency_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/mjpeg_server_port_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/prebuilt_wda_path_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/process_arguments_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/result_bundle_path_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/screenshot_quality_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/should_terminate_app_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/should_use_singleton_test_manager_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/show_xcode_log_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/simple_is_visible_check_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/updated_wda_bundle_id_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/use_native_caching_strategy_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/use_new_wda_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/use_prebuilt_wda_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/use_preinstalled_wda_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/use_simple_build_test_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/use_xctestrun_file_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/wait_for_idle_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/wait_for_quiescence_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/wda_base_url_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/wda_connection_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/wda_eventloop_idle_delay_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/wda_launch_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/wda_local_port_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/wda_startup_retries_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/wda_startup_retry_interval_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/web_driver_agent_url_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/xcode_org_id_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/wda/xcode_signing_id_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/absolute_web_locations_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/additional_webview_bundle_ids_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/enable_async_execute_from_https_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/full_context_list_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/include_safari_in_webviews_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/native_web_tap_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/safari_garbage_collect_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/safari_ignore_fraud_warning_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/safari_ignore_web_hostnames_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/safari_initial_url_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/safari_log_all_communication_hex_dump_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/safari_log_all_communication_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/safari_open_links_in_background_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/safari_socket_chunk_size_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/safari_web_inspector_max_frame_length_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/webkit_response_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/webview_connect_retries_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/app_path_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/arguments_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/base.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/bootstrap_root_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/environment_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/server_startup_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/show_server_logs_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/skip_app_kill_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/mac/mac2/web_driver_agent_mac_url_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/windows/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/windows/windows/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/windows/windows/app_arguments_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/windows/windows/app_top_level_window_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/windows/windows/app_working_dir_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/windows/windows/base.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/windows/windows/create_session_timeout_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/windows/windows/expreimental_web_driver_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/windows/windows/wait_for_app_launch_option.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/protocols/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/protocols/webdriver/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/protocols/webdriver/can_execute_commands.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/protocols/webdriver/can_execute_scripts.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/protocols/webdriver/can_find_elements.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/py.typed +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/version.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/appium_connection.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/applicationstate.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/client_config.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/clipboard_content_type.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/command_method.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/common/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/common/appiumby.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/connectiontype.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/errorhandler.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/action_helpers.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/activities.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/common.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/display.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/gsm.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/nativekey.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/network.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/performance.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/power.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/sms.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/android/system_bars.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/applications.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/clipboard.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/context.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/device_time.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/execute_driver.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/execute_mobile_command.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/flutter_integration/__init__.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/flutter_integration/flutter_commands.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/flutter_integration/flutter_finder.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/flutter_integration/scroll_directions.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/hw_actions.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/keyboard.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/location.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/logs.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/remote_fs.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/session.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/settings.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/locator_converter.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/mobilecommand.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/switch_to.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/webdriver.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/webelement.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/Makefile +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/README.md +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/conf.py +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/generate.sh +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/index.rst +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/make.bat +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/webdriver.common.rst +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/webdriver.extensions.android.rst +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/webdriver.extensions.flutter_integration.rst +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/webdriver.extensions.rst +0 -0
- {appium_python_client-6.1.0 → appium_python_client-6.1.2}/docs/webdriver.rst +0 -0
{appium_python_client-6.1.0 → appium_python_client-6.1.2}/.github/workflows/functional-test.yml
RENAMED
|
@@ -83,7 +83,7 @@ jobs:
|
|
|
83
83
|
python-version: 3.14
|
|
84
84
|
|
|
85
85
|
- name: Set up uv
|
|
86
|
-
uses: astral-sh/setup-uv@v10.3.
|
|
86
|
+
uses: astral-sh/setup-uv@v10.3.3
|
|
87
87
|
with:
|
|
88
88
|
enable-cache: true
|
|
89
89
|
python-version: '3.14'
|
|
@@ -190,7 +190,7 @@ jobs:
|
|
|
190
190
|
python-version: 3.14
|
|
191
191
|
|
|
192
192
|
- name: Set up uv
|
|
193
|
-
uses: astral-sh/setup-uv@v10.3.
|
|
193
|
+
uses: astral-sh/setup-uv@v10.3.3
|
|
194
194
|
with:
|
|
195
195
|
enable-cache: true
|
|
196
196
|
python-version: '3.14'
|
|
@@ -306,7 +306,7 @@ jobs:
|
|
|
306
306
|
log_file: appium-${{ matrix.e2e-tests }}.log
|
|
307
307
|
|
|
308
308
|
- name: Set up uv
|
|
309
|
-
uses: astral-sh/setup-uv@v10.3.
|
|
309
|
+
uses: astral-sh/setup-uv@v10.3.3
|
|
310
310
|
with:
|
|
311
311
|
enable-cache: true
|
|
312
312
|
python-version: '3.14'
|
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
with:
|
|
26
26
|
python-version: '3.14'
|
|
27
27
|
- name: Set up uv
|
|
28
|
-
uses: astral-sh/setup-uv@v10.3.
|
|
28
|
+
uses: astral-sh/setup-uv@v10.3.3
|
|
29
29
|
with:
|
|
30
30
|
enable-cache: true
|
|
31
31
|
python-version: '3.14'
|
|
@@ -47,7 +47,7 @@ jobs:
|
|
|
47
47
|
with:
|
|
48
48
|
python-version: ${{ matrix.python-version }}
|
|
49
49
|
- name: Set up uv
|
|
50
|
-
uses: astral-sh/setup-uv@v10.3.
|
|
50
|
+
uses: astral-sh/setup-uv@v10.3.3
|
|
51
51
|
with:
|
|
52
52
|
enable-cache: true
|
|
53
53
|
python-version: ${{ matrix.python-version }}
|
|
@@ -2,6 +2,43 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v6.1.2 (2026-11-01)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Correct return types of image comparison and get_events
|
|
10
|
+
([#1347](https://github.com/appium/python-client/pull/1347),
|
|
11
|
+
[`16fc1f3`](https://github.com/appium/python-client/commit/16fc1f3807e9c05b55549585de6f3d225c72fba6))
|
|
12
|
+
|
|
13
|
+
- Correct screen recording return types and documented options
|
|
14
|
+
([#1346](https://github.com/appium/python-client/pull/1346),
|
|
15
|
+
[`b92ec44`](https://github.com/appium/python-client/commit/b92ec444ab68f0588edff3608e5bf7d4d4251073))
|
|
16
|
+
|
|
17
|
+
### Continuous Integration
|
|
18
|
+
|
|
19
|
+
- **deps**: Bump astral-sh/setup-uv from 10.3.1 to 10.3.3
|
|
20
|
+
([#1348](https://github.com/appium/python-client/pull/1348),
|
|
21
|
+
[`f7143a7`](https://github.com/appium/python-client/commit/f7143a75fa13a6edb544f486c9572459f4b08ace))
|
|
22
|
+
|
|
23
|
+
### Refactoring
|
|
24
|
+
|
|
25
|
+
- Consolidate the process end handling ([#1349](https://github.com/appium/python-client/pull/1349),
|
|
26
|
+
[`6abcf22`](https://github.com/appium/python-client/commit/6abcf22581928377bdc43aab083ddd6667564923))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## v6.1.1 (2026-10-31)
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
- Keep the server's error output when it ignores terminate
|
|
34
|
+
([#1342](https://github.com/appium/python-client/pull/1342),
|
|
35
|
+
[`4442366`](https://github.com/appium/python-client/commit/4442366d3bd5b82a063d38836054070c3720ccab))
|
|
36
|
+
|
|
37
|
+
- Prevent AppiumService.start from hanging when the server fails to start
|
|
38
|
+
([#1342](https://github.com/appium/python-client/pull/1342),
|
|
39
|
+
[`4442366`](https://github.com/appium/python-client/commit/4442366d3bd5b82a063d38836054070c3720ccab))
|
|
40
|
+
|
|
41
|
+
|
|
5
42
|
## v6.1.0 (2026-10-31)
|
|
6
43
|
|
|
7
44
|
### Features
|
{appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/appium_service.py
RENAMED
|
@@ -27,6 +27,7 @@ from selenium.webdriver.remote.remote_connection import urllib3
|
|
|
27
27
|
DEFAULT_HOST = '127.0.0.1'
|
|
28
28
|
DEFAULT_PORT = 4723
|
|
29
29
|
STARTUP_TIMEOUT_MS = 60000
|
|
30
|
+
STOP_TIMEOUT_SEC = 5.5
|
|
30
31
|
STATE_CHECK_INTERVAL_MS = 500
|
|
31
32
|
MAIN_SCRIPT_PATH = 'appium/build/lib/main.js'
|
|
32
33
|
STATUS_URL = '/status'
|
|
@@ -124,15 +125,16 @@ class AppiumService:
|
|
|
124
125
|
error_msg = startup_failure_msg
|
|
125
126
|
if error_msg is not None:
|
|
126
127
|
if stderr == sp.PIPE and self._process.stderr is not None:
|
|
127
|
-
#
|
|
128
|
-
|
|
128
|
+
# The server might still be running, for example if it does not listen on the expected URL.
|
|
129
|
+
# Reading its stderr before the process exits would block forever, so terminate it first.
|
|
130
|
+
err_output = self._terminate_process(STOP_TIMEOUT_SEC)
|
|
129
131
|
if err_output:
|
|
130
132
|
error_msg += f'\nOriginal error: {str(err_output)}'
|
|
131
133
|
self.stop()
|
|
132
134
|
raise AppiumServiceError(error_msg)
|
|
133
135
|
return self._process
|
|
134
136
|
|
|
135
|
-
def stop(self, timeout: float =
|
|
137
|
+
def stop(self, timeout: float = STOP_TIMEOUT_SEC) -> bool:
|
|
136
138
|
"""Stops Appium service if it is running.
|
|
137
139
|
|
|
138
140
|
The call will be ignored if the service is not running
|
|
@@ -144,21 +146,37 @@ class AppiumService:
|
|
|
144
146
|
Returns:
|
|
145
147
|
`True` if the service was running before being stopped
|
|
146
148
|
"""
|
|
147
|
-
was_running =
|
|
148
|
-
if
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
self._process
|
|
149
|
+
was_running = self.is_running
|
|
150
|
+
if was_running:
|
|
151
|
+
self._terminate_process(timeout)
|
|
152
|
+
else:
|
|
153
|
+
self._process = None
|
|
154
|
+
self._cmd = None
|
|
155
|
+
return was_running
|
|
156
|
+
|
|
157
|
+
def _terminate_process(self, timeout: float) -> bytes | str | None:
|
|
158
|
+
"""Terminate the process and collect stderr within bounded waits."""
|
|
159
|
+
process = self._process
|
|
160
|
+
if process is None:
|
|
161
|
+
return None
|
|
162
|
+
try:
|
|
163
|
+
process.terminate()
|
|
152
164
|
try:
|
|
153
|
-
|
|
165
|
+
_, stderr = process.communicate(timeout=timeout)
|
|
154
166
|
except sp.SubprocessError:
|
|
155
167
|
if sys.platform == 'win32':
|
|
156
|
-
sp.call(['taskkill', '/f', '/pid', str(
|
|
168
|
+
sp.call(['taskkill', '/f', '/pid', str(process.pid)])
|
|
157
169
|
else:
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
170
|
+
process.kill()
|
|
171
|
+
try:
|
|
172
|
+
_, stderr = process.communicate(timeout=timeout)
|
|
173
|
+
except sp.TimeoutExpired as e:
|
|
174
|
+
# Another process might still hold stderr open. Keep the output read so far.
|
|
175
|
+
stderr = e.stderr
|
|
176
|
+
return stderr
|
|
177
|
+
finally:
|
|
178
|
+
self._process = None
|
|
179
|
+
self._cmd = None
|
|
162
180
|
|
|
163
181
|
@property
|
|
164
182
|
def is_running(self) -> bool:
|
|
@@ -51,7 +51,7 @@ class ImagesComparison(CanExecuteCommands):
|
|
|
51
51
|
Returns:
|
|
52
52
|
The dictionary containing the following entries:
|
|
53
53
|
|
|
54
|
-
visualization (
|
|
54
|
+
visualization (str): base64-encoded content of PNG visualization of the current comparison
|
|
55
55
|
operation. This entry is only present if `visualize` option is enabled
|
|
56
56
|
count (int): The count of matched edges on both images.
|
|
57
57
|
The more matching edges there are no both images the more similar they are.
|
|
@@ -59,11 +59,11 @@ class ImagesComparison(CanExecuteCommands):
|
|
|
59
59
|
It is equal to `count` if `goodMatchesFactor` does not limit the matches,
|
|
60
60
|
otherwise it contains the total count of matches before `goodMatchesFactor` is
|
|
61
61
|
applied.
|
|
62
|
-
points1 (
|
|
62
|
+
points1 (list): The array of matching points on the first image. Each point is a dictionary
|
|
63
63
|
with 'x' and 'y' keys
|
|
64
64
|
rect1 (dict): The bounding rect for the `points1` array or a zero rect if not enough matching points
|
|
65
65
|
were found. The rect is represented by a dictionary with 'x', 'y', 'width' and 'height' keys
|
|
66
|
-
points2 (
|
|
66
|
+
points2 (list): The array of matching points on the second image. Each point is a dictionary
|
|
67
67
|
with 'x' and 'y' keys
|
|
68
68
|
rect2 (dict): The bounding rect for the `points2` array or a zero rect if not enough matching points
|
|
69
69
|
were found. The rect is represented by a dictionary with 'x', 'y', 'width' and 'height' keys
|
|
@@ -78,7 +78,7 @@ class ImagesComparison(CanExecuteCommands):
|
|
|
78
78
|
|
|
79
79
|
def find_image_occurrence(
|
|
80
80
|
self, base64_full_image: Base64Payload, base64_partial_image: Base64Payload, **opts: Any
|
|
81
|
-
) -> dict[str,
|
|
81
|
+
) -> dict[str, Any] | list[dict[str, Any]]:
|
|
82
82
|
"""Performs images matching by template to find possible occurrence of the partial image
|
|
83
83
|
in the full image.
|
|
84
84
|
|
|
@@ -94,13 +94,17 @@ class ImagesComparison(CanExecuteCommands):
|
|
|
94
94
|
Keyword Args:
|
|
95
95
|
visualize (bool): Set it to True in order to return the visualization of the matching operation.
|
|
96
96
|
False by default
|
|
97
|
+
multiple (bool): Set it to True in order to return all matches above the threshold
|
|
98
|
+
as a list. False by default
|
|
97
99
|
|
|
98
100
|
Returns:
|
|
99
|
-
The dictionary containing the following entries
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
The dictionary containing the following entries, or a list of such dictionaries
|
|
102
|
+
(one per match) if `multiple` is enabled:
|
|
103
|
+
visualization (str): base64-encoded content of PNG visualization of the current comparison
|
|
104
|
+
operation. This entry is only filled if `visualize` option is enabled
|
|
102
105
|
rect (dict): The region of the partial image occurrence on the full image.
|
|
103
106
|
The rect is represented by a dictionary with 'x', 'y', 'width' and 'height' keys
|
|
107
|
+
score (float): The similarity score of the match
|
|
104
108
|
"""
|
|
105
109
|
options = {
|
|
106
110
|
'mode': 'matchTemplate',
|
|
@@ -110,9 +114,7 @@ class ImagesComparison(CanExecuteCommands):
|
|
|
110
114
|
}
|
|
111
115
|
return self.execute(Command.COMPARE_IMAGES, options)['value']
|
|
112
116
|
|
|
113
|
-
def get_images_similarity(
|
|
114
|
-
self, base64_image1: Base64Payload, base64_image2: Base64Payload, **opts: Any
|
|
115
|
-
) -> dict[str, bytes | dict]:
|
|
117
|
+
def get_images_similarity(self, base64_image1: Base64Payload, base64_image2: Base64Payload, **opts: Any) -> dict[str, Any]:
|
|
116
118
|
"""Performs images matching to calculate the similarity score between them.
|
|
117
119
|
|
|
118
120
|
The flow there is similar to the one used in
|
|
@@ -124,12 +126,12 @@ class ImagesComparison(CanExecuteCommands):
|
|
|
124
126
|
base64_image2: base64-encoded content of the second image
|
|
125
127
|
|
|
126
128
|
Keyword Args:
|
|
127
|
-
visualize (
|
|
129
|
+
visualize (bool): Set it to True in order to return the visualization of the matching operation.
|
|
128
130
|
False by default
|
|
129
131
|
|
|
130
132
|
Returns:
|
|
131
133
|
The dictionary containing the following entries:
|
|
132
|
-
visualization (
|
|
134
|
+
visualization (str): base64-encoded content of PNG visualization of the current comparison
|
|
133
135
|
operation. This entry is only present if `visualize` option is enabled
|
|
134
136
|
score (float): The similarity score as a float number in range [0.0, 1.0].
|
|
135
137
|
1.0 is the highest score (means both images are totally equal).
|
{appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/webdriver/extensions/log_event.py
RENAMED
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
from typing import Any
|
|
17
|
+
|
|
16
18
|
from typing_extensions import Self
|
|
17
19
|
|
|
18
20
|
from appium.protocols.webdriver.can_execute_commands import CanExecuteCommands
|
|
@@ -21,7 +23,7 @@ from ..mobilecommand import MobileCommand as Command
|
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
class LogEvent(CanExecuteCommands):
|
|
24
|
-
def get_events(self, type: list[str] | None = None) -> dict[str,
|
|
26
|
+
def get_events(self, type: list[str] | None = None) -> dict[str, Any]:
|
|
25
27
|
"""Retrieves events information from the current session
|
|
26
28
|
(Since Appium 1.16.0)
|
|
27
29
|
|
|
@@ -33,11 +35,13 @@ class LogEvent(CanExecuteCommands):
|
|
|
33
35
|
| events = driver.get_events(['appium:funEvent'])
|
|
34
36
|
|
|
35
37
|
Returns:
|
|
36
|
-
`dict`: A dictionary of events timing information
|
|
38
|
+
`dict`: A dictionary of events timing information. Every value is a list.
|
|
37
39
|
| commands: (`list` of `dict`) List of dictionaries containing the following entries
|
|
38
40
|
| cmd: The command name that has been sent to the appium server
|
|
39
41
|
| startTime: Received time
|
|
40
42
|
| endTime: Response time
|
|
43
|
+
| Each other key is an event name, such as 'appium:funEvent', and its value is
|
|
44
|
+
| the `list` of timestamps (`int`, milliseconds) when that event happened
|
|
41
45
|
"""
|
|
42
46
|
data = {}
|
|
43
47
|
if type is not None:
|
|
@@ -20,7 +20,7 @@ from ..mobilecommand import MobileCommand as Command
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
class ScreenRecord(CanExecuteCommands):
|
|
23
|
-
def start_recording_screen(self, **options: Any) ->
|
|
23
|
+
def start_recording_screen(self, **options: Any) -> str | None:
|
|
24
24
|
"""Start asynchronous screen recording process.
|
|
25
25
|
|
|
26
26
|
+--------------+-----+---------+-----+-------+
|
|
@@ -50,7 +50,9 @@ class ScreenRecord(CanExecuteCommands):
|
|
|
50
50
|
+--------------+-----+---------+-----+-------+
|
|
51
51
|
| videoFps | O | | | |
|
|
52
52
|
+--------------+-----+---------+-----+-------+
|
|
53
|
-
|
|
|
53
|
+
| videoFilters | O | | | |
|
|
54
|
+
+--------------+-----+---------+-----+-------+
|
|
55
|
+
| videoFilter | | | O | O |
|
|
54
56
|
+--------------+-----+---------+-----+-------+
|
|
55
57
|
| videoScale | O | | | |
|
|
56
58
|
+--------------+-----+---------+-----+-------+
|
|
@@ -93,13 +95,14 @@ class ScreenRecord(CanExecuteCommands):
|
|
|
93
95
|
Only has an effect if `remotePath` is set.
|
|
94
96
|
timeLimit (int): The actual time limit of the recorded video in seconds.
|
|
95
97
|
The default value for both iOS and Android is 180 seconds (3 minutes).
|
|
96
|
-
The default value for macOS is 600 seconds (10 minutes).
|
|
97
|
-
The maximum value for Android is
|
|
98
|
-
The maximum value for iOS is
|
|
99
|
-
|
|
100
|
-
forcedRestart (bool): Whether to ignore the result of previous capture and start a new recording
|
|
98
|
+
The default value for Windows and macOS is 600 seconds (10 minutes).
|
|
99
|
+
The maximum value for Android is 1800 seconds (30 minutes).
|
|
100
|
+
The maximum value for iOS is 4200 seconds (70 minutes).
|
|
101
|
+
forceRestart (bool): Whether to ignore the result of previous capture and start a new recording
|
|
101
102
|
immediately (`True` value). By default (`False`) the endpoint will try to catch and
|
|
102
103
|
return the result of the previous capture if it's still available.
|
|
104
|
+
On Windows and macOS the default is `True`, and `False` makes the call do nothing
|
|
105
|
+
while a recording is already running.
|
|
103
106
|
fileFieldName (str): [multipart/form-data requests] The name of the form field
|
|
104
107
|
containing the binary payload. "file" by default. (Since Appium 1.18.0)
|
|
105
108
|
formFields (dict): [multipart/form-data requests] Additional form fields mapping. If any entry has
|
|
@@ -113,7 +116,7 @@ class ScreenRecord(CanExecuteCommands):
|
|
|
113
116
|
'mjpeg' by default. (Since Appium 1.10.0)
|
|
114
117
|
videoFps (int): [iOS] The Frames Per Second rate of the recorded video. Change this value if the
|
|
115
118
|
resulting video is too slow or too fast. Defaults to 10. This can decrease the resulting file size.
|
|
116
|
-
videoFilters (str): [iOS
|
|
119
|
+
videoFilters (str): [iOS] The FFMPEG video filters to apply. These filters allow to scale,
|
|
117
120
|
flip, rotate and do many other useful transformations on the source video stream. The format of the
|
|
118
121
|
property must comply with https://ffmpeg.org/ffmpeg-filters.html. (Since Appium 1.15)
|
|
119
122
|
videoScale (str): [iOS] The scaling value to apply. Read https://trac.ffmpeg.org/wiki/Scaling for
|
|
@@ -129,7 +132,7 @@ class ScreenRecord(CanExecuteCommands):
|
|
|
129
132
|
bitRate (int): [Android] The video bit rate for the video, in bits per second.
|
|
130
133
|
The default value is 4000000 (4 Mbit/s). You can increase the bit rate to improve video quality,
|
|
131
134
|
but doing so results in larger movie files.
|
|
132
|
-
bugReport (
|
|
135
|
+
bugReport (bool): [Android] Makes the recorder to display an additional information on the video overlay,
|
|
133
136
|
such as a timestamp, that is helpful in videos captured to illustrate bugs.
|
|
134
137
|
This option is only supported since API level 27 (Android P).
|
|
135
138
|
|
|
@@ -137,8 +140,10 @@ class ScreenRecord(CanExecuteCommands):
|
|
|
137
140
|
Increasing fps value also increases the size of the resulting video file and the CPU usage.
|
|
138
141
|
captureCursor (bool): [Win, macOS] Whether to capture the mouse cursor while recording the screen.
|
|
139
142
|
Disabled by default.
|
|
140
|
-
|
|
143
|
+
captureClicks (bool): [Win, macOS] Whether to capture the click gestures while recording the screen.
|
|
141
144
|
Disabled by default.
|
|
145
|
+
videoFilter (str): [Win, macOS] The FFMPEG video filter to apply. The format is the same as
|
|
146
|
+
for `videoFilters`.
|
|
142
147
|
deviceId (int): [macOS] Screen device index to use for the recording.
|
|
143
148
|
The list of available devices could be retrieved using
|
|
144
149
|
`ffmpeg -f avfoundation -list_devices true -i` command.
|
|
@@ -155,16 +160,17 @@ class ScreenRecord(CanExecuteCommands):
|
|
|
155
160
|
driver.start_recording_screen()
|
|
156
161
|
|
|
157
162
|
Returns:
|
|
158
|
-
|
|
163
|
+
str | None: [iOS, Android] Base-64 encoded content of the recorded media
|
|
159
164
|
if `stop_recording_screen` isn't called after previous `start_recording_screen`.
|
|
160
165
|
Otherwise returns an empty string.
|
|
166
|
+
[Win, macOS] Always None.
|
|
161
167
|
"""
|
|
162
168
|
if 'password' in options:
|
|
163
169
|
options['pass'] = options['password']
|
|
164
170
|
del options['password']
|
|
165
171
|
return self.execute(Command.START_RECORDING_SCREEN, {'options': options})['value']
|
|
166
172
|
|
|
167
|
-
def stop_recording_screen(self, **options: Any) ->
|
|
173
|
+
def stop_recording_screen(self, **options: Any) -> str:
|
|
168
174
|
"""Gather the output from the previously started screen recording to a media file.
|
|
169
175
|
|
|
170
176
|
Keyword Args:
|
|
@@ -196,7 +202,7 @@ class ScreenRecord(CanExecuteCommands):
|
|
|
196
202
|
fd.write(base64.b64decode(payload))
|
|
197
203
|
|
|
198
204
|
Returns:
|
|
199
|
-
|
|
205
|
+
str: Base-64 encoded content of the recorded media file or an empty string
|
|
200
206
|
if the file has been successfully uploaded to a remote location
|
|
201
207
|
(depends on the actual `remotePath` value).
|
|
202
208
|
"""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/__init__.py
RENAMED
|
File without changes
|
{appium_python_client-6.1.0 → appium_python_client-6.1.2}/appium/options/android/common/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|