Appium-Python-Client 2.10.2__tar.gz → 2.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- Appium-Python-Client-2.11.0/Appium_Python_Client.egg-info/PKG-INFO +437 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/Appium_Python_Client.egg-info/SOURCES.txt +70 -1
- Appium-Python-Client-2.11.0/PKG-INFO +437 -0
- Appium-Python-Client-2.11.0/appium/version.py +1 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/appium_connection.py +5 -1
- Appium-Python-Client-2.11.0/docs/.DS_Store +0 -0
- Appium-Python-Client-2.11.0/docs/_build/doctrees/appium.common.doctree +0 -0
- Appium-Python-Client-2.11.0/docs/_build/doctrees/appium.doctree +0 -0
- Appium-Python-Client-2.11.0/docs/_build/doctrees/appium.webdriver.common.doctree +0 -0
- Appium-Python-Client-2.11.0/docs/_build/doctrees/appium.webdriver.doctree +0 -0
- Appium-Python-Client-2.11.0/docs/_build/doctrees/appium.webdriver.extensions.android.doctree +0 -0
- Appium-Python-Client-2.11.0/docs/_build/doctrees/appium.webdriver.extensions.doctree +0 -0
- Appium-Python-Client-2.11.0/docs/_build/doctrees/appium.webdriver.extensions.search_context.doctree +0 -0
- Appium-Python-Client-2.11.0/docs/_build/doctrees/environment.pickle +0 -0
- Appium-Python-Client-2.11.0/docs/_build/doctrees/index.doctree +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/.buildinfo +4 -0
- Appium-Python-Client-2.11.0/docs/_build/html/.nojekyll +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_sources/appium.common.rst.txt +37 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_sources/appium.rst.txt +30 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_sources/appium.webdriver.common.rst.txt +45 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_sources/appium.webdriver.extensions.android.rst.txt +93 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_sources/appium.webdriver.extensions.rst.txt +158 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_sources/appium.webdriver.extensions.search_context.rst.txt +61 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_sources/appium.webdriver.rst.txt +110 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_sources/index.rst.txt +21 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/basic.css +905 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/badge_only.css +1 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +2671 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/css/theme.css +4 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/doctools.js +323 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/documentation_options.js +12 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/file.png +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/jquery-3.5.1.js +10872 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/jquery.js +2 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/js/badge_only.js +1 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/js/html5shiv-printshiv.min.js +4 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/js/html5shiv.min.js +4 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/js/theme.js +1 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/language_data.js +297 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/minus.png +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/plus.png +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/pygments.css +74 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/searchtools.js +529 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/underscore-1.13.1.js +2042 -0
- Appium-Python-Client-2.11.0/docs/_build/html/_static/underscore.js +6 -0
- Appium-Python-Client-2.11.0/docs/_build/html/appium.common.html +175 -0
- Appium-Python-Client-2.11.0/docs/_build/html/appium.html +190 -0
- Appium-Python-Client-2.11.0/docs/_build/html/appium.webdriver.common.html +423 -0
- Appium-Python-Client-2.11.0/docs/_build/html/appium.webdriver.extensions.android.html +2311 -0
- Appium-Python-Client-2.11.0/docs/_build/html/appium.webdriver.extensions.html +1873 -0
- Appium-Python-Client-2.11.0/docs/_build/html/appium.webdriver.extensions.search_context.html +737 -0
- Appium-Python-Client-2.11.0/docs/_build/html/appium.webdriver.html +1388 -0
- Appium-Python-Client-2.11.0/docs/_build/html/genindex.html +2141 -0
- Appium-Python-Client-2.11.0/docs/_build/html/index.html +149 -0
- Appium-Python-Client-2.11.0/docs/_build/html/objects.inv +0 -0
- Appium-Python-Client-2.11.0/docs/_build/html/py-modindex.html +400 -0
- Appium-Python-Client-2.11.0/docs/_build/html/search.html +115 -0
- Appium-Python-Client-2.11.0/docs/_build/html/searchindex.js +1 -0
- Appium-Python-Client-2.10.2/Appium_Python_Client.egg-info/PKG-INFO +0 -434
- Appium-Python-Client-2.10.2/PKG-INFO +0 -434
- Appium-Python-Client-2.10.2/appium/version.py +0 -1
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/Appium_Python_Client.egg-info/dependency_links.txt +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/Appium_Python_Client.egg-info/requires.txt +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/Appium_Python_Client.egg-info/top_level.txt +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/LICENSE +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/MANIFEST.in +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/README.md +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/common/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/common/exceptions.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/common/helper.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/common/logger.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/adb_exec_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/adb_port_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/allow_delay_adb_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/build_tools_version_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/clear_device_logs_on_start_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/ignore_hidden_api_policy_error_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/logcat_filter_specs_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/logcat_format_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/mock_location_app_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/remote_adb_host_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/skip_logcat_capture_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/adb/suppress_kill_server_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/allow_test_packages_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/android_install_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/app_activity_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/app_package_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/app_wait_activity_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/app_wait_duration_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/app_wait_for_launch_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/app_wait_package_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/auto_grant_premissions_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/enforce_app_install_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/intent_action_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/intent_category_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/intent_flags_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/optional_intent_arguments_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/remote_apps_cache_limit_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/app/uninstall_other_packages_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/avd/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/avd/avd_args_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/avd/avd_env_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/avd/avd_launch_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/avd/avd_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/avd/avd_ready_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/avd/gps_enabled_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/avd/network_speed_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/auto_webview_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chrome_logging_prefs_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chrome_options_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chromedriver_args_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chromedriver_chrome_mapping_file_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chromedriver_disable_build_check_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chromedriver_executable_dir_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chromedriver_executable_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chromedriver_port_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chromedriver_ports_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/chromedriver_use_system_executable_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/ensure_webviews_have_pages_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/extract_chrome_android_package_from_context_name_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/native_web_screenshot_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/recreate_chrome_driver_sessions_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/show_chromedriver_log_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/context/webview_devtools_port_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/localization/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/localization/locale_script_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/locking/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/locking/skip_unlock_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/locking/unlock_key_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/locking/unlock_strategy_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/locking/unlock_success_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/locking/unlock_type_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/mjpeg/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/mjpeg/mjpeg_screenshot_url_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/other/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/other/disable_suppress_accessibility_service_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/other/user_profile_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/signing/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/signing/key_alias_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/signing/key_password_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/signing/keystore_password_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/signing/keystore_path_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/signing/no_sign_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/common/signing/use_keystore_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/espresso/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/espresso/activity_options_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/espresso/app_locale_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/espresso/base.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/espresso/espresso_build_config_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/espresso/espresso_server_launch_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/espresso/force_espresso_rebuild_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/espresso/intent_options_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/espresso/show_gradle_log_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/uiautomator2/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/uiautomator2/base.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/uiautomator2/disable_window_animation_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/uiautomator2/mjpeg_server_port_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/uiautomator2/skip_device_initialization_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/uiautomator2/skip_server_installation_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/uiautomator2/uiautomator2_server_install_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/uiautomator2/uiautomator2_server_launch_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/android/uiautomator2/uiautomator2_server_read_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/app_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/auto_web_view_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/automation_name_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/base.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/bundle_id_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/clear_system_files_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/device_name_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/enable_performance_logging_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/event_timings_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/full_reset_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/is_headless_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/language_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/locale_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/new_command_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/no_reset_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/orientation_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/other_apps_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/postrun_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/prerun_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/print_page_source_on_find_failure_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/skip_log_capture_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/supports_capabilities.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/system_host_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/system_port_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/common/udid_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/gecko/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/gecko/android_storage_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/gecko/base.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/gecko/firefox_options_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/gecko/marionette_port_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/gecko/verbosity_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/automatic_inspection_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/automatic_profiling_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/base.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/device_name_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/device_type_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/device_udid_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/platform_build_version_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/platform_version_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/use_simulator_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/safari/webkit_webrtc_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/app/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/app/app_install_strategy_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/app/app_push_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/app/localizable_strings_dir_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/base.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/general/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/general/include_device_caps_to_session_info_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/general/reset_location_service_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/other/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/other/command_timeouts_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/other/launch_with_idb_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/other/show_ios_log_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/other/use_json_source_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/calendar_access_authorized_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/calendar_format_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/connect_hardware_keyboard_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/custom_ssl_cert_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/enforce_fresh_simulator_creation_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/force_simulator_software_keyboard_presence_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/ios_simulator_logs_predicate_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/keep_key_chains_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/keychains_exclude_patterns_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/permissions_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/reduce_motion_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/reset_on_session_start_only_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/scale_factor_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/shutdown_other_simulators_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/simulator_devices_set_path_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/simulator_pasteboard_automatic_sync_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/simulator_startup_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/simulator_trace_pointer_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/simulator/simulator_window_center_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/allow_provisioning_device_regitration_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/auto_accept_alerts_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/auto_disimiss_alerts_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/derived_data_path_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/disable_automatic_screenshots_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/force_app_launch_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/keychain_password_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/keychain_path_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/max_typing_frequency_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/mjpeg_server_port_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/process_arguments_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/result_bundle_path_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/screenshot_quality_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/should_terminate_app_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/should_use_singleton_test_manager_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/show_xcode_log_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/simple_is_visible_check_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/updated_wda_bundle_id_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/use_native_caching_strategy_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/use_new_wda_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/use_prebuilt_wda_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/use_simple_build_test_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/use_xctestrun_file_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/wait_for_idle_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/wait_for_quiescence_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/wda_base_url_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/wda_connection_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/wda_eventloop_idle_delay_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/wda_launch_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/wda_local_port_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/wda_startup_retries_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/wda_startup_retry_interval_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/web_driver_agent_url_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/xcode_org_id_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/wda/xcode_signing_id_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/absolute_web_locations_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/additional_webview_bundle_ids_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/enable_async_execute_from_https_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/full_context_list_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/include_safari_in_webviews_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/native_web_tap_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/safari_garbage_collect_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/safari_ignore_fraud_warning_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/safari_ignore_web_hostnames_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/safari_initial_url_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/safari_log_all_communication_hex_dump_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/safari_log_all_communication_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/safari_open_links_in_background_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/safari_socket_chunk_size_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/safari_web_inspector_max_frame_length_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/webkit_response_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/webview_connect_retries_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/mac2/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/mac2/arguments_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/mac2/base.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/mac2/bootstrap_root_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/mac2/environment_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/mac2/server_startup_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/mac2/show_server_logs_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/mac2/skip_app_kill_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/mac/mac2/web_driver_agent_mac_url_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/windows/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/windows/windows/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/windows/windows/app_arguments_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/windows/windows/app_top_level_window_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/windows/windows/app_working_dir_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/windows/windows/base.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/windows/windows/create_session_timeout_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/windows/windows/expreimental_web_driver_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/options/windows/windows/wait_for_app_launch_option.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/protocols/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/protocols/protocol.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/protocols/webdriver/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/protocols/webdriver/can_execute_commands.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/protocols/webdriver/can_execute_scripts.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/protocols/webdriver/can_find_elements.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/protocols/webdriver/can_remember_extension_presence.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/py.typed +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/appium_service.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/applicationstate.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/clipboard_content_type.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/command_method.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/common/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/common/appiumby.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/common/mobileby.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/common/multi_action.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/common/touch_action.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/connectiontype.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/errorhandler.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/action_helpers.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/__init__.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/activities.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/common.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/display.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/gsm.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/nativekey.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/network.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/performance.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/power.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/sms.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/android/system_bars.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/applications.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/clipboard.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/context.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/device_time.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/execute_driver.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/execute_mobile_command.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/hw_actions.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/images_comparison.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/ime.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/keyboard.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/location.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/log_event.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/remote_fs.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/screen_record.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/session.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/extensions/settings.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/mobilecommand.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/switch_to.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/webdriver.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/appium/webdriver/webelement.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/Makefile +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/README.md +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/conf.py +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/generate.sh +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/index.rst +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/make.bat +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/requirements.txt +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/webdriver.common.rst +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/webdriver.extensions.android.rst +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/webdriver.extensions.rst +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/webdriver.extensions.search_context.rst +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/docs/webdriver.rst +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/setup.cfg +0 -0
- {Appium-Python-Client-2.10.2 → Appium-Python-Client-2.11.0}/setup.py +0 -0
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: Appium-Python-Client
|
|
3
|
+
Version: 2.11.0
|
|
4
|
+
Summary: Python client for Appium
|
|
5
|
+
Home-page: http://appium.io/
|
|
6
|
+
Author: Isaac Murchie
|
|
7
|
+
Author-email: isaac@saucelabs.com
|
|
8
|
+
Maintainer: Kazuaki Matsuo, Mykola Mokhnach, Mori Atsushi
|
|
9
|
+
License: Apache 2.0
|
|
10
|
+
Keywords: appium,selenium,selenium 4,python client,mobile automation
|
|
11
|
+
Platform: UNKNOWN
|
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
+
Classifier: Programming Language :: Python
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Environment :: Console
|
|
20
|
+
Classifier: Environment :: MacOS X
|
|
21
|
+
Classifier: Environment :: Win32 (MS Windows)
|
|
22
|
+
Classifier: Intended Audience :: Developers
|
|
23
|
+
Classifier: Intended Audience :: Other Audience
|
|
24
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
25
|
+
Classifier: Operating System :: OS Independent
|
|
26
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
27
|
+
Classifier: Topic :: Software Development :: Testing
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
License-File: LICENSE
|
|
30
|
+
|
|
31
|
+
# Appium Python Client
|
|
32
|
+
|
|
33
|
+
[](https://badge.fury.io/py/Appium-Python-Client)
|
|
34
|
+
[](https://pepy.tech/project/appium-python-client)
|
|
35
|
+
|
|
36
|
+
[](https://dev.azure.com/AppiumCI/Appium%20CI/_build/latest?definitionId=56&branchName=master)
|
|
37
|
+
|
|
38
|
+
[](https://github.com/psf/black)
|
|
39
|
+
|
|
40
|
+
An extension library for adding [WebDriver Protocol](https://www.w3.org/TR/webdriver/) and Appium commands to the Selenium Python language binding for use with the mobile testing framework [Appium](https://appium.io).
|
|
41
|
+
|
|
42
|
+
## Notice
|
|
43
|
+
|
|
44
|
+
Since **v1.0.0**, only Python 3.7+ is supported.
|
|
45
|
+
|
|
46
|
+
Since **v2.0.0**, the base selenium client version is v4.
|
|
47
|
+
The version only works in W3C WebDriver protocol format.
|
|
48
|
+
If you would like to use the old protocol (MJSONWP), please use v1 Appium Python client.
|
|
49
|
+
|
|
50
|
+
### Quick migration guide from v1 to v2
|
|
51
|
+
- Enhancement
|
|
52
|
+
- Updated base Selenium Python binding version to v4
|
|
53
|
+
- Removed `forceMjsonwp` since Selenium v4 and Appium Python client v2 expect only W3C WebDriver protocol
|
|
54
|
+
- Methods `ActionHelpers#scroll`, `ActionHelpers#drag_and_drop`, `ActionHelpers#tap`, `ActionHelpers#swipe` and `ActionHelpers#flick` now call W3C actions as its backend
|
|
55
|
+
- Please check each behavior. Their behaviors could slightly differ.
|
|
56
|
+
- Added `strict_ssl` to relax SSL error such as self-signed ones
|
|
57
|
+
- Deprecated
|
|
58
|
+
- `MultiAction` and `TouchAction` are deprecated. Please use W3C WebDriver actions.
|
|
59
|
+
- e.g.
|
|
60
|
+
- [appium/webdriver/extensions/action_helpers.py](appium/webdriver/extensions/action_helpers.py)
|
|
61
|
+
- https://www.selenium.dev/documentation/support_packages/mouse_and_keyboard_actions_in_detail/
|
|
62
|
+
- https://www.youtube.com/watch?v=oAJ7jwMNFVU
|
|
63
|
+
- https://appiumpro.com/editions/30-ios-specific-touch-action-methods
|
|
64
|
+
- https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
|
|
65
|
+
- `launch_app`, `close_app` and `reset` are deprecated. Please read [issues#15807](https://github.com/appium/appium/issues/15807) for more details
|
|
66
|
+
|
|
67
|
+
#### MultiAction/TouchAction to W3C actions
|
|
68
|
+
|
|
69
|
+
On UIA2, some elements can be handled with `touch` pointer action insead of the default `mouse` pointer action in the Selenium Python cleint.
|
|
70
|
+
For example, the below action builder is to replace the default one with the `touch` pointer action.
|
|
71
|
+
|
|
72
|
+
```python
|
|
73
|
+
from selenium.webdriver.common.actions import interaction
|
|
74
|
+
from selenium.webdriver.common.actions.action_builder import ActionBuilder
|
|
75
|
+
|
|
76
|
+
actions = ActionChains(driver)
|
|
77
|
+
# override as 'touch' pointer action
|
|
78
|
+
actions.w3c_actions = ActionBuilder(driver, mouse=PointerInput(interaction.POINTER_TOUCH, "touch"))
|
|
79
|
+
actions.w3c_actions.pointer_action.move_to_location(start_x, start_y)
|
|
80
|
+
actions.w3c_actions.pointer_action.pointer_down()
|
|
81
|
+
actions.w3c_actions.pointer_action.pause(2)
|
|
82
|
+
actions.w3c_actions.pointer_action.move_to_location(end_x, end_y)
|
|
83
|
+
actions.w3c_actions.pointer_action.release()
|
|
84
|
+
actions.perform()
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Getting the Appium Python client
|
|
88
|
+
|
|
89
|
+
There are three ways to install and use the Appium Python client.
|
|
90
|
+
|
|
91
|
+
1. Install from [PyPi](https://pypi.org), as
|
|
92
|
+
['Appium-Python-Client'](https://pypi.org/project/Appium-Python-Client/).
|
|
93
|
+
|
|
94
|
+
```shell
|
|
95
|
+
pip install Appium-Python-Client
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
You can see the history from [here](https://pypi.org/project/Appium-Python-Client/#history)
|
|
99
|
+
|
|
100
|
+
2. Install from source, via [PyPi](https://pypi.org). From ['Appium-Python-Client'](https://pypi.org/project/Appium-Python-Client/),
|
|
101
|
+
download and unarchive the source tarball (Appium-Python-Client-X.X.tar.gz).
|
|
102
|
+
|
|
103
|
+
```shell
|
|
104
|
+
tar -xvf Appium-Python-Client-X.X.tar.gz
|
|
105
|
+
cd Appium-Python-Client-X.X
|
|
106
|
+
python setup.py install
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
3. Install from source via [GitHub](https://github.com/appium/python-client).
|
|
110
|
+
|
|
111
|
+
```shell
|
|
112
|
+
git clone git@github.com:appium/python-client.git
|
|
113
|
+
cd python-client
|
|
114
|
+
python setup.py install
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Compatibility Matrix
|
|
118
|
+
|
|
119
|
+
|Appium Python Client| Selenium binding|
|
|
120
|
+
|----|----|
|
|
121
|
+
|`2.10.0`+ |`4.1.0`+ |
|
|
122
|
+
|`2.2.0` - `2.9.0` |`4.1.0` - `4.9.0` |
|
|
123
|
+
|`2.0.0` - `2.1.4` |`4.0.0` |
|
|
124
|
+
|`1.1.0` and below|`3.x`|
|
|
125
|
+
|
|
126
|
+
The Appium Python Client depends on [Selenium Python binding](https://pypi.org/project/selenium/), thus
|
|
127
|
+
the Selenium Python binding update might affect the Appium Python Client behavior.
|
|
128
|
+
For exampple, some changes in the Selenium binding could break the Appium client.
|
|
129
|
+
|
|
130
|
+
> **Note**
|
|
131
|
+
> We strongly recommend you to manage dependencies with version management tools such as Pipenv and requirements.txt
|
|
132
|
+
> to keep compatible version combinations.
|
|
133
|
+
|
|
134
|
+
## Usage
|
|
135
|
+
|
|
136
|
+
The Appium Python Client is fully compliant with the WebDriver Protocol
|
|
137
|
+
including several helpers to make mobile testing in Python easier.
|
|
138
|
+
|
|
139
|
+
To use the new functionality now, and to use the superset of functions, instead of
|
|
140
|
+
including the Selenium `webdriver` module in your test code, use that from
|
|
141
|
+
Appium instead.
|
|
142
|
+
|
|
143
|
+
```python
|
|
144
|
+
from appium import webdriver
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
From there much of your test code will work with no change.
|
|
148
|
+
|
|
149
|
+
As a base for the following code examples, the following sets up the [UnitTest](https://docs.python.org/3/library/unittest.html)
|
|
150
|
+
environment:
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
# Python/Pytest
|
|
154
|
+
import pytest
|
|
155
|
+
|
|
156
|
+
from appium import webdriver
|
|
157
|
+
# Options are only available since client version 2.3.0
|
|
158
|
+
# If you use an older client then switch to desired_capabilities
|
|
159
|
+
# instead: https://github.com/appium/python-client/pull/720
|
|
160
|
+
from appium.options.android import UiAutomator2Options
|
|
161
|
+
from appium.options.ios import XCUITestOptions
|
|
162
|
+
from appium.webdriver.appium_service import AppiumService
|
|
163
|
+
from appium.webdriver.common.appiumby import AppiumBy
|
|
164
|
+
|
|
165
|
+
APPIUM_PORT = 4723
|
|
166
|
+
APPIUM_HOST = '127.0.0.1'
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
# HINT: fixtures below could be extracted into conftest.py
|
|
170
|
+
# HINT: and shared across all tests in the suite
|
|
171
|
+
@pytest.fixture(scope='session')
|
|
172
|
+
def appium_service():
|
|
173
|
+
service = AppiumService()
|
|
174
|
+
service.start(
|
|
175
|
+
# Check the output of `appium server --help` for the complete list of
|
|
176
|
+
# server command line arguments
|
|
177
|
+
args=['--address', APPIUM_HOST, '-p', str(APPIUM_PORT)],
|
|
178
|
+
timeout_ms=20000,
|
|
179
|
+
)
|
|
180
|
+
yield service
|
|
181
|
+
service.stop()
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def create_ios_driver(custom_opts = None):
|
|
185
|
+
options = XCUITestOptions()
|
|
186
|
+
options.platformVersion = '13.4'
|
|
187
|
+
options.udid = '123456789ABC'
|
|
188
|
+
if custom_opts is not None:
|
|
189
|
+
options.load_capabilities(custom_opts)
|
|
190
|
+
# Appium1 points to http://127.0.0.1:4723/wd/hub by default
|
|
191
|
+
return webdriver.Remote(f'http://{APPIUM_HOST}:{APPIUM_PORT}', options=options)
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
def create_android_driver(custom_opts = None):
|
|
195
|
+
options = UiAutomator2Options()
|
|
196
|
+
options.platformVersion = '10'
|
|
197
|
+
options.udid = '123456789ABC'
|
|
198
|
+
if custom_opts is not None:
|
|
199
|
+
options.load_capabilities(custom_opts)
|
|
200
|
+
# Appium1 points to http://127.0.0.1:4723/wd/hub by default
|
|
201
|
+
return webdriver.Remote(f'http://{APPIUM_HOST}:{APPIUM_PORT}', options=options)
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
@pytest.fixture
|
|
205
|
+
def ios_driver_factory():
|
|
206
|
+
return create_ios_driver
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
@pytest.fixture
|
|
210
|
+
def ios_driver():
|
|
211
|
+
# prefer this fixture if there is no need to customize driver options in tests
|
|
212
|
+
driver = create_ios_driver()
|
|
213
|
+
yield driver
|
|
214
|
+
driver.quit()
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
@pytest.fixture
|
|
218
|
+
def android_driver_factory():
|
|
219
|
+
return create_android_driver
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
@pytest.fixture
|
|
223
|
+
def android_driver():
|
|
224
|
+
# prefer this fixture if there is no need to customize driver options in tests
|
|
225
|
+
driver = create_android_driver()
|
|
226
|
+
yield driver
|
|
227
|
+
driver.quit()
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
def test_ios_click(appium_service, ios_driver_factory):
|
|
231
|
+
# Usage of the context manager ensures the driver session is closed properly
|
|
232
|
+
# after the test completes. Otherwise, make sure to call `driver.quit()` on teardown.
|
|
233
|
+
with ios_driver_factory({
|
|
234
|
+
'appium:app': '/path/to/app/UICatalog.app.zip'
|
|
235
|
+
}) as driver:
|
|
236
|
+
el = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value='item')
|
|
237
|
+
el.click()
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
def test_android_click(appium_service, android_driver_factory):
|
|
241
|
+
# Usage of the context manager ensures the driver session is closed properly
|
|
242
|
+
# after the test completes. Otherwise, make sure to call `driver.quit()` on teardown.
|
|
243
|
+
with android_driver_factory({
|
|
244
|
+
'appium:app': '/path/to/app/test-app.apk',
|
|
245
|
+
'appium:udid': '567890',
|
|
246
|
+
}) as driver:
|
|
247
|
+
el = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value='item')
|
|
248
|
+
el.click()
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## Direct Connect URLs
|
|
252
|
+
|
|
253
|
+
If your Selenium/Appium server decorates the new session capabilities response with the following keys:
|
|
254
|
+
|
|
255
|
+
- `directConnectProtocol`
|
|
256
|
+
- `directConnectHost`
|
|
257
|
+
- `directConnectPort`
|
|
258
|
+
- `directConnectPath`
|
|
259
|
+
|
|
260
|
+
Then python client will switch its endpoint to the one specified by the values of those keys.
|
|
261
|
+
|
|
262
|
+
```python
|
|
263
|
+
from appium import webdriver
|
|
264
|
+
# Options are only available since client version 2.3.0
|
|
265
|
+
# If you use an older client then switch to desired_capabilities
|
|
266
|
+
# instead: https://github.com/appium/python-client/pull/720
|
|
267
|
+
from appium.options.ios import XCUITestOptions
|
|
268
|
+
|
|
269
|
+
# load_capabilities API could be used to
|
|
270
|
+
# load options mapping stored in a dictionary
|
|
271
|
+
options = XCUITestOptions().load_capabilities({
|
|
272
|
+
'platformVersion': '13.4',
|
|
273
|
+
'deviceName': 'iPhone Simulator',
|
|
274
|
+
'app': '/full/path/to/app/UICatalog.app.zip',
|
|
275
|
+
})
|
|
276
|
+
|
|
277
|
+
driver = webdriver.Remote(
|
|
278
|
+
# Appium1 points to http://127.0.0.1:4723/wd/hub by default
|
|
279
|
+
'http://127.0.0.1:4723',
|
|
280
|
+
options=options,
|
|
281
|
+
direct_connection=True
|
|
282
|
+
)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## Relax SSL validation
|
|
286
|
+
|
|
287
|
+
`strict_ssl` option allows you to send commands to an invalid certificate host like a self-signed one.
|
|
288
|
+
|
|
289
|
+
```python
|
|
290
|
+
from appium import webdriver
|
|
291
|
+
# Options are only available since client version 2.3.0
|
|
292
|
+
# If you use an older client then switch to desired_capabilities
|
|
293
|
+
# instead: https://github.com/appium/python-client/pull/720
|
|
294
|
+
from appium.options.common import AppiumOptions
|
|
295
|
+
|
|
296
|
+
options = AppiumOptions()
|
|
297
|
+
options.platform_name = 'mac'
|
|
298
|
+
options.automation_name = 'safari'
|
|
299
|
+
# set_capability API allows to provide any custom option
|
|
300
|
+
# calls to it could be chained
|
|
301
|
+
options.set_capability('browser_name', 'safari')
|
|
302
|
+
|
|
303
|
+
# Appium1 points to http://127.0.0.1:4723/wd/hub by default
|
|
304
|
+
driver = webdriver.Remote('http://127.0.0.1:4723', options=options, strict_ssl=False)
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
## Set custom `AppiumConnection`
|
|
308
|
+
|
|
309
|
+
The first argument of `webdriver.Remote` can set an arbitrary command executor for you.
|
|
310
|
+
|
|
311
|
+
1. Set init arguments for the pool manager Appium Python client uses to manage http requests.
|
|
312
|
+
|
|
313
|
+
```python
|
|
314
|
+
from appium import webdriver
|
|
315
|
+
from appium.options.ios import XCUITestOptions
|
|
316
|
+
|
|
317
|
+
import urllib3
|
|
318
|
+
from appium.webdriver.appium_connection import AppiumConnection
|
|
319
|
+
|
|
320
|
+
# Retry connection error up to 3 times.
|
|
321
|
+
init_args_for_pool_manage = {
|
|
322
|
+
'retries': urllib3.util.retry.Retry(total=3, connect=3, read=False)
|
|
323
|
+
}
|
|
324
|
+
appium_executor = AppiumConnection(
|
|
325
|
+
remote_server_addr='http://127.0.0.1:4723',
|
|
326
|
+
init_args_for_pool_manage=init_args_for_pool_manage
|
|
327
|
+
)
|
|
328
|
+
|
|
329
|
+
options = XCUITestOptions()
|
|
330
|
+
options.platformVersion = '13.4'
|
|
331
|
+
options.udid = '123456789ABC'
|
|
332
|
+
options.app = '/full/path/to/app/UICatalog.app.zip'
|
|
333
|
+
driver = webdriver.Remote(appium_executor, options=options)
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
2. Define a subclass of `AppiumConnection`
|
|
338
|
+
|
|
339
|
+
```python
|
|
340
|
+
from appium import webdriver
|
|
341
|
+
from appium.options.ios import XCUITestOptions
|
|
342
|
+
|
|
343
|
+
from appium.webdriver.appium_connection import AppiumConnection
|
|
344
|
+
|
|
345
|
+
class CustomAppiumConnection(AppiumConnection):
|
|
346
|
+
# Can add your own methods for the custom class
|
|
347
|
+
pass
|
|
348
|
+
|
|
349
|
+
custom_executor = CustomAppiumConnection(remote_server_addr='http://127.0.0.1:4723')
|
|
350
|
+
|
|
351
|
+
options = XCUITestOptions().load_capabilities({
|
|
352
|
+
'platformVersion': '13.4',
|
|
353
|
+
'deviceName': 'iPhone Simulator',
|
|
354
|
+
'app': '/full/path/to/app/UICatalog.app.zip',
|
|
355
|
+
})
|
|
356
|
+
driver = webdriver.Remote(custom_executor, options=options)
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
## Documentation
|
|
362
|
+
|
|
363
|
+
- https://appium.github.io/python-client-sphinx/ is detailed documentation
|
|
364
|
+
- [functional tests](test/functional) also may help to see concrete examples.
|
|
365
|
+
|
|
366
|
+
## Development
|
|
367
|
+
|
|
368
|
+
- Code Style: [PEP-0008](https://www.python.org/dev/peps/pep-0008/)
|
|
369
|
+
- Apply `black`, `isort` and `mypy` as pre commit hook
|
|
370
|
+
- Run `make` command for development. See `make help` output for details
|
|
371
|
+
- Docstring style: [Google Style](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
|
|
372
|
+
- `gitchangelog` generates `CHANGELOG.rst`
|
|
373
|
+
|
|
374
|
+
### Setup
|
|
375
|
+
|
|
376
|
+
- `pip install --user pipenv`
|
|
377
|
+
- `python -m pipenv lock --clear`
|
|
378
|
+
- If you experience `Locking Failed! unknown locale: UTF-8` error, then refer [pypa/pipenv#187](https://github.com/pypa/pipenv/issues/187) to solve it.
|
|
379
|
+
- `python -m pipenv install --dev --system`
|
|
380
|
+
- `pre-commit install`
|
|
381
|
+
|
|
382
|
+
### Run tests
|
|
383
|
+
|
|
384
|
+
You can run all of tests running on CI via `tox` in your local.
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
$ tox
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
You also can run particular tests like below.
|
|
391
|
+
|
|
392
|
+
#### Unit
|
|
393
|
+
|
|
394
|
+
```bash
|
|
395
|
+
$ pytest test/unit
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
Run with `pytest-xdist`
|
|
399
|
+
|
|
400
|
+
```bash
|
|
401
|
+
$ pytest -n 2 test/unit
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
#### Functional
|
|
405
|
+
|
|
406
|
+
```bash
|
|
407
|
+
$ pytest test/functional/ios/search_context/find_by_ios_class_chain_tests.py
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
#### In parallel for iOS
|
|
411
|
+
|
|
412
|
+
1. Create simulators named 'iPhone X - 8100' and 'iPhone X - 8101'
|
|
413
|
+
2. Install test libraries via pip, `pip install pytest pytest-xdist`
|
|
414
|
+
3. Run tests
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
$ pytest -n 2 test/functional/ios/search_context/find_by_ios_class_chain_tests.py
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
## Release
|
|
421
|
+
|
|
422
|
+
Follow below steps.
|
|
423
|
+
|
|
424
|
+
```bash
|
|
425
|
+
$ pip install twine
|
|
426
|
+
$ pip install git+git://github.com/vaab/gitchangelog.git # Getting via GitHub repository is necessary for Python 3.7
|
|
427
|
+
# Type the new version number and 'yes' if you can publish it
|
|
428
|
+
# You can test the command with DRY_RUN
|
|
429
|
+
$ DRY_RUN=1 ./release.sh
|
|
430
|
+
$ ./release.sh # release
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
## License
|
|
434
|
+
|
|
435
|
+
Apache License v2
|
|
436
|
+
|
|
437
|
+
|
|
@@ -317,6 +317,7 @@ appium/webdriver/extensions/android/performance.py
|
|
|
317
317
|
appium/webdriver/extensions/android/power.py
|
|
318
318
|
appium/webdriver/extensions/android/sms.py
|
|
319
319
|
appium/webdriver/extensions/android/system_bars.py
|
|
320
|
+
docs/.DS_Store
|
|
320
321
|
docs/Makefile
|
|
321
322
|
docs/README.md
|
|
322
323
|
docs/conf.py
|
|
@@ -328,4 +329,72 @@ docs/webdriver.common.rst
|
|
|
328
329
|
docs/webdriver.extensions.android.rst
|
|
329
330
|
docs/webdriver.extensions.rst
|
|
330
331
|
docs/webdriver.extensions.search_context.rst
|
|
331
|
-
docs/webdriver.rst
|
|
332
|
+
docs/webdriver.rst
|
|
333
|
+
docs/_build/doctrees/appium.common.doctree
|
|
334
|
+
docs/_build/doctrees/appium.doctree
|
|
335
|
+
docs/_build/doctrees/appium.webdriver.common.doctree
|
|
336
|
+
docs/_build/doctrees/appium.webdriver.doctree
|
|
337
|
+
docs/_build/doctrees/appium.webdriver.extensions.android.doctree
|
|
338
|
+
docs/_build/doctrees/appium.webdriver.extensions.doctree
|
|
339
|
+
docs/_build/doctrees/appium.webdriver.extensions.search_context.doctree
|
|
340
|
+
docs/_build/doctrees/environment.pickle
|
|
341
|
+
docs/_build/doctrees/index.doctree
|
|
342
|
+
docs/_build/html/.buildinfo
|
|
343
|
+
docs/_build/html/.nojekyll
|
|
344
|
+
docs/_build/html/appium.common.html
|
|
345
|
+
docs/_build/html/appium.html
|
|
346
|
+
docs/_build/html/appium.webdriver.common.html
|
|
347
|
+
docs/_build/html/appium.webdriver.extensions.android.html
|
|
348
|
+
docs/_build/html/appium.webdriver.extensions.html
|
|
349
|
+
docs/_build/html/appium.webdriver.extensions.search_context.html
|
|
350
|
+
docs/_build/html/appium.webdriver.html
|
|
351
|
+
docs/_build/html/genindex.html
|
|
352
|
+
docs/_build/html/index.html
|
|
353
|
+
docs/_build/html/objects.inv
|
|
354
|
+
docs/_build/html/py-modindex.html
|
|
355
|
+
docs/_build/html/search.html
|
|
356
|
+
docs/_build/html/searchindex.js
|
|
357
|
+
docs/_build/html/_sources/appium.common.rst.txt
|
|
358
|
+
docs/_build/html/_sources/appium.rst.txt
|
|
359
|
+
docs/_build/html/_sources/appium.webdriver.common.rst.txt
|
|
360
|
+
docs/_build/html/_sources/appium.webdriver.extensions.android.rst.txt
|
|
361
|
+
docs/_build/html/_sources/appium.webdriver.extensions.rst.txt
|
|
362
|
+
docs/_build/html/_sources/appium.webdriver.extensions.search_context.rst.txt
|
|
363
|
+
docs/_build/html/_sources/appium.webdriver.rst.txt
|
|
364
|
+
docs/_build/html/_sources/index.rst.txt
|
|
365
|
+
docs/_build/html/_static/basic.css
|
|
366
|
+
docs/_build/html/_static/doctools.js
|
|
367
|
+
docs/_build/html/_static/documentation_options.js
|
|
368
|
+
docs/_build/html/_static/file.png
|
|
369
|
+
docs/_build/html/_static/jquery-3.5.1.js
|
|
370
|
+
docs/_build/html/_static/jquery.js
|
|
371
|
+
docs/_build/html/_static/language_data.js
|
|
372
|
+
docs/_build/html/_static/minus.png
|
|
373
|
+
docs/_build/html/_static/plus.png
|
|
374
|
+
docs/_build/html/_static/pygments.css
|
|
375
|
+
docs/_build/html/_static/searchtools.js
|
|
376
|
+
docs/_build/html/_static/underscore-1.13.1.js
|
|
377
|
+
docs/_build/html/_static/underscore.js
|
|
378
|
+
docs/_build/html/_static/css/badge_only.css
|
|
379
|
+
docs/_build/html/_static/css/theme.css
|
|
380
|
+
docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff
|
|
381
|
+
docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2
|
|
382
|
+
docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff
|
|
383
|
+
docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2
|
|
384
|
+
docs/_build/html/_static/css/fonts/fontawesome-webfont.eot
|
|
385
|
+
docs/_build/html/_static/css/fonts/fontawesome-webfont.svg
|
|
386
|
+
docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf
|
|
387
|
+
docs/_build/html/_static/css/fonts/fontawesome-webfont.woff
|
|
388
|
+
docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2
|
|
389
|
+
docs/_build/html/_static/css/fonts/lato-bold-italic.woff
|
|
390
|
+
docs/_build/html/_static/css/fonts/lato-bold-italic.woff2
|
|
391
|
+
docs/_build/html/_static/css/fonts/lato-bold.woff
|
|
392
|
+
docs/_build/html/_static/css/fonts/lato-bold.woff2
|
|
393
|
+
docs/_build/html/_static/css/fonts/lato-normal-italic.woff
|
|
394
|
+
docs/_build/html/_static/css/fonts/lato-normal-italic.woff2
|
|
395
|
+
docs/_build/html/_static/css/fonts/lato-normal.woff
|
|
396
|
+
docs/_build/html/_static/css/fonts/lato-normal.woff2
|
|
397
|
+
docs/_build/html/_static/js/badge_only.js
|
|
398
|
+
docs/_build/html/_static/js/html5shiv-printshiv.min.js
|
|
399
|
+
docs/_build/html/_static/js/html5shiv.min.js
|
|
400
|
+
docs/_build/html/_static/js/theme.js
|