Appium-Python-Client 5.2.0__py3-none-any.whl
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/__init__.py +17 -0
- appium/common/__init__.py +17 -0
- appium/common/exceptions.py +26 -0
- appium/common/helper.py +42 -0
- appium/common/logger.py +28 -0
- appium/options/__init__.py +0 -0
- appium/options/android/__init__.py +2 -0
- appium/options/android/common/__init__.py +0 -0
- appium/options/android/common/adb/__init__.py +0 -0
- appium/options/android/common/adb/adb_exec_timeout_option.py +41 -0
- appium/options/android/common/adb/adb_port_option.py +38 -0
- appium/options/android/common/adb/allow_delay_adb_option.py +39 -0
- appium/options/android/common/adb/build_tools_version_option.py +42 -0
- appium/options/android/common/adb/clear_device_logs_on_start_option.py +40 -0
- appium/options/android/common/adb/ignore_hidden_api_policy_error_option.py +40 -0
- appium/options/android/common/adb/logcat_filter_specs_option.py +42 -0
- appium/options/android/common/adb/logcat_format_option.py +39 -0
- appium/options/android/common/adb/mock_location_app_option.py +42 -0
- appium/options/android/common/adb/remote_adb_host_option.py +39 -0
- appium/options/android/common/adb/skip_logcat_capture_option.py +40 -0
- appium/options/android/common/adb/suppress_kill_server_option.py +39 -0
- appium/options/android/common/app/__init__.py +0 -0
- appium/options/android/common/app/allow_test_packages_option.py +40 -0
- appium/options/android/common/app/android_install_timeout_option.py +43 -0
- appium/options/android/common/app/app_activity_option.py +39 -0
- appium/options/android/common/app/app_package_option.py +39 -0
- appium/options/android/common/app/app_wait_activity_option.py +40 -0
- appium/options/android/common/app/app_wait_duration_option.py +41 -0
- appium/options/android/common/app/app_wait_for_launch_option.py +41 -0
- appium/options/android/common/app/app_wait_package_option.py +40 -0
- appium/options/android/common/app/auto_grant_premissions_option.py +40 -0
- appium/options/android/common/app/enforce_app_install_option.py +40 -0
- appium/options/android/common/app/intent_action_option.py +40 -0
- appium/options/android/common/app/intent_category_option.py +40 -0
- appium/options/android/common/app/intent_flags_option.py +40 -0
- appium/options/android/common/app/optional_intent_arguments_option.py +40 -0
- appium/options/android/common/app/remote_apps_cache_limit_option.py +42 -0
- appium/options/android/common/app/uninstall_other_packages_option.py +39 -0
- appium/options/android/common/avd/__init__.py +0 -0
- appium/options/android/common/avd/avd_args_option.py +38 -0
- appium/options/android/common/avd/avd_env_option.py +38 -0
- appium/options/android/common/avd/avd_launch_timeout_option.py +41 -0
- appium/options/android/common/avd/avd_option.py +41 -0
- appium/options/android/common/avd/avd_ready_timeout_option.py +41 -0
- appium/options/android/common/avd/gps_enabled_option.py +39 -0
- appium/options/android/common/avd/network_speed_option.py +41 -0
- appium/options/android/common/context/__init__.py +0 -0
- appium/options/android/common/context/auto_webview_timeout_option.py +41 -0
- appium/options/android/common/context/chrome_logging_prefs_option.py +41 -0
- appium/options/android/common/context/chrome_options_option.py +40 -0
- appium/options/android/common/context/chromedriver_args_option.py +41 -0
- appium/options/android/common/context/chromedriver_chrome_mapping_file_option.py +43 -0
- appium/options/android/common/context/chromedriver_disable_build_check_option.py +41 -0
- appium/options/android/common/context/chromedriver_executable_dir_option.py +43 -0
- appium/options/android/common/context/chromedriver_executable_option.py +38 -0
- appium/options/android/common/context/chromedriver_port_option.py +39 -0
- appium/options/android/common/context/chromedriver_ports_option.py +39 -0
- appium/options/android/common/context/chromedriver_use_system_executable_option.py +40 -0
- appium/options/android/common/context/ensure_webviews_have_pages_option.py +40 -0
- appium/options/android/common/context/extract_chrome_android_package_from_context_name_option.py +40 -0
- appium/options/android/common/context/native_web_screenshot_option.py +40 -0
- appium/options/android/common/context/recreate_chrome_driver_sessions_option.py +41 -0
- appium/options/android/common/context/show_chromedriver_log_option.py +39 -0
- appium/options/android/common/context/webview_devtools_port_option.py +40 -0
- appium/options/android/common/localization/__init__.py +0 -0
- appium/options/android/common/localization/locale_script_option.py +40 -0
- appium/options/android/common/locking/__init__.py +0 -0
- appium/options/android/common/locking/skip_unlock_option.py +42 -0
- appium/options/android/common/locking/unlock_key_option.py +40 -0
- appium/options/android/common/locking/unlock_strategy_option.py +40 -0
- appium/options/android/common/locking/unlock_success_timeout_option.py +43 -0
- appium/options/android/common/locking/unlock_type_option.py +40 -0
- appium/options/android/common/mjpeg/__init__.py +0 -0
- appium/options/android/common/mjpeg/mjpeg_screenshot_url_option.py +40 -0
- appium/options/android/common/other/__init__.py +0 -0
- appium/options/android/common/other/disable_suppress_accessibility_service_option.py +40 -0
- appium/options/android/common/other/user_profile_option.py +42 -0
- appium/options/android/common/signing/__init__.py +0 -0
- appium/options/android/common/signing/key_alias_option.py +40 -0
- appium/options/android/common/signing/key_password_option.py +40 -0
- appium/options/android/common/signing/keystore_password_option.py +40 -0
- appium/options/android/common/signing/keystore_path_option.py +40 -0
- appium/options/android/common/signing/no_sign_option.py +42 -0
- appium/options/android/common/signing/use_keystore_option.py +42 -0
- appium/options/android/espresso/__init__.py +0 -0
- appium/options/android/espresso/activity_options_option.py +41 -0
- appium/options/android/espresso/app_locale_option.py +44 -0
- appium/options/android/espresso/base.py +221 -0
- appium/options/android/espresso/espresso_build_config_option.py +46 -0
- appium/options/android/espresso/espresso_server_launch_timeout_option.py +43 -0
- appium/options/android/espresso/force_espresso_rebuild_option.py +41 -0
- appium/options/android/espresso/intent_options_option.py +41 -0
- appium/options/android/espresso/show_gradle_log_option.py +39 -0
- appium/options/android/uiautomator2/__init__.py +0 -0
- appium/options/android/uiautomator2/base.py +221 -0
- appium/options/android/uiautomator2/disable_window_animation_option.py +40 -0
- appium/options/android/uiautomator2/mjpeg_server_port_option.py +41 -0
- appium/options/android/uiautomator2/skip_device_initialization_option.py +40 -0
- appium/options/android/uiautomator2/skip_server_installation_option.py +44 -0
- appium/options/android/uiautomator2/uiautomator2_server_install_timeout_option.py +44 -0
- appium/options/android/uiautomator2/uiautomator2_server_launch_timeout_option.py +44 -0
- appium/options/android/uiautomator2/uiautomator2_server_read_timeout_option.py +46 -0
- appium/options/common/__init__.py +1 -0
- appium/options/common/app_option.py +41 -0
- appium/options/common/auto_web_view_option.py +40 -0
- appium/options/common/automation_name_option.py +38 -0
- appium/options/common/base.py +125 -0
- appium/options/common/browser_name_option.py +38 -0
- appium/options/common/bundle_id_option.py +38 -0
- appium/options/common/clear_system_files_option.py +38 -0
- appium/options/common/device_name_option.py +38 -0
- appium/options/common/enable_performance_logging_option.py +38 -0
- appium/options/common/event_timings_option.py +40 -0
- appium/options/common/full_reset_option.py +38 -0
- appium/options/common/is_headless_option.py +39 -0
- appium/options/common/language_option.py +38 -0
- appium/options/common/locale_option.py +38 -0
- appium/options/common/new_command_timeout_option.py +41 -0
- appium/options/common/no_reset_option.py +38 -0
- appium/options/common/orientation_option.py +40 -0
- appium/options/common/other_apps_option.py +39 -0
- appium/options/common/platform_version_option.py +40 -0
- appium/options/common/postrun_option.py +39 -0
- appium/options/common/prerun_option.py +40 -0
- appium/options/common/print_page_source_on_find_failure_option.py +40 -0
- appium/options/common/skip_log_capture_option.py +38 -0
- appium/options/common/supports_capabilities.py +26 -0
- appium/options/common/system_host_option.py +38 -0
- appium/options/common/system_port_option.py +38 -0
- appium/options/common/udid_option.py +38 -0
- appium/options/flutter_integration/__init__.py +15 -0
- appium/options/flutter_integration/base.py +39 -0
- appium/options/flutter_integration/flutter_element_wait_timeout_option.py +50 -0
- appium/options/flutter_integration/flutter_enable_mock_camera_option.py +44 -0
- appium/options/flutter_integration/flutter_server_launch_timeout_option.py +51 -0
- appium/options/flutter_integration/flutter_system_port_option.py +45 -0
- appium/options/gecko/__init__.py +1 -0
- appium/options/gecko/android_storage_option.py +39 -0
- appium/options/gecko/base.py +51 -0
- appium/options/gecko/firefox_options_option.py +38 -0
- appium/options/gecko/marionette_port_option.py +43 -0
- appium/options/gecko/verbosity_option.py +40 -0
- appium/options/ios/__init__.py +2 -0
- appium/options/ios/safari/__init__.py +0 -0
- appium/options/ios/safari/automatic_inspection_option.py +41 -0
- appium/options/ios/safari/automatic_profiling_option.py +41 -0
- appium/options/ios/safari/base.py +51 -0
- appium/options/ios/safari/device_name_option.py +43 -0
- appium/options/ios/safari/device_type_option.py +41 -0
- appium/options/ios/safari/device_udid_option.py +43 -0
- appium/options/ios/safari/platform_build_version_option.py +41 -0
- appium/options/ios/safari/platform_version_option.py +41 -0
- appium/options/ios/safari/use_simulator_option.py +41 -0
- appium/options/ios/safari/webkit_webrtc_option.py +52 -0
- appium/options/ios/xcuitest/__init__.py +0 -0
- appium/options/ios/xcuitest/app/__init__.py +0 -0
- appium/options/ios/xcuitest/app/app_install_strategy_option.py +46 -0
- appium/options/ios/xcuitest/app/app_push_timeout_option.py +42 -0
- appium/options/ios/xcuitest/app/localizable_strings_dir_option.py +39 -0
- appium/options/ios/xcuitest/base.py +223 -0
- appium/options/ios/xcuitest/general/__init__.py +0 -0
- appium/options/ios/xcuitest/general/include_device_caps_to_session_info_option.py +41 -0
- appium/options/ios/xcuitest/general/reset_location_service_option.py +39 -0
- appium/options/ios/xcuitest/other/__init__.py +0 -0
- appium/options/ios/xcuitest/other/command_timeouts_option.py +57 -0
- appium/options/ios/xcuitest/other/launch_with_idb_option.py +42 -0
- appium/options/ios/xcuitest/other/show_ios_log_option.py +39 -0
- appium/options/ios/xcuitest/other/use_json_source_option.py +39 -0
- appium/options/ios/xcuitest/simulator/__init__.py +0 -0
- appium/options/ios/xcuitest/simulator/calendar_access_authorized_option.py +41 -0
- appium/options/ios/xcuitest/simulator/calendar_format_option.py +38 -0
- appium/options/ios/xcuitest/simulator/connect_hardware_keyboard_option.py +43 -0
- appium/options/ios/xcuitest/simulator/custom_ssl_cert_option.py +39 -0
- appium/options/ios/xcuitest/simulator/enforce_fresh_simulator_creation_option.py +39 -0
- appium/options/ios/xcuitest/simulator/force_simulator_software_keyboard_presence_option.py +45 -0
- appium/options/ios/xcuitest/simulator/ios_simulator_logs_predicate_option.py +38 -0
- appium/options/ios/xcuitest/simulator/keep_key_chains_option.py +39 -0
- appium/options/ios/xcuitest/simulator/keychains_exclude_patterns_option.py +44 -0
- appium/options/ios/xcuitest/simulator/permissions_option.py +50 -0
- appium/options/ios/xcuitest/simulator/reduce_motion_option.py +40 -0
- appium/options/ios/xcuitest/simulator/reset_on_session_start_only_option.py +41 -0
- appium/options/ios/xcuitest/simulator/scale_factor_option.py +44 -0
- appium/options/ios/xcuitest/simulator/shutdown_other_simulators_option.py +44 -0
- appium/options/ios/xcuitest/simulator/simulator_devices_set_path_option.py +41 -0
- appium/options/ios/xcuitest/simulator/simulator_pasteboard_automatic_sync_option.py +42 -0
- appium/options/ios/xcuitest/simulator/simulator_startup_timeout_option.py +46 -0
- appium/options/ios/xcuitest/simulator/simulator_trace_pointer_option.py +41 -0
- appium/options/ios/xcuitest/simulator/simulator_window_center_option.py +41 -0
- appium/options/ios/xcuitest/wda/__init__.py +0 -0
- appium/options/ios/xcuitest/wda/allow_provisioning_device_regitration_option.py +40 -0
- appium/options/ios/xcuitest/wda/auto_accept_alerts_option.py +39 -0
- appium/options/ios/xcuitest/wda/auto_disimiss_alerts_option.py +39 -0
- appium/options/ios/xcuitest/wda/derived_data_path_option.py +41 -0
- appium/options/ios/xcuitest/wda/disable_automatic_screenshots_option.py +40 -0
- appium/options/ios/xcuitest/wda/force_app_launch_option.py +42 -0
- appium/options/ios/xcuitest/wda/keychain_password_option.py +39 -0
- appium/options/ios/xcuitest/wda/keychain_path_option.py +39 -0
- appium/options/ios/xcuitest/wda/max_typing_frequency_option.py +40 -0
- appium/options/ios/xcuitest/wda/mjpeg_server_port_option.py +42 -0
- appium/options/ios/xcuitest/wda/process_arguments_option.py +42 -0
- appium/options/ios/xcuitest/wda/result_bundle_path_option.py +42 -0
- appium/options/ios/xcuitest/wda/screenshot_quality_option.py +42 -0
- appium/options/ios/xcuitest/wda/should_terminate_app_option.py +42 -0
- appium/options/ios/xcuitest/wda/should_use_singleton_test_manager_option.py +39 -0
- appium/options/ios/xcuitest/wda/show_xcode_log_option.py +40 -0
- appium/options/ios/xcuitest/wda/simple_is_visible_check_option.py +42 -0
- appium/options/ios/xcuitest/wda/updated_wda_bundle_id_option.py +39 -0
- appium/options/ios/xcuitest/wda/use_native_caching_strategy_option.py +41 -0
- appium/options/ios/xcuitest/wda/use_new_wda_option.py +51 -0
- appium/options/ios/xcuitest/wda/use_prebuilt_wda_option.py +39 -0
- appium/options/ios/xcuitest/wda/use_simple_build_test_option.py +40 -0
- appium/options/ios/xcuitest/wda/use_xctestrun_file_option.py +49 -0
- appium/options/ios/xcuitest/wda/wait_for_idle_timeout_option.py +45 -0
- appium/options/ios/xcuitest/wda/wait_for_quiescence_option.py +42 -0
- appium/options/ios/xcuitest/wda/wda_base_url_option.py +41 -0
- appium/options/ios/xcuitest/wda/wda_connection_timeout_option.py +43 -0
- appium/options/ios/xcuitest/wda/wda_eventloop_idle_delay_option.py +46 -0
- appium/options/ios/xcuitest/wda/wda_launch_timeout_option.py +41 -0
- appium/options/ios/xcuitest/wda/wda_local_port_option.py +41 -0
- appium/options/ios/xcuitest/wda/wda_startup_retries_option.py +39 -0
- appium/options/ios/xcuitest/wda/wda_startup_retry_interval_option.py +43 -0
- appium/options/ios/xcuitest/wda/web_driver_agent_url_option.py +39 -0
- appium/options/ios/xcuitest/wda/xcode_org_id_option.py +39 -0
- appium/options/ios/xcuitest/wda/xcode_signing_id_option.py +39 -0
- appium/options/ios/xcuitest/webview/__init__.py +0 -0
- appium/options/ios/xcuitest/webview/absolute_web_locations_option.py +42 -0
- appium/options/ios/xcuitest/webview/additional_webview_bundle_ids_option.py +40 -0
- appium/options/ios/xcuitest/webview/enable_async_execute_from_https_option.py +39 -0
- appium/options/ios/xcuitest/webview/full_context_list_option.py +42 -0
- appium/options/ios/xcuitest/webview/include_safari_in_webviews_option.py +41 -0
- appium/options/ios/xcuitest/webview/native_web_tap_option.py +40 -0
- appium/options/ios/xcuitest/webview/safari_garbage_collect_option.py +39 -0
- appium/options/ios/xcuitest/webview/safari_ignore_fraud_warning_option.py +39 -0
- appium/options/ios/xcuitest/webview/safari_ignore_web_hostnames_option.py +42 -0
- appium/options/ios/xcuitest/webview/safari_initial_url_option.py +38 -0
- appium/options/ios/xcuitest/webview/safari_log_all_communication_hex_dump_option.py +43 -0
- appium/options/ios/xcuitest/webview/safari_log_all_communication_option.py +40 -0
- appium/options/ios/xcuitest/webview/safari_open_links_in_background_option.py +39 -0
- appium/options/ios/xcuitest/webview/safari_socket_chunk_size_option.py +41 -0
- appium/options/ios/xcuitest/webview/safari_web_inspector_max_frame_length_option.py +41 -0
- appium/options/ios/xcuitest/webview/webkit_response_timeout_option.py +43 -0
- appium/options/ios/xcuitest/webview/webview_connect_retries_option.py +40 -0
- appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py +43 -0
- appium/options/mac/__init__.py +1 -0
- appium/options/mac/mac2/__init__.py +0 -0
- appium/options/mac/mac2/app_path_option.py +39 -0
- appium/options/mac/mac2/arguments_option.py +39 -0
- appium/options/mac/mac2/base.py +113 -0
- appium/options/mac/mac2/bootstrap_root_option.py +41 -0
- appium/options/mac/mac2/environment_option.py +41 -0
- appium/options/mac/mac2/server_startup_timeout_option.py +44 -0
- appium/options/mac/mac2/show_server_logs_option.py +39 -0
- appium/options/mac/mac2/skip_app_kill_option.py +40 -0
- appium/options/mac/mac2/web_driver_agent_mac_url_option.py +39 -0
- appium/options/windows/__init__.py +1 -0
- appium/options/windows/windows/__init__.py +0 -0
- appium/options/windows/windows/app_arguments_option.py +40 -0
- appium/options/windows/windows/app_top_level_window_option.py +40 -0
- appium/options/windows/windows/app_working_dir_option.py +40 -0
- appium/options/windows/windows/base.py +97 -0
- appium/options/windows/windows/create_session_timeout_option.py +45 -0
- appium/options/windows/windows/expreimental_web_driver_option.py +39 -0
- appium/options/windows/windows/wait_for_app_launch_option.py +43 -0
- appium/protocols/__init__.py +13 -0
- appium/protocols/webdriver/__init__.py +13 -0
- appium/protocols/webdriver/can_execute_commands.py +23 -0
- appium/protocols/webdriver/can_execute_scripts.py +27 -0
- appium/protocols/webdriver/can_find_elements.py +32 -0
- appium/protocols/webdriver/can_remember_extension_presence.py +23 -0
- appium/py.typed +0 -0
- appium/version.py +22 -0
- appium/webdriver/__init__.py +20 -0
- appium/webdriver/appium_connection.py +65 -0
- appium/webdriver/appium_service.py +330 -0
- appium/webdriver/applicationstate.py +21 -0
- appium/webdriver/client_config.py +38 -0
- appium/webdriver/clipboard_content_type.py +19 -0
- appium/webdriver/command_method.py +27 -0
- appium/webdriver/common/__init__.py +17 -0
- appium/webdriver/common/appiumby.py +54 -0
- appium/webdriver/connectiontype.py +42 -0
- appium/webdriver/errorhandler.py +125 -0
- appium/webdriver/extensions/__init__.py +13 -0
- appium/webdriver/extensions/action_helpers.py +188 -0
- appium/webdriver/extensions/android/__init__.py +0 -0
- appium/webdriver/extensions/android/activities.py +65 -0
- appium/webdriver/extensions/android/common.py +59 -0
- appium/webdriver/extensions/android/display.py +48 -0
- appium/webdriver/extensions/android/gsm.py +147 -0
- appium/webdriver/extensions/android/nativekey.py +1119 -0
- appium/webdriver/extensions/android/network.py +175 -0
- appium/webdriver/extensions/android/performance.py +85 -0
- appium/webdriver/extensions/android/power.py +80 -0
- appium/webdriver/extensions/android/sms.py +50 -0
- appium/webdriver/extensions/android/system_bars.py +58 -0
- appium/webdriver/extensions/applications.py +274 -0
- appium/webdriver/extensions/clipboard.py +107 -0
- appium/webdriver/extensions/context.py +63 -0
- appium/webdriver/extensions/device_time.py +75 -0
- appium/webdriver/extensions/execute_driver.py +60 -0
- appium/webdriver/extensions/execute_mobile_command.py +62 -0
- appium/webdriver/extensions/flutter_integration/__init__.py +13 -0
- appium/webdriver/extensions/flutter_integration/flutter_commands.py +296 -0
- appium/webdriver/extensions/flutter_integration/flutter_finder.py +55 -0
- appium/webdriver/extensions/flutter_integration/scroll_directions.py +6 -0
- appium/webdriver/extensions/hw_actions.py +149 -0
- appium/webdriver/extensions/images_comparison.py +132 -0
- appium/webdriver/extensions/keyboard.py +168 -0
- appium/webdriver/extensions/location.py +98 -0
- appium/webdriver/extensions/log_event.py +68 -0
- appium/webdriver/extensions/logs.py +53 -0
- appium/webdriver/extensions/remote_fs.py +110 -0
- appium/webdriver/extensions/screen_record.py +207 -0
- appium/webdriver/extensions/session.py +41 -0
- appium/webdriver/extensions/settings.py +49 -0
- appium/webdriver/locator_converter.py +29 -0
- appium/webdriver/mobilecommand.py +104 -0
- appium/webdriver/switch_to.py +35 -0
- appium/webdriver/webdriver.py +495 -0
- appium/webdriver/webelement.py +130 -0
- appium_python_client-5.2.0.dist-info/METADATA +573 -0
- appium_python_client-5.2.0.dist-info/RECORD +324 -0
- appium_python_client-5.2.0.dist-info/WHEEL +4 -0
- appium_python_client-5.2.0.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
PLATFORM_BUILD_VERSION = 'safari:platformBuildVersion'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class PlatformBuildVersionOption(SupportsCapabilities):
|
|
26
|
+
@property
|
|
27
|
+
def platform_build_version(self) -> Optional[str]:
|
|
28
|
+
"""
|
|
29
|
+
String representing the platform build version.
|
|
30
|
+
"""
|
|
31
|
+
return self.get_capability(PLATFORM_BUILD_VERSION)
|
|
32
|
+
|
|
33
|
+
@platform_build_version.setter
|
|
34
|
+
def platform_build_version(self, value: str) -> None:
|
|
35
|
+
"""
|
|
36
|
+
safaridriver will only create a session using hosts whose OS build
|
|
37
|
+
version matches the value of safari:platformBuildVersion. Example
|
|
38
|
+
of a macOS build version is '18E193'. On macOS, the OS build version
|
|
39
|
+
can be determined by running the sw_vers(1) utility.
|
|
40
|
+
"""
|
|
41
|
+
self.set_capability(PLATFORM_BUILD_VERSION, value)
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
PLATFORM_VERSION = 'safari:platformVersion'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class PlatformVersionOption(SupportsCapabilities):
|
|
26
|
+
@property
|
|
27
|
+
def platform_version(self) -> Optional[str]:
|
|
28
|
+
"""
|
|
29
|
+
String representing the platform version.
|
|
30
|
+
"""
|
|
31
|
+
return self.get_capability(PLATFORM_VERSION)
|
|
32
|
+
|
|
33
|
+
@platform_version.setter
|
|
34
|
+
def platform_version(self, value: str) -> None:
|
|
35
|
+
"""
|
|
36
|
+
safaridriver will only create a session using hosts whose OS
|
|
37
|
+
version matches the value of safari:platformVersion. OS version
|
|
38
|
+
numbers are prefix-matched. For example, if the value of safari:platformVersion
|
|
39
|
+
is '12', this will allow hosts with an OS version of '12.0' or '12.1' but not '10.12'.
|
|
40
|
+
"""
|
|
41
|
+
self.set_capability(PLATFORM_VERSION, value)
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
USE_SIMULATOR = 'safari:useSimulator'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class UseSimulatorOption(SupportsCapabilities):
|
|
26
|
+
@property
|
|
27
|
+
def use_simulator(self) -> Optional[bool]:
|
|
28
|
+
"""
|
|
29
|
+
Whether to use iOS Simulator.
|
|
30
|
+
"""
|
|
31
|
+
return self.get_capability(USE_SIMULATOR)
|
|
32
|
+
|
|
33
|
+
@use_simulator.setter
|
|
34
|
+
def use_simulator(self, value: bool) -> None:
|
|
35
|
+
"""
|
|
36
|
+
If the value of safari:useSimulator is true, safaridriver will only use
|
|
37
|
+
iOS Simulator hosts. If the value of safari:useSimulator is false, safaridriver
|
|
38
|
+
will not use iOS Simulator hosts. NOTE: An Xcode installation is required
|
|
39
|
+
in order to run WebDriver tests on iOS Simulator hosts.
|
|
40
|
+
"""
|
|
41
|
+
self.set_capability(USE_SIMULATOR, value)
|
|
@@ -0,0 +1,52 @@
|
|
|
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 Any, Dict, Optional
|
|
19
|
+
|
|
20
|
+
from appium.options.common.supports_capabilities import SupportsCapabilities
|
|
21
|
+
|
|
22
|
+
WEBKIT_WEBRTC = 'webkit:WebRTC'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class WebkitWebrtcOption(SupportsCapabilities):
|
|
26
|
+
@property
|
|
27
|
+
def webkit_webrtc(self) -> Optional[Dict[str, Any]]:
|
|
28
|
+
"""
|
|
29
|
+
WebRTC policies.
|
|
30
|
+
"""
|
|
31
|
+
return self.get_capability(WEBKIT_WEBRTC)
|
|
32
|
+
|
|
33
|
+
@webkit_webrtc.setter
|
|
34
|
+
def webkit_webrtc(self, value: Dict[str, Any]) -> None:
|
|
35
|
+
"""
|
|
36
|
+
This option allows a test to temporarily change Safari's policies
|
|
37
|
+
for WebRTC and Media Capture.
|
|
38
|
+
The following dictionary values are supported:
|
|
39
|
+
- DisableInsecureMediaCapture: Boolean value.
|
|
40
|
+
Normally, Safari refuses to allow media capture over insecure connections.
|
|
41
|
+
This restriction is relaxed by default for WebDriver sessions for testing
|
|
42
|
+
purposes (for example, a test web server not configured for HTTPS). When
|
|
43
|
+
this capability is specified, Safari will revert to the normal behavior of
|
|
44
|
+
preventing media capture over insecure connections.
|
|
45
|
+
- DisableICECandidateFiltering: Boolean value.
|
|
46
|
+
To protect a user's privacy, Safari normally filters out WebRTC
|
|
47
|
+
ICE candidates that correspond to internal network addresses when
|
|
48
|
+
capture devices are not in use. This capability suppresses ICE candidate
|
|
49
|
+
filtering so that both internal and external network addresses are
|
|
50
|
+
always sent as ICE candidates.
|
|
51
|
+
"""
|
|
52
|
+
self.set_capability(WEBKIT_WEBRTC, value)
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
APP_INSTALL_STRATEGY = 'appInstallStrategy'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class AppInstallStrategyOption(SupportsCapabilities):
|
|
26
|
+
@property
|
|
27
|
+
def app_install_strategy(self) -> Optional[str]:
|
|
28
|
+
"""
|
|
29
|
+
App install strategy.
|
|
30
|
+
"""
|
|
31
|
+
return self.get_capability(APP_INSTALL_STRATEGY)
|
|
32
|
+
|
|
33
|
+
@app_install_strategy.setter
|
|
34
|
+
def app_install_strategy(self, value: str) -> None:
|
|
35
|
+
"""
|
|
36
|
+
Select application installation strategy for real devices. The following
|
|
37
|
+
strategies are supported:
|
|
38
|
+
* serial (default) - pushes app files to the device in a sequential order;
|
|
39
|
+
this is the least performant strategy, although the most reliable;
|
|
40
|
+
* parallel - pushes app files simultaneously; this is usually the
|
|
41
|
+
most performant strategy, but sometimes could not be very stable;
|
|
42
|
+
* ios-deploy - tells the driver to use a third-party tool ios-deploy to
|
|
43
|
+
install the app; obviously the tool must be installed separately
|
|
44
|
+
first and must be present in PATH before it could be used.
|
|
45
|
+
"""
|
|
46
|
+
self.set_capability(APP_INSTALL_STRATEGY, value)
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
APP_PUSH_TIMEOUT = 'appPushTimeout'
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class AppPushTimeoutOption(SupportsCapabilities):
|
|
27
|
+
@property
|
|
28
|
+
def app_push_timeout(self) -> Optional[timedelta]:
|
|
29
|
+
"""
|
|
30
|
+
Maximum timeout for application upload.
|
|
31
|
+
"""
|
|
32
|
+
value = self.get_capability(APP_PUSH_TIMEOUT)
|
|
33
|
+
return None if value is None else timedelta(milliseconds=value)
|
|
34
|
+
|
|
35
|
+
@app_push_timeout.setter
|
|
36
|
+
def app_push_timeout(self, value: Union[timedelta, int]) -> None:
|
|
37
|
+
"""
|
|
38
|
+
The timeout for application upload.
|
|
39
|
+
Works for real devices only.
|
|
40
|
+
The default value is 30000ms.
|
|
41
|
+
"""
|
|
42
|
+
self.set_capability(APP_PUSH_TIMEOUT, int(value.total_seconds() * 1000) if isinstance(value, timedelta) else value)
|
|
@@ -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 Optional
|
|
19
|
+
|
|
20
|
+
from appium.options.common.supports_capabilities import SupportsCapabilities
|
|
21
|
+
|
|
22
|
+
LOCALIZABLE_STRINGS_DIR = 'localizableStringsDir'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class LocalizableStringsDirOption(SupportsCapabilities):
|
|
26
|
+
@property
|
|
27
|
+
def localizable_strings_dir(self) -> Optional[str]:
|
|
28
|
+
"""
|
|
29
|
+
Resource folder name where the main locale strings are stored.
|
|
30
|
+
"""
|
|
31
|
+
return self.get_capability(LOCALIZABLE_STRINGS_DIR)
|
|
32
|
+
|
|
33
|
+
@localizable_strings_dir.setter
|
|
34
|
+
def localizable_strings_dir(self, value: str) -> None:
|
|
35
|
+
"""
|
|
36
|
+
Where to look for localizable strings in the application bundle.
|
|
37
|
+
Defaults to en.lproj.
|
|
38
|
+
"""
|
|
39
|
+
self.set_capability(LOCALIZABLE_STRINGS_DIR, value)
|
|
@@ -0,0 +1,223 @@
|
|
|
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.app_option import AppOption
|
|
21
|
+
from appium.options.common.auto_web_view_option import AutoWebViewOption
|
|
22
|
+
from appium.options.common.automation_name_option import AUTOMATION_NAME
|
|
23
|
+
from appium.options.common.base import PLATFORM_NAME, AppiumOptions
|
|
24
|
+
from appium.options.common.bundle_id_option import BundleIdOption
|
|
25
|
+
from appium.options.common.clear_system_files_option import ClearSystemFilesOption
|
|
26
|
+
from appium.options.common.device_name_option import DeviceNameOption
|
|
27
|
+
from appium.options.common.enable_performance_logging_option import EnablePerformanceLoggingOption
|
|
28
|
+
from appium.options.common.is_headless_option import IsHeadlessOption
|
|
29
|
+
from appium.options.common.language_option import LanguageOption
|
|
30
|
+
from appium.options.common.locale_option import LocaleOption
|
|
31
|
+
from appium.options.common.orientation_option import OrientationOption
|
|
32
|
+
from appium.options.common.other_apps_option import OtherAppsOption
|
|
33
|
+
from appium.options.common.platform_version_option import PlatformVersionOption
|
|
34
|
+
from appium.options.common.skip_log_capture_option import SkipLogCaptureOption
|
|
35
|
+
from appium.options.common.udid_option import UdidOption
|
|
36
|
+
|
|
37
|
+
from .app.app_install_strategy_option import AppInstallStrategyOption
|
|
38
|
+
from .app.app_push_timeout_option import AppPushTimeoutOption
|
|
39
|
+
from .app.localizable_strings_dir_option import LocalizableStringsDirOption
|
|
40
|
+
from .general.include_device_caps_to_session_info_option import IncludeDeviceCapsToSessionInfoOption
|
|
41
|
+
from .general.reset_location_service_option import ResetLocationServiceOption
|
|
42
|
+
from .other.command_timeouts_option import CommandTimeoutsOption
|
|
43
|
+
from .other.launch_with_idb_option import LaunchWithIdbOption
|
|
44
|
+
from .other.show_ios_log_option import ShowIosLogOption
|
|
45
|
+
from .other.use_json_source_option import UseJsonSourceOption
|
|
46
|
+
from .simulator.calendar_access_authorized_option import CalendarAccessAuthorizedOption
|
|
47
|
+
from .simulator.calendar_format_option import CalendarFormatOption
|
|
48
|
+
from .simulator.connect_hardware_keyboard_option import ConnectHardwareKeyboardOption
|
|
49
|
+
from .simulator.custom_ssl_cert_option import CustomSslCertOption
|
|
50
|
+
from .simulator.enforce_fresh_simulator_creation_option import EnforceFreshSimulatorCreationOption
|
|
51
|
+
from .simulator.force_simulator_software_keyboard_presence_option import ForceSimulatorSoftwareKeyboardPresenceOption
|
|
52
|
+
from .simulator.ios_simulator_logs_predicate_option import IosSimulatorLogsPredicateOption
|
|
53
|
+
from .simulator.keep_key_chains_option import KeepKeyChainsOption
|
|
54
|
+
from .simulator.keychains_exclude_patterns_option import KeychainsExcludePatternsOption
|
|
55
|
+
from .simulator.permissions_option import PermissionsOption
|
|
56
|
+
from .simulator.reduce_motion_option import ReduceMotionOption
|
|
57
|
+
from .simulator.reset_on_session_start_only_option import ResetOnSessionStartOnlyOption
|
|
58
|
+
from .simulator.scale_factor_option import ScaleFactorOption
|
|
59
|
+
from .simulator.shutdown_other_simulators_option import ShutdownOtherSimulatorsOption
|
|
60
|
+
from .simulator.simulator_devices_set_path_option import SimulatorDevicesSetPathOption
|
|
61
|
+
from .simulator.simulator_pasteboard_automatic_sync_option import SimulatorPasteboardAutomaticSyncOption
|
|
62
|
+
from .simulator.simulator_startup_timeout_option import SimulatorStartupTimeoutOption
|
|
63
|
+
from .simulator.simulator_trace_pointer_option import SimulatorTracePointerOption
|
|
64
|
+
from .simulator.simulator_window_center_option import SimulatorWindowCenterOption
|
|
65
|
+
from .wda.allow_provisioning_device_regitration_option import AllowProvisioningDeviceRegistrationOption
|
|
66
|
+
from .wda.auto_accept_alerts_option import AutoAcceptAlertsOption
|
|
67
|
+
from .wda.auto_disimiss_alerts_option import AutoDismissAlertsOption
|
|
68
|
+
from .wda.derived_data_path_option import DerivedDataPathOption
|
|
69
|
+
from .wda.disable_automatic_screenshots_option import DisableAutomaticScreenshotsOption
|
|
70
|
+
from .wda.force_app_launch_option import ForceAppLaunchOption
|
|
71
|
+
from .wda.keychain_password_option import KeychainPasswordOption
|
|
72
|
+
from .wda.keychain_path_option import KeychainPathOption
|
|
73
|
+
from .wda.max_typing_frequency_option import MaxTypingFrequencyOption
|
|
74
|
+
from .wda.mjpeg_server_port_option import MjpegServerPortOption
|
|
75
|
+
from .wda.process_arguments_option import ProcessArgumentsOption
|
|
76
|
+
from .wda.result_bundle_path_option import ResultBundlePathOption
|
|
77
|
+
from .wda.screenshot_quality_option import ScreenshotQualityOption
|
|
78
|
+
from .wda.should_terminate_app_option import ShouldTerminateAppOption
|
|
79
|
+
from .wda.should_use_singleton_test_manager_option import ShouldUseSingletonTestManagerOption
|
|
80
|
+
from .wda.show_xcode_log_option import ShowXcodeLogOption
|
|
81
|
+
from .wda.simple_is_visible_check_option import SimpleIsVisibleCheckOption
|
|
82
|
+
from .wda.updated_wda_bundle_id_option import UpdatedWdaBundleIdOption
|
|
83
|
+
from .wda.use_native_caching_strategy_option import UseNativeCachingStrategyOption
|
|
84
|
+
from .wda.use_new_wda_option import UseNewWdaOption
|
|
85
|
+
from .wda.use_prebuilt_wda_option import UsePrebuiltWdaOption
|
|
86
|
+
from .wda.use_simple_build_test_option import UseSimpleBuildTestOption
|
|
87
|
+
from .wda.use_xctestrun_file_option import UseXctestrunFileOption
|
|
88
|
+
from .wda.wait_for_idle_timeout_option import WaitForIdleTimeoutOption
|
|
89
|
+
from .wda.wait_for_quiescence_option import WaitForQuiescenceOption
|
|
90
|
+
from .wda.wda_base_url_option import WdaBaseUrlOption
|
|
91
|
+
from .wda.wda_connection_timeout_option import WdaConnectionTimeoutOption
|
|
92
|
+
from .wda.wda_eventloop_idle_delay_option import WdaEventloopIdleDelayOption
|
|
93
|
+
from .wda.wda_launch_timeout_option import WdaLaunchTimeoutOption
|
|
94
|
+
from .wda.wda_local_port_option import WdaLocalPortOption
|
|
95
|
+
from .wda.wda_startup_retries_option import WdaStartupRetriesOption
|
|
96
|
+
from .wda.wda_startup_retry_interval_option import WdaStartupRetryIntervalOption
|
|
97
|
+
from .wda.web_driver_agent_url_option import WebDriverAgentUrlOption
|
|
98
|
+
from .wda.xcode_org_id_option import XcodeOrgIdOption
|
|
99
|
+
from .wda.xcode_signing_id_option import XcodeSigningIdOption
|
|
100
|
+
from .webview.absolute_web_locations_option import AbsoluteWebLocationsOption
|
|
101
|
+
from .webview.additional_webview_bundle_ids_option import AdditionalWebviewBundleIdsOption
|
|
102
|
+
from .webview.enable_async_execute_from_https_option import EnableAsyncExecuteFromHttpsOption
|
|
103
|
+
from .webview.full_context_list_option import FullContextListOption
|
|
104
|
+
from .webview.include_safari_in_webviews_option import IncludeSafariInWebviewsOption
|
|
105
|
+
from .webview.native_web_tap_option import NativeWebTapOption
|
|
106
|
+
from .webview.safari_garbage_collect_option import SafariGarbageCollectOption
|
|
107
|
+
from .webview.safari_ignore_fraud_warning_option import SafariIgnoreFraudWarningOption
|
|
108
|
+
from .webview.safari_ignore_web_hostnames_option import SafariIgnoreWebHostnamesOption
|
|
109
|
+
from .webview.safari_initial_url_option import SafariInitialUrlOption
|
|
110
|
+
from .webview.safari_log_all_communication_hex_dump_option import SafariLogAllCommunicationHexDumpOption
|
|
111
|
+
from .webview.safari_log_all_communication_option import SafariLogAllCommunicationOption
|
|
112
|
+
from .webview.safari_open_links_in_background_option import SafariOpenLinksInBackgroundOption
|
|
113
|
+
from .webview.safari_socket_chunk_size_option import SafariSocketChunkSizeOption
|
|
114
|
+
from .webview.safari_web_inspector_max_frame_length_option import SafariWebInspectorMaxFrameLengthOption
|
|
115
|
+
from .webview.webkit_response_timeout_option import WebkitResponseTimeoutOption
|
|
116
|
+
from .webview.webview_connect_retries_option import WebviewConnectRetriesOption
|
|
117
|
+
from .webview.webview_connect_timeout_option import WebviewConnectTimeoutOption
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
class XCUITestOptions(
|
|
121
|
+
AppiumOptions,
|
|
122
|
+
AppOption,
|
|
123
|
+
BundleIdOption,
|
|
124
|
+
PlatformVersionOption,
|
|
125
|
+
ClearSystemFilesOption,
|
|
126
|
+
OrientationOption,
|
|
127
|
+
UdidOption,
|
|
128
|
+
LanguageOption,
|
|
129
|
+
LocaleOption,
|
|
130
|
+
IsHeadlessOption,
|
|
131
|
+
SkipLogCaptureOption,
|
|
132
|
+
AutoWebViewOption,
|
|
133
|
+
EnablePerformanceLoggingOption,
|
|
134
|
+
OtherAppsOption,
|
|
135
|
+
DeviceNameOption,
|
|
136
|
+
IncludeDeviceCapsToSessionInfoOption,
|
|
137
|
+
ResetLocationServiceOption,
|
|
138
|
+
AppInstallStrategyOption,
|
|
139
|
+
AppPushTimeoutOption,
|
|
140
|
+
LocalizableStringsDirOption,
|
|
141
|
+
CommandTimeoutsOption,
|
|
142
|
+
LaunchWithIdbOption,
|
|
143
|
+
ShowIosLogOption,
|
|
144
|
+
UseJsonSourceOption,
|
|
145
|
+
CalendarAccessAuthorizedOption,
|
|
146
|
+
CalendarFormatOption,
|
|
147
|
+
ConnectHardwareKeyboardOption,
|
|
148
|
+
CustomSslCertOption,
|
|
149
|
+
EnforceFreshSimulatorCreationOption,
|
|
150
|
+
ForceSimulatorSoftwareKeyboardPresenceOption,
|
|
151
|
+
IosSimulatorLogsPredicateOption,
|
|
152
|
+
KeepKeyChainsOption,
|
|
153
|
+
KeychainsExcludePatternsOption,
|
|
154
|
+
PermissionsOption,
|
|
155
|
+
ReduceMotionOption,
|
|
156
|
+
ResetOnSessionStartOnlyOption,
|
|
157
|
+
ScaleFactorOption,
|
|
158
|
+
ShutdownOtherSimulatorsOption,
|
|
159
|
+
SimulatorDevicesSetPathOption,
|
|
160
|
+
SimulatorPasteboardAutomaticSyncOption,
|
|
161
|
+
SimulatorStartupTimeoutOption,
|
|
162
|
+
SimulatorTracePointerOption,
|
|
163
|
+
SimulatorWindowCenterOption,
|
|
164
|
+
AllowProvisioningDeviceRegistrationOption,
|
|
165
|
+
AutoAcceptAlertsOption,
|
|
166
|
+
AutoDismissAlertsOption,
|
|
167
|
+
DerivedDataPathOption,
|
|
168
|
+
DisableAutomaticScreenshotsOption,
|
|
169
|
+
ForceAppLaunchOption,
|
|
170
|
+
KeychainPasswordOption,
|
|
171
|
+
KeychainPathOption,
|
|
172
|
+
MaxTypingFrequencyOption,
|
|
173
|
+
MjpegServerPortOption,
|
|
174
|
+
ProcessArgumentsOption,
|
|
175
|
+
ResultBundlePathOption,
|
|
176
|
+
ScreenshotQualityOption,
|
|
177
|
+
ShouldTerminateAppOption,
|
|
178
|
+
ShouldUseSingletonTestManagerOption,
|
|
179
|
+
ShowXcodeLogOption,
|
|
180
|
+
SimpleIsVisibleCheckOption,
|
|
181
|
+
UpdatedWdaBundleIdOption,
|
|
182
|
+
UseNativeCachingStrategyOption,
|
|
183
|
+
UseNewWdaOption,
|
|
184
|
+
UsePrebuiltWdaOption,
|
|
185
|
+
UseSimpleBuildTestOption,
|
|
186
|
+
UseXctestrunFileOption,
|
|
187
|
+
WaitForIdleTimeoutOption,
|
|
188
|
+
WaitForQuiescenceOption,
|
|
189
|
+
WdaBaseUrlOption,
|
|
190
|
+
WdaConnectionTimeoutOption,
|
|
191
|
+
WdaEventloopIdleDelayOption,
|
|
192
|
+
WdaLaunchTimeoutOption,
|
|
193
|
+
WdaLocalPortOption,
|
|
194
|
+
WdaStartupRetriesOption,
|
|
195
|
+
WdaStartupRetryIntervalOption,
|
|
196
|
+
WebDriverAgentUrlOption,
|
|
197
|
+
XcodeOrgIdOption,
|
|
198
|
+
XcodeSigningIdOption,
|
|
199
|
+
AbsoluteWebLocationsOption,
|
|
200
|
+
AdditionalWebviewBundleIdsOption,
|
|
201
|
+
EnableAsyncExecuteFromHttpsOption,
|
|
202
|
+
FullContextListOption,
|
|
203
|
+
IncludeSafariInWebviewsOption,
|
|
204
|
+
NativeWebTapOption,
|
|
205
|
+
SafariGarbageCollectOption,
|
|
206
|
+
SafariIgnoreFraudWarningOption,
|
|
207
|
+
SafariIgnoreWebHostnamesOption,
|
|
208
|
+
SafariInitialUrlOption,
|
|
209
|
+
SafariLogAllCommunicationHexDumpOption,
|
|
210
|
+
SafariLogAllCommunicationOption,
|
|
211
|
+
SafariOpenLinksInBackgroundOption,
|
|
212
|
+
SafariSocketChunkSizeOption,
|
|
213
|
+
SafariWebInspectorMaxFrameLengthOption,
|
|
214
|
+
WebkitResponseTimeoutOption,
|
|
215
|
+
WebviewConnectRetriesOption,
|
|
216
|
+
WebviewConnectTimeoutOption,
|
|
217
|
+
):
|
|
218
|
+
@property
|
|
219
|
+
def default_capabilities(self) -> Dict:
|
|
220
|
+
return {
|
|
221
|
+
AUTOMATION_NAME: 'XCUITest',
|
|
222
|
+
PLATFORM_NAME: 'iOS',
|
|
223
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
INCLUDE_DEVICE_CAPS_TO_SESSION_INFO = 'includeDeviceCapsToSessionInfo'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class IncludeDeviceCapsToSessionInfoOption(SupportsCapabilities):
|
|
26
|
+
@property
|
|
27
|
+
def include_device_caps_to_session_info(self) -> Optional[bool]:
|
|
28
|
+
"""
|
|
29
|
+
Whether to include screen information as the result of Get Session Capabilities.
|
|
30
|
+
"""
|
|
31
|
+
return self.get_capability(INCLUDE_DEVICE_CAPS_TO_SESSION_INFO)
|
|
32
|
+
|
|
33
|
+
@include_device_caps_to_session_info.setter
|
|
34
|
+
def include_device_caps_to_session_info(self, value: bool) -> None:
|
|
35
|
+
"""
|
|
36
|
+
Whether to include screen information as the result of Get Session Capabilities.
|
|
37
|
+
It includes pixelRatio, statBarHeight and viewportRect, but
|
|
38
|
+
it causes an extra API call to WDA which may increase the response time.
|
|
39
|
+
Defaults to true.
|
|
40
|
+
"""
|
|
41
|
+
self.set_capability(INCLUDE_DEVICE_CAPS_TO_SESSION_INFO, value)
|
|
@@ -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 Optional
|
|
19
|
+
|
|
20
|
+
from appium.options.common.supports_capabilities import SupportsCapabilities
|
|
21
|
+
|
|
22
|
+
RESET_LOCATION_SERVICE = 'resetLocationService'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ResetLocationServiceOption(SupportsCapabilities):
|
|
26
|
+
@property
|
|
27
|
+
def reset_location_service(self) -> Optional[bool]:
|
|
28
|
+
"""
|
|
29
|
+
Whether to reset the location service in the session deletion on real devices.
|
|
30
|
+
"""
|
|
31
|
+
return self.get_capability(RESET_LOCATION_SERVICE)
|
|
32
|
+
|
|
33
|
+
@reset_location_service.setter
|
|
34
|
+
def reset_location_service(self, value: bool) -> None:
|
|
35
|
+
"""
|
|
36
|
+
Whether reset the location service in the session deletion on real devices.
|
|
37
|
+
Defaults to false.
|
|
38
|
+
"""
|
|
39
|
+
self.set_capability(RESET_LOCATION_SERVICE, value)
|
|
File without changes
|