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.
Files changed (324) hide show
  1. appium/__init__.py +17 -0
  2. appium/common/__init__.py +17 -0
  3. appium/common/exceptions.py +26 -0
  4. appium/common/helper.py +42 -0
  5. appium/common/logger.py +28 -0
  6. appium/options/__init__.py +0 -0
  7. appium/options/android/__init__.py +2 -0
  8. appium/options/android/common/__init__.py +0 -0
  9. appium/options/android/common/adb/__init__.py +0 -0
  10. appium/options/android/common/adb/adb_exec_timeout_option.py +41 -0
  11. appium/options/android/common/adb/adb_port_option.py +38 -0
  12. appium/options/android/common/adb/allow_delay_adb_option.py +39 -0
  13. appium/options/android/common/adb/build_tools_version_option.py +42 -0
  14. appium/options/android/common/adb/clear_device_logs_on_start_option.py +40 -0
  15. appium/options/android/common/adb/ignore_hidden_api_policy_error_option.py +40 -0
  16. appium/options/android/common/adb/logcat_filter_specs_option.py +42 -0
  17. appium/options/android/common/adb/logcat_format_option.py +39 -0
  18. appium/options/android/common/adb/mock_location_app_option.py +42 -0
  19. appium/options/android/common/adb/remote_adb_host_option.py +39 -0
  20. appium/options/android/common/adb/skip_logcat_capture_option.py +40 -0
  21. appium/options/android/common/adb/suppress_kill_server_option.py +39 -0
  22. appium/options/android/common/app/__init__.py +0 -0
  23. appium/options/android/common/app/allow_test_packages_option.py +40 -0
  24. appium/options/android/common/app/android_install_timeout_option.py +43 -0
  25. appium/options/android/common/app/app_activity_option.py +39 -0
  26. appium/options/android/common/app/app_package_option.py +39 -0
  27. appium/options/android/common/app/app_wait_activity_option.py +40 -0
  28. appium/options/android/common/app/app_wait_duration_option.py +41 -0
  29. appium/options/android/common/app/app_wait_for_launch_option.py +41 -0
  30. appium/options/android/common/app/app_wait_package_option.py +40 -0
  31. appium/options/android/common/app/auto_grant_premissions_option.py +40 -0
  32. appium/options/android/common/app/enforce_app_install_option.py +40 -0
  33. appium/options/android/common/app/intent_action_option.py +40 -0
  34. appium/options/android/common/app/intent_category_option.py +40 -0
  35. appium/options/android/common/app/intent_flags_option.py +40 -0
  36. appium/options/android/common/app/optional_intent_arguments_option.py +40 -0
  37. appium/options/android/common/app/remote_apps_cache_limit_option.py +42 -0
  38. appium/options/android/common/app/uninstall_other_packages_option.py +39 -0
  39. appium/options/android/common/avd/__init__.py +0 -0
  40. appium/options/android/common/avd/avd_args_option.py +38 -0
  41. appium/options/android/common/avd/avd_env_option.py +38 -0
  42. appium/options/android/common/avd/avd_launch_timeout_option.py +41 -0
  43. appium/options/android/common/avd/avd_option.py +41 -0
  44. appium/options/android/common/avd/avd_ready_timeout_option.py +41 -0
  45. appium/options/android/common/avd/gps_enabled_option.py +39 -0
  46. appium/options/android/common/avd/network_speed_option.py +41 -0
  47. appium/options/android/common/context/__init__.py +0 -0
  48. appium/options/android/common/context/auto_webview_timeout_option.py +41 -0
  49. appium/options/android/common/context/chrome_logging_prefs_option.py +41 -0
  50. appium/options/android/common/context/chrome_options_option.py +40 -0
  51. appium/options/android/common/context/chromedriver_args_option.py +41 -0
  52. appium/options/android/common/context/chromedriver_chrome_mapping_file_option.py +43 -0
  53. appium/options/android/common/context/chromedriver_disable_build_check_option.py +41 -0
  54. appium/options/android/common/context/chromedriver_executable_dir_option.py +43 -0
  55. appium/options/android/common/context/chromedriver_executable_option.py +38 -0
  56. appium/options/android/common/context/chromedriver_port_option.py +39 -0
  57. appium/options/android/common/context/chromedriver_ports_option.py +39 -0
  58. appium/options/android/common/context/chromedriver_use_system_executable_option.py +40 -0
  59. appium/options/android/common/context/ensure_webviews_have_pages_option.py +40 -0
  60. appium/options/android/common/context/extract_chrome_android_package_from_context_name_option.py +40 -0
  61. appium/options/android/common/context/native_web_screenshot_option.py +40 -0
  62. appium/options/android/common/context/recreate_chrome_driver_sessions_option.py +41 -0
  63. appium/options/android/common/context/show_chromedriver_log_option.py +39 -0
  64. appium/options/android/common/context/webview_devtools_port_option.py +40 -0
  65. appium/options/android/common/localization/__init__.py +0 -0
  66. appium/options/android/common/localization/locale_script_option.py +40 -0
  67. appium/options/android/common/locking/__init__.py +0 -0
  68. appium/options/android/common/locking/skip_unlock_option.py +42 -0
  69. appium/options/android/common/locking/unlock_key_option.py +40 -0
  70. appium/options/android/common/locking/unlock_strategy_option.py +40 -0
  71. appium/options/android/common/locking/unlock_success_timeout_option.py +43 -0
  72. appium/options/android/common/locking/unlock_type_option.py +40 -0
  73. appium/options/android/common/mjpeg/__init__.py +0 -0
  74. appium/options/android/common/mjpeg/mjpeg_screenshot_url_option.py +40 -0
  75. appium/options/android/common/other/__init__.py +0 -0
  76. appium/options/android/common/other/disable_suppress_accessibility_service_option.py +40 -0
  77. appium/options/android/common/other/user_profile_option.py +42 -0
  78. appium/options/android/common/signing/__init__.py +0 -0
  79. appium/options/android/common/signing/key_alias_option.py +40 -0
  80. appium/options/android/common/signing/key_password_option.py +40 -0
  81. appium/options/android/common/signing/keystore_password_option.py +40 -0
  82. appium/options/android/common/signing/keystore_path_option.py +40 -0
  83. appium/options/android/common/signing/no_sign_option.py +42 -0
  84. appium/options/android/common/signing/use_keystore_option.py +42 -0
  85. appium/options/android/espresso/__init__.py +0 -0
  86. appium/options/android/espresso/activity_options_option.py +41 -0
  87. appium/options/android/espresso/app_locale_option.py +44 -0
  88. appium/options/android/espresso/base.py +221 -0
  89. appium/options/android/espresso/espresso_build_config_option.py +46 -0
  90. appium/options/android/espresso/espresso_server_launch_timeout_option.py +43 -0
  91. appium/options/android/espresso/force_espresso_rebuild_option.py +41 -0
  92. appium/options/android/espresso/intent_options_option.py +41 -0
  93. appium/options/android/espresso/show_gradle_log_option.py +39 -0
  94. appium/options/android/uiautomator2/__init__.py +0 -0
  95. appium/options/android/uiautomator2/base.py +221 -0
  96. appium/options/android/uiautomator2/disable_window_animation_option.py +40 -0
  97. appium/options/android/uiautomator2/mjpeg_server_port_option.py +41 -0
  98. appium/options/android/uiautomator2/skip_device_initialization_option.py +40 -0
  99. appium/options/android/uiautomator2/skip_server_installation_option.py +44 -0
  100. appium/options/android/uiautomator2/uiautomator2_server_install_timeout_option.py +44 -0
  101. appium/options/android/uiautomator2/uiautomator2_server_launch_timeout_option.py +44 -0
  102. appium/options/android/uiautomator2/uiautomator2_server_read_timeout_option.py +46 -0
  103. appium/options/common/__init__.py +1 -0
  104. appium/options/common/app_option.py +41 -0
  105. appium/options/common/auto_web_view_option.py +40 -0
  106. appium/options/common/automation_name_option.py +38 -0
  107. appium/options/common/base.py +125 -0
  108. appium/options/common/browser_name_option.py +38 -0
  109. appium/options/common/bundle_id_option.py +38 -0
  110. appium/options/common/clear_system_files_option.py +38 -0
  111. appium/options/common/device_name_option.py +38 -0
  112. appium/options/common/enable_performance_logging_option.py +38 -0
  113. appium/options/common/event_timings_option.py +40 -0
  114. appium/options/common/full_reset_option.py +38 -0
  115. appium/options/common/is_headless_option.py +39 -0
  116. appium/options/common/language_option.py +38 -0
  117. appium/options/common/locale_option.py +38 -0
  118. appium/options/common/new_command_timeout_option.py +41 -0
  119. appium/options/common/no_reset_option.py +38 -0
  120. appium/options/common/orientation_option.py +40 -0
  121. appium/options/common/other_apps_option.py +39 -0
  122. appium/options/common/platform_version_option.py +40 -0
  123. appium/options/common/postrun_option.py +39 -0
  124. appium/options/common/prerun_option.py +40 -0
  125. appium/options/common/print_page_source_on_find_failure_option.py +40 -0
  126. appium/options/common/skip_log_capture_option.py +38 -0
  127. appium/options/common/supports_capabilities.py +26 -0
  128. appium/options/common/system_host_option.py +38 -0
  129. appium/options/common/system_port_option.py +38 -0
  130. appium/options/common/udid_option.py +38 -0
  131. appium/options/flutter_integration/__init__.py +15 -0
  132. appium/options/flutter_integration/base.py +39 -0
  133. appium/options/flutter_integration/flutter_element_wait_timeout_option.py +50 -0
  134. appium/options/flutter_integration/flutter_enable_mock_camera_option.py +44 -0
  135. appium/options/flutter_integration/flutter_server_launch_timeout_option.py +51 -0
  136. appium/options/flutter_integration/flutter_system_port_option.py +45 -0
  137. appium/options/gecko/__init__.py +1 -0
  138. appium/options/gecko/android_storage_option.py +39 -0
  139. appium/options/gecko/base.py +51 -0
  140. appium/options/gecko/firefox_options_option.py +38 -0
  141. appium/options/gecko/marionette_port_option.py +43 -0
  142. appium/options/gecko/verbosity_option.py +40 -0
  143. appium/options/ios/__init__.py +2 -0
  144. appium/options/ios/safari/__init__.py +0 -0
  145. appium/options/ios/safari/automatic_inspection_option.py +41 -0
  146. appium/options/ios/safari/automatic_profiling_option.py +41 -0
  147. appium/options/ios/safari/base.py +51 -0
  148. appium/options/ios/safari/device_name_option.py +43 -0
  149. appium/options/ios/safari/device_type_option.py +41 -0
  150. appium/options/ios/safari/device_udid_option.py +43 -0
  151. appium/options/ios/safari/platform_build_version_option.py +41 -0
  152. appium/options/ios/safari/platform_version_option.py +41 -0
  153. appium/options/ios/safari/use_simulator_option.py +41 -0
  154. appium/options/ios/safari/webkit_webrtc_option.py +52 -0
  155. appium/options/ios/xcuitest/__init__.py +0 -0
  156. appium/options/ios/xcuitest/app/__init__.py +0 -0
  157. appium/options/ios/xcuitest/app/app_install_strategy_option.py +46 -0
  158. appium/options/ios/xcuitest/app/app_push_timeout_option.py +42 -0
  159. appium/options/ios/xcuitest/app/localizable_strings_dir_option.py +39 -0
  160. appium/options/ios/xcuitest/base.py +223 -0
  161. appium/options/ios/xcuitest/general/__init__.py +0 -0
  162. appium/options/ios/xcuitest/general/include_device_caps_to_session_info_option.py +41 -0
  163. appium/options/ios/xcuitest/general/reset_location_service_option.py +39 -0
  164. appium/options/ios/xcuitest/other/__init__.py +0 -0
  165. appium/options/ios/xcuitest/other/command_timeouts_option.py +57 -0
  166. appium/options/ios/xcuitest/other/launch_with_idb_option.py +42 -0
  167. appium/options/ios/xcuitest/other/show_ios_log_option.py +39 -0
  168. appium/options/ios/xcuitest/other/use_json_source_option.py +39 -0
  169. appium/options/ios/xcuitest/simulator/__init__.py +0 -0
  170. appium/options/ios/xcuitest/simulator/calendar_access_authorized_option.py +41 -0
  171. appium/options/ios/xcuitest/simulator/calendar_format_option.py +38 -0
  172. appium/options/ios/xcuitest/simulator/connect_hardware_keyboard_option.py +43 -0
  173. appium/options/ios/xcuitest/simulator/custom_ssl_cert_option.py +39 -0
  174. appium/options/ios/xcuitest/simulator/enforce_fresh_simulator_creation_option.py +39 -0
  175. appium/options/ios/xcuitest/simulator/force_simulator_software_keyboard_presence_option.py +45 -0
  176. appium/options/ios/xcuitest/simulator/ios_simulator_logs_predicate_option.py +38 -0
  177. appium/options/ios/xcuitest/simulator/keep_key_chains_option.py +39 -0
  178. appium/options/ios/xcuitest/simulator/keychains_exclude_patterns_option.py +44 -0
  179. appium/options/ios/xcuitest/simulator/permissions_option.py +50 -0
  180. appium/options/ios/xcuitest/simulator/reduce_motion_option.py +40 -0
  181. appium/options/ios/xcuitest/simulator/reset_on_session_start_only_option.py +41 -0
  182. appium/options/ios/xcuitest/simulator/scale_factor_option.py +44 -0
  183. appium/options/ios/xcuitest/simulator/shutdown_other_simulators_option.py +44 -0
  184. appium/options/ios/xcuitest/simulator/simulator_devices_set_path_option.py +41 -0
  185. appium/options/ios/xcuitest/simulator/simulator_pasteboard_automatic_sync_option.py +42 -0
  186. appium/options/ios/xcuitest/simulator/simulator_startup_timeout_option.py +46 -0
  187. appium/options/ios/xcuitest/simulator/simulator_trace_pointer_option.py +41 -0
  188. appium/options/ios/xcuitest/simulator/simulator_window_center_option.py +41 -0
  189. appium/options/ios/xcuitest/wda/__init__.py +0 -0
  190. appium/options/ios/xcuitest/wda/allow_provisioning_device_regitration_option.py +40 -0
  191. appium/options/ios/xcuitest/wda/auto_accept_alerts_option.py +39 -0
  192. appium/options/ios/xcuitest/wda/auto_disimiss_alerts_option.py +39 -0
  193. appium/options/ios/xcuitest/wda/derived_data_path_option.py +41 -0
  194. appium/options/ios/xcuitest/wda/disable_automatic_screenshots_option.py +40 -0
  195. appium/options/ios/xcuitest/wda/force_app_launch_option.py +42 -0
  196. appium/options/ios/xcuitest/wda/keychain_password_option.py +39 -0
  197. appium/options/ios/xcuitest/wda/keychain_path_option.py +39 -0
  198. appium/options/ios/xcuitest/wda/max_typing_frequency_option.py +40 -0
  199. appium/options/ios/xcuitest/wda/mjpeg_server_port_option.py +42 -0
  200. appium/options/ios/xcuitest/wda/process_arguments_option.py +42 -0
  201. appium/options/ios/xcuitest/wda/result_bundle_path_option.py +42 -0
  202. appium/options/ios/xcuitest/wda/screenshot_quality_option.py +42 -0
  203. appium/options/ios/xcuitest/wda/should_terminate_app_option.py +42 -0
  204. appium/options/ios/xcuitest/wda/should_use_singleton_test_manager_option.py +39 -0
  205. appium/options/ios/xcuitest/wda/show_xcode_log_option.py +40 -0
  206. appium/options/ios/xcuitest/wda/simple_is_visible_check_option.py +42 -0
  207. appium/options/ios/xcuitest/wda/updated_wda_bundle_id_option.py +39 -0
  208. appium/options/ios/xcuitest/wda/use_native_caching_strategy_option.py +41 -0
  209. appium/options/ios/xcuitest/wda/use_new_wda_option.py +51 -0
  210. appium/options/ios/xcuitest/wda/use_prebuilt_wda_option.py +39 -0
  211. appium/options/ios/xcuitest/wda/use_simple_build_test_option.py +40 -0
  212. appium/options/ios/xcuitest/wda/use_xctestrun_file_option.py +49 -0
  213. appium/options/ios/xcuitest/wda/wait_for_idle_timeout_option.py +45 -0
  214. appium/options/ios/xcuitest/wda/wait_for_quiescence_option.py +42 -0
  215. appium/options/ios/xcuitest/wda/wda_base_url_option.py +41 -0
  216. appium/options/ios/xcuitest/wda/wda_connection_timeout_option.py +43 -0
  217. appium/options/ios/xcuitest/wda/wda_eventloop_idle_delay_option.py +46 -0
  218. appium/options/ios/xcuitest/wda/wda_launch_timeout_option.py +41 -0
  219. appium/options/ios/xcuitest/wda/wda_local_port_option.py +41 -0
  220. appium/options/ios/xcuitest/wda/wda_startup_retries_option.py +39 -0
  221. appium/options/ios/xcuitest/wda/wda_startup_retry_interval_option.py +43 -0
  222. appium/options/ios/xcuitest/wda/web_driver_agent_url_option.py +39 -0
  223. appium/options/ios/xcuitest/wda/xcode_org_id_option.py +39 -0
  224. appium/options/ios/xcuitest/wda/xcode_signing_id_option.py +39 -0
  225. appium/options/ios/xcuitest/webview/__init__.py +0 -0
  226. appium/options/ios/xcuitest/webview/absolute_web_locations_option.py +42 -0
  227. appium/options/ios/xcuitest/webview/additional_webview_bundle_ids_option.py +40 -0
  228. appium/options/ios/xcuitest/webview/enable_async_execute_from_https_option.py +39 -0
  229. appium/options/ios/xcuitest/webview/full_context_list_option.py +42 -0
  230. appium/options/ios/xcuitest/webview/include_safari_in_webviews_option.py +41 -0
  231. appium/options/ios/xcuitest/webview/native_web_tap_option.py +40 -0
  232. appium/options/ios/xcuitest/webview/safari_garbage_collect_option.py +39 -0
  233. appium/options/ios/xcuitest/webview/safari_ignore_fraud_warning_option.py +39 -0
  234. appium/options/ios/xcuitest/webview/safari_ignore_web_hostnames_option.py +42 -0
  235. appium/options/ios/xcuitest/webview/safari_initial_url_option.py +38 -0
  236. appium/options/ios/xcuitest/webview/safari_log_all_communication_hex_dump_option.py +43 -0
  237. appium/options/ios/xcuitest/webview/safari_log_all_communication_option.py +40 -0
  238. appium/options/ios/xcuitest/webview/safari_open_links_in_background_option.py +39 -0
  239. appium/options/ios/xcuitest/webview/safari_socket_chunk_size_option.py +41 -0
  240. appium/options/ios/xcuitest/webview/safari_web_inspector_max_frame_length_option.py +41 -0
  241. appium/options/ios/xcuitest/webview/webkit_response_timeout_option.py +43 -0
  242. appium/options/ios/xcuitest/webview/webview_connect_retries_option.py +40 -0
  243. appium/options/ios/xcuitest/webview/webview_connect_timeout_option.py +43 -0
  244. appium/options/mac/__init__.py +1 -0
  245. appium/options/mac/mac2/__init__.py +0 -0
  246. appium/options/mac/mac2/app_path_option.py +39 -0
  247. appium/options/mac/mac2/arguments_option.py +39 -0
  248. appium/options/mac/mac2/base.py +113 -0
  249. appium/options/mac/mac2/bootstrap_root_option.py +41 -0
  250. appium/options/mac/mac2/environment_option.py +41 -0
  251. appium/options/mac/mac2/server_startup_timeout_option.py +44 -0
  252. appium/options/mac/mac2/show_server_logs_option.py +39 -0
  253. appium/options/mac/mac2/skip_app_kill_option.py +40 -0
  254. appium/options/mac/mac2/web_driver_agent_mac_url_option.py +39 -0
  255. appium/options/windows/__init__.py +1 -0
  256. appium/options/windows/windows/__init__.py +0 -0
  257. appium/options/windows/windows/app_arguments_option.py +40 -0
  258. appium/options/windows/windows/app_top_level_window_option.py +40 -0
  259. appium/options/windows/windows/app_working_dir_option.py +40 -0
  260. appium/options/windows/windows/base.py +97 -0
  261. appium/options/windows/windows/create_session_timeout_option.py +45 -0
  262. appium/options/windows/windows/expreimental_web_driver_option.py +39 -0
  263. appium/options/windows/windows/wait_for_app_launch_option.py +43 -0
  264. appium/protocols/__init__.py +13 -0
  265. appium/protocols/webdriver/__init__.py +13 -0
  266. appium/protocols/webdriver/can_execute_commands.py +23 -0
  267. appium/protocols/webdriver/can_execute_scripts.py +27 -0
  268. appium/protocols/webdriver/can_find_elements.py +32 -0
  269. appium/protocols/webdriver/can_remember_extension_presence.py +23 -0
  270. appium/py.typed +0 -0
  271. appium/version.py +22 -0
  272. appium/webdriver/__init__.py +20 -0
  273. appium/webdriver/appium_connection.py +65 -0
  274. appium/webdriver/appium_service.py +330 -0
  275. appium/webdriver/applicationstate.py +21 -0
  276. appium/webdriver/client_config.py +38 -0
  277. appium/webdriver/clipboard_content_type.py +19 -0
  278. appium/webdriver/command_method.py +27 -0
  279. appium/webdriver/common/__init__.py +17 -0
  280. appium/webdriver/common/appiumby.py +54 -0
  281. appium/webdriver/connectiontype.py +42 -0
  282. appium/webdriver/errorhandler.py +125 -0
  283. appium/webdriver/extensions/__init__.py +13 -0
  284. appium/webdriver/extensions/action_helpers.py +188 -0
  285. appium/webdriver/extensions/android/__init__.py +0 -0
  286. appium/webdriver/extensions/android/activities.py +65 -0
  287. appium/webdriver/extensions/android/common.py +59 -0
  288. appium/webdriver/extensions/android/display.py +48 -0
  289. appium/webdriver/extensions/android/gsm.py +147 -0
  290. appium/webdriver/extensions/android/nativekey.py +1119 -0
  291. appium/webdriver/extensions/android/network.py +175 -0
  292. appium/webdriver/extensions/android/performance.py +85 -0
  293. appium/webdriver/extensions/android/power.py +80 -0
  294. appium/webdriver/extensions/android/sms.py +50 -0
  295. appium/webdriver/extensions/android/system_bars.py +58 -0
  296. appium/webdriver/extensions/applications.py +274 -0
  297. appium/webdriver/extensions/clipboard.py +107 -0
  298. appium/webdriver/extensions/context.py +63 -0
  299. appium/webdriver/extensions/device_time.py +75 -0
  300. appium/webdriver/extensions/execute_driver.py +60 -0
  301. appium/webdriver/extensions/execute_mobile_command.py +62 -0
  302. appium/webdriver/extensions/flutter_integration/__init__.py +13 -0
  303. appium/webdriver/extensions/flutter_integration/flutter_commands.py +296 -0
  304. appium/webdriver/extensions/flutter_integration/flutter_finder.py +55 -0
  305. appium/webdriver/extensions/flutter_integration/scroll_directions.py +6 -0
  306. appium/webdriver/extensions/hw_actions.py +149 -0
  307. appium/webdriver/extensions/images_comparison.py +132 -0
  308. appium/webdriver/extensions/keyboard.py +168 -0
  309. appium/webdriver/extensions/location.py +98 -0
  310. appium/webdriver/extensions/log_event.py +68 -0
  311. appium/webdriver/extensions/logs.py +53 -0
  312. appium/webdriver/extensions/remote_fs.py +110 -0
  313. appium/webdriver/extensions/screen_record.py +207 -0
  314. appium/webdriver/extensions/session.py +41 -0
  315. appium/webdriver/extensions/settings.py +49 -0
  316. appium/webdriver/locator_converter.py +29 -0
  317. appium/webdriver/mobilecommand.py +104 -0
  318. appium/webdriver/switch_to.py +35 -0
  319. appium/webdriver/webdriver.py +495 -0
  320. appium/webdriver/webelement.py +130 -0
  321. appium_python_client-5.2.0.dist-info/METADATA +573 -0
  322. appium_python_client-5.2.0.dist-info/RECORD +324 -0
  323. appium_python_client-5.2.0.dist-info/WHEEL +4 -0
  324. 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