seleniumbase 4.30.4a3__tar.gz → 4.30.5__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.
Files changed (517) hide show
  1. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/PKG-INFO +2 -1
  2. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/README.md +1 -0
  3. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/custom_settings.py +1 -1
  4. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/hack_the_planet.py +2 -10
  5. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_geolocation.py +1 -1
  6. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/customizing_test_runs.md +1 -0
  7. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/requirements.txt +1 -1
  8. seleniumbase-4.30.5/seleniumbase/__version__.py +2 -0
  9. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/behave/behave_sb.py +15 -0
  10. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/config/settings.py +1 -1
  11. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/browser_launcher.py +18 -12
  12. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/base_case.py +4 -1
  13. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/js_utils.py +13 -9
  14. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/pytest_plugin.py +14 -0
  15. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/sb_manager.py +13 -0
  16. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/selenium_plugin.py +14 -0
  17. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase.egg-info/PKG-INFO +2 -1
  18. seleniumbase-4.30.4a3/seleniumbase/__version__.py +0 -2
  19. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/.github/Workflows.md +0 -0
  20. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/.github/workflows/pages.yml +0 -0
  21. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/.github/workflows/python-nightly-mac.yml +0 -0
  22. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/.github/workflows/python-nightly-ubuntu.yml +0 -0
  23. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/.github/workflows/python-nightly-windows.yml +0 -0
  24. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/.github/workflows/python-package.yml +0 -0
  25. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/.gitignore +0 -0
  26. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/CHANGELOG.md +0 -0
  27. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/CNAME +0 -0
  28. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/CODE_OF_CONDUCT.md +0 -0
  29. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/CONTRIBUTING.md +0 -0
  30. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/Dockerfile +0 -0
  31. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/LICENSE +0 -0
  32. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/MANIFEST.in +0 -0
  33. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/SECURITY.md +0 -0
  34. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/_config.yml +0 -0
  35. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/azure-pipelines.yml +0 -0
  36. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/ReadMe.md +0 -0
  37. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/__init__.py +0 -0
  38. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/basic_test.py +0 -0
  39. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/ReadMe.md +0 -0
  40. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/__init__.py +0 -0
  41. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/behave.ini +0 -0
  42. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/__init__.py +0 -0
  43. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/behave.ini +0 -0
  44. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/calculator.feature +0 -0
  45. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/environment.py +0 -0
  46. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/fail_page.feature +0 -0
  47. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/realworld.feature +0 -0
  48. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/steps/__init__.py +0 -0
  49. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/steps/calculator.py +0 -0
  50. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/steps/fail_page.py +0 -0
  51. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/steps/imported.py +0 -0
  52. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/steps/swag_labs.py +0 -0
  53. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/behave_bdd/features/swag_labs.feature +0 -0
  54. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/ReadMe.md +0 -0
  55. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/__init__.py +0 -0
  56. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/base_test_case.py +0 -0
  57. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/boilerplate_test.py +0 -0
  58. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/classic_obj_test.py +0 -0
  59. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/page_objects.py +0 -0
  60. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/__init__.py +0 -0
  61. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/file_parsing/__init__.py +0 -0
  62. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/file_parsing/parse_files.py +0 -0
  63. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/file_parsing/qa_login_example.txt +0 -0
  64. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/file_parsing/staging_login_example.txt +0 -0
  65. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/google_objects.py +0 -0
  66. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/google_test.py +0 -0
  67. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/sb_swag_test.py +0 -0
  68. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/swag_labs_test.py +0 -0
  69. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/samples/test_page_objects.py +0 -0
  70. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/boilerplates/sb_fixture_test.py +0 -0
  71. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/capabilities/ReadMe.md +0 -0
  72. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/capabilities/mac_cap_file.py +0 -0
  73. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/capabilities/sample_cap_file_BS.py +0 -0
  74. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/capabilities/sample_cap_file_SL.py +0 -0
  75. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/capabilities/selenoid_cap_file.py +0 -0
  76. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/capabilities/win10_cap_file.py +0 -0
  77. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/case_plans/basic_test.MyTestClass.test_basics.md +0 -0
  78. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/case_plans/my_first_test.MyTestClass.test_swag_labs.md +0 -0
  79. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/case_plans/shadow_root_test.ShadowRootTest.test_shadow_root.md +0 -0
  80. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/case_plans/test_assert_elements.ListAssertTests.test_assert_list_of_elements.md +0 -0
  81. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/case_plans/test_calculator.CalculatorTests.test_6_times_7_plus_12_equals_54.md +0 -0
  82. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/case_plans/test_demo_site.DemoSiteTests.test_demo_site.md +0 -0
  83. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/case_plans/test_login.SwagLabsLoginTests.test_swag_labs_login.md +0 -0
  84. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/case_plans/test_mfa_login.TestMFALogin.test_mfa_login.md +0 -0
  85. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/case_summary.md +0 -0
  86. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/chart_maker/ReadMe.md +0 -0
  87. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/chart_maker/chart_presentation.py +0 -0
  88. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/chart_maker/my_chart.py +0 -0
  89. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/chart_maker/pie_charts.py +0 -0
  90. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/chart_maker/test_area_chart.py +0 -0
  91. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/chart_maker/test_display_chart.py +0 -0
  92. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/chart_maker/test_line_chart.py +0 -0
  93. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/chart_maker/test_multi_series.py +0 -0
  94. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/chart_maker/test_save_chart.py +0 -0
  95. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/coffee_cart_tests.py +0 -0
  96. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/desktop_apps/ReadMe.md +0 -0
  97. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/desktop_apps/recorder.py +0 -0
  98. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/dialog_boxes/ReadMe.md +0 -0
  99. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/dialog_boxes/dialog_box_tour.py +0 -0
  100. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/edge_test.py +0 -0
  101. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/example_config.cfg +0 -0
  102. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/example_logs/ReadMe.md +0 -0
  103. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/example_logs/basic_test_info.txt +0 -0
  104. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/example_logs/page_source.html +0 -0
  105. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/example_logs/screenshot.png +0 -0
  106. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/github_test.py +0 -0
  107. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/gui_test_runner.py +0 -0
  108. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/handle_alert_test.py +0 -0
  109. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/iframe_tests.py +0 -0
  110. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/locale_code_test.py +0 -0
  111. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/master_qa/ReadMe.md +0 -0
  112. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/master_qa/__init__.py +0 -0
  113. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/master_qa/basic_masterqa_test_0.py +0 -0
  114. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/master_qa/masterqa_test_1.py +0 -0
  115. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/master_qa/pytest.ini +0 -0
  116. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/__init__.py +0 -0
  117. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/protractor/ReadMe.md +0 -0
  118. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/protractor/__init__.py +0 -0
  119. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/protractor/example_spec.js +0 -0
  120. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/protractor/example_test.py +0 -0
  121. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/protractor/input_spec.js +0 -0
  122. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/protractor/input_test.py +0 -0
  123. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/protractor/mat_paginator_spec.js +0 -0
  124. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/protractor/mat_paginator_test.py +0 -0
  125. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/raw_selenium/ReadMe.md +0 -0
  126. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/raw_selenium/__init__.py +0 -0
  127. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/raw_selenium/flaky_messy_raw.py +0 -0
  128. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/raw_selenium/long_messy_raw.py +0 -0
  129. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/raw_selenium/messy_raw.py +0 -0
  130. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/raw_selenium/pytest.ini +0 -0
  131. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/raw_selenium/refined_raw.py +0 -0
  132. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/migration/raw_selenium/simple_sbase.py +0 -0
  133. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/my_first_test.py +0 -0
  134. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/nth_child_test.py +0 -0
  135. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/offline_examples/__init__.py +0 -0
  136. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/offline_examples/demo_page.html +0 -0
  137. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/offline_examples/load_html_test.py +0 -0
  138. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/offline_examples/test_demo_page.py +0 -0
  139. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/offline_examples/test_handle_alerts.py +0 -0
  140. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/offline_examples/test_request_fixture.py +0 -0
  141. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/offline_examples/test_user_agent.py +0 -0
  142. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/old_wordle_script.py +0 -0
  143. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/parameterized_test.py +0 -0
  144. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/performance_test.py +0 -0
  145. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/presenter/ReadMe.md +0 -0
  146. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/presenter/core_presentation.py +0 -0
  147. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/presenter/edge_presentation.py +0 -0
  148. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/presenter/fundamentals.py +0 -0
  149. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/presenter/my_presentation.py +0 -0
  150. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/presenter/py_virtual_envs.py +0 -0
  151. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/proxy_test.py +0 -0
  152. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/pytest.ini +0 -0
  153. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/rate_limiting_test.py +0 -0
  154. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/raw_call.py +0 -0
  155. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/raw_driver_context.py +0 -0
  156. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/raw_file_call.py +0 -0
  157. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/raw_main_call.py +0 -0
  158. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/raw_parameter_script.py +0 -0
  159. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/raw_sb.py +0 -0
  160. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/raw_test_scripts.py +0 -0
  161. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/raw_uc_mode.py +0 -0
  162. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/setup.cfg +0 -0
  163. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/shadow_root_test.py +0 -0
  164. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/swag_labs_user_tests.py +0 -0
  165. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_apple_site.py +0 -0
  166. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_assert_elements.py +0 -0
  167. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_calculator.py +0 -0
  168. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_canvas.py +0 -0
  169. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_checkboxes.py +0 -0
  170. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_chinese_pdf.py +0 -0
  171. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_chromedriver.py +0 -0
  172. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_coffee_cart.py +0 -0
  173. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_console_logging.py +0 -0
  174. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_contains_selector.py +0 -0
  175. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_cycle_elements.py +0 -0
  176. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_decryption.py +0 -0
  177. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_deferred_asserts.py +0 -0
  178. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_demo_site.py +0 -0
  179. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_detect_404s.py +0 -0
  180. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_docs_site.py +0 -0
  181. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_double_click.py +0 -0
  182. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_download_files.py +0 -0
  183. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_download_images.py +0 -0
  184. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_drag_and_drop.py +0 -0
  185. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_error_page.py +0 -0
  186. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_event_firing.py +0 -0
  187. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_fail.py +0 -0
  188. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_get_coffee.py +0 -0
  189. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_get_locale_code.py +0 -0
  190. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_get_pdf_text.py +0 -0
  191. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_get_user_agent.py +0 -0
  192. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_hack_search.py +0 -0
  193. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_image_saving.py +0 -0
  194. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_inspect_html.py +0 -0
  195. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_login.py +0 -0
  196. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_markers.py +0 -0
  197. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_mfa_login.py +0 -0
  198. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_multiple_drivers.py +0 -0
  199. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_null.py +0 -0
  200. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_override_driver.py +0 -0
  201. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_override_sb_fixture.py +0 -0
  202. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_parse_soup.py +0 -0
  203. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_pdf_asserts.py +0 -0
  204. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_pytest_parametrize.py +0 -0
  205. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_repeat_tests.py +0 -0
  206. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_request_sb_fixture.py +0 -0
  207. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_save_screenshots.py +0 -0
  208. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_sb_fixture.py +0 -0
  209. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_scrape_bing.py +0 -0
  210. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_select_options.py +0 -0
  211. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_shadow_dom.py +0 -0
  212. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_show_file_choosers.py +0 -0
  213. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_skype_site.py +0 -0
  214. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_suite.py +0 -0
  215. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_swag_labs.py +0 -0
  216. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_tinymce.py +0 -0
  217. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_todomvc.py +0 -0
  218. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_url_asserts.py +0 -0
  219. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_usefixtures.py +0 -0
  220. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_verify_chromedriver.py +0 -0
  221. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_window_switching.py +0 -0
  222. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_xfail.py +0 -0
  223. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/test_xkcd.py +0 -0
  224. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/time_limit_test.py +0 -0
  225. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/ReadMe.md +0 -0
  226. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/bootstrap_google_tour.py +0 -0
  227. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/bootstrap_xkcd_tour.py +0 -0
  228. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/driverjs_maps_tour.py +0 -0
  229. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/google_tour.py +0 -0
  230. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/hopscotch_google_tour.py +0 -0
  231. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/introjs_google_tour.py +0 -0
  232. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/maps_introjs_tour.py +0 -0
  233. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/octocat_tour.py +0 -0
  234. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/shepherd_google_tour.py +0 -0
  235. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/tour_examples/xkcd_tour.py +0 -0
  236. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/ReadMe.md +0 -0
  237. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/chinese_test_1.py +0 -0
  238. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/dutch_test_1.py +0 -0
  239. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/english_test_1.py +0 -0
  240. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/french_test_1.py +0 -0
  241. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/italian_test_1.py +0 -0
  242. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/japanese_test_1.py +0 -0
  243. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/korean_test_1.py +0 -0
  244. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/portuguese_test_1.py +0 -0
  245. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/pytest.ini +0 -0
  246. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/russian_test_1.py +0 -0
  247. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/translations/spanish_test_1.py +0 -0
  248. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/uc_cdp_events.py +0 -0
  249. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/unit_tests/ReadMe.md +0 -0
  250. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/unit_tests/verify_framework.py +0 -0
  251. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/upgrade_chromedriver.py +0 -0
  252. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/upload_file_test.py +0 -0
  253. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/user_agent_test.py +0 -0
  254. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/verify_undetected.py +0 -0
  255. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/ReadMe.md +0 -0
  256. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/__init__.py +0 -0
  257. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/case_plans/layout_test.VisualLayoutTests.test_applitools_layout_change.md +0 -0
  258. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/case_plans/python_home_test.VisualLayoutTests.test_python_home_layout_change.md +0 -0
  259. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/case_plans/test_layout_fail.VisualLayoutFailureTests.test_applitools_change.md +0 -0
  260. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/case_plans/test_layout_fail.VisualLayoutFailureTests.test_xkcd_logo_change.md +0 -0
  261. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/case_plans/test_layout_fail.VisualLayout_FixtureTests.test_python_home_change.md +0 -0
  262. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/case_plans/xkcd_visual_test.VisualLayoutTests.test_xkcd_layout_change.md +0 -0
  263. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/layout_test.py +0 -0
  264. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/python_home_test.py +0 -0
  265. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/test_layout_fail.py +0 -0
  266. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/visual_testing/xkcd_visual_test.py +0 -0
  267. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/wordle_test.py +0 -0
  268. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/xpath_test.py +0 -0
  269. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/examples/youtube_search_test.py +0 -0
  270. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/ReadMe.md +0 -0
  271. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/behave_gui.md +0 -0
  272. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/case_plans.md +0 -0
  273. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/chinese.md +0 -0
  274. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/commander.md +0 -0
  275. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/demo_mode.md +0 -0
  276. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/desired_capabilities.md +0 -0
  277. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/features_list.md +0 -0
  278. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/handling_iframes.md +0 -0
  279. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/happy_customers.md +0 -0
  280. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/hidden_files_info.md +0 -0
  281. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/how_it_works.md +0 -0
  282. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/html_inspector.md +0 -0
  283. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/install.md +0 -0
  284. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/install_python_pip_git.md +0 -0
  285. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/js_package_manager.md +0 -0
  286. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/locale_codes.md +0 -0
  287. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/method_summary.md +0 -0
  288. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/mobile_testing.md +0 -0
  289. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/mysql_installation.md +0 -0
  290. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/recorder_mode.md +0 -0
  291. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/shadow_dom.md +0 -0
  292. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/syntax_formats.md +0 -0
  293. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/thank_you.md +0 -0
  294. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/translations.md +0 -0
  295. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/useful_grep_commands.md +0 -0
  296. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/using_safari_driver.md +0 -0
  297. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/verify_webdriver.md +0 -0
  298. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/virtualenv_instructions.md +0 -0
  299. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/help_docs/webdriver_installation.md +0 -0
  300. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/install.sh +0 -0
  301. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/__init__.py +0 -0
  302. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/azure/azure_pipelines/ReadMe.md +0 -0
  303. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/azure/jenkins/ReadMe.md +0 -0
  304. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/ReadMe.md +0 -0
  305. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/behave.ini +0 -0
  306. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/__init__.py +0 -0
  307. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/behave.ini +0 -0
  308. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/calculator.feature +0 -0
  309. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/environment.py +0 -0
  310. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/fail_page.feature +0 -0
  311. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/realworld.feature +0 -0
  312. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/steps/__init__.py +0 -0
  313. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/steps/calculator.py +0 -0
  314. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/steps/fail_page.py +0 -0
  315. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/steps/real_world.py +0 -0
  316. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/steps/swag_labs.py +0 -0
  317. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/behave/features/swag_labs.feature +0 -0
  318. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/brython/ReadMe.md +0 -0
  319. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/brython/index.html +0 -0
  320. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/brython/index.py +0 -0
  321. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/brython/library.html +0 -0
  322. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/docker/ReadMe.md +0 -0
  323. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/docker/docker-entrypoint.sh +0 -0
  324. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/docker/run_docker_test_in_chrome.sh +0 -0
  325. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/github/ReadMe.md +0 -0
  326. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/github/workflows/ReadMe.md +0 -0
  327. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/github/workflows/extras.md +0 -0
  328. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/google_cloud/ReadMe.md +0 -0
  329. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/katalon/ReadMe.md +0 -0
  330. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/linux/Linuxfile.sh +0 -0
  331. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/linux/ReadMe.md +0 -0
  332. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/linux/Xvfb_launcher.sh +0 -0
  333. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/linux/jenkins_permissions.sh +0 -0
  334. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/linux/tomcat_permissions.sh +0 -0
  335. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/node_js/ReadMe.md +0 -0
  336. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/node_js/__init__.py +0 -0
  337. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/node_js/index.html +0 -0
  338. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/node_js/my_first_test.py +0 -0
  339. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/node_js/npm-shrinkwrap.json +0 -0
  340. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/node_js/package.json +0 -0
  341. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/node_js/server.js +0 -0
  342. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/node_js/test_demo_site.py +0 -0
  343. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/selenium_grid/ReadMe.md +0 -0
  344. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/integrations/selenium_ide/ReadMe.md +0 -0
  345. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs.yml +0 -0
  346. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/ReadMe.txt +0 -0
  347. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/docs_instructions.txt +0 -0
  348. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/dash_pie.png +0 -0
  349. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/dash_pie_2.png +0 -0
  350. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/dash_pie_3.png +0 -0
  351. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/favicon.ico +0 -0
  352. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/grad_logo.png +0 -0
  353. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/green_icon.png +0 -0
  354. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/green_logo.png +0 -0
  355. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/green_logo2.png +0 -0
  356. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/green_logo3.png +0 -0
  357. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/logo3.png +0 -0
  358. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/logo3a.png +0 -0
  359. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/logo3b.png +0 -0
  360. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/logo3c.png +0 -0
  361. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/logo4.png +0 -0
  362. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/logo5.png +0 -0
  363. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/logo6.png +0 -0
  364. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/logo7.png +0 -0
  365. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/sb_icon.png +0 -0
  366. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/sb_logo_10.png +0 -0
  367. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/sb_logo_7.png +0 -0
  368. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/side_by_side.png +0 -0
  369. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/social/share_facebook.svg +0 -0
  370. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/social/share_github.svg +0 -0
  371. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/social/share_gitter.svg +0 -0
  372. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/social/share_instagram.svg +0 -0
  373. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/img/social/share_twitter.svg +0 -0
  374. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/index.txt +0 -0
  375. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/mkdocs_build/prepare.py +0 -0
  376. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/pytest.ini +0 -0
  377. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/requirements.txt +0 -0
  378. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/sbase/ReadMe.txt +0 -0
  379. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/sbase/__init__.py +0 -0
  380. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/sbase/__main__.py +0 -0
  381. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/sbase/steps.py +0 -0
  382. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/ReadMe.md +0 -0
  383. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/__init__.py +0 -0
  384. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/__main__.py +0 -0
  385. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/behave/__init__.py +0 -0
  386. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/behave/behave_helper.py +0 -0
  387. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/behave/steps.py +0 -0
  388. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/common/ReadMe.md +0 -0
  389. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/common/__init__.py +0 -0
  390. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/common/decorators.py +0 -0
  391. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/common/encryption.py +0 -0
  392. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/common/exceptions.py +0 -0
  393. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/common/obfuscate.py +0 -0
  394. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/common/unobfuscate.py +0 -0
  395. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/config/__init__.py +0 -0
  396. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/config/ad_block_list.py +0 -0
  397. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/config/proxy_list.py +0 -0
  398. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/ReadMe.md +0 -0
  399. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/__init__.py +0 -0
  400. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/logo_helper.py +0 -0
  401. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/rich_helper.py +0 -0
  402. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/run.py +0 -0
  403. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  404. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  405. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_commander.py +0 -0
  406. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_install.py +0 -0
  407. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  408. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
  409. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  410. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  411. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  412. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  413. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_print.py +0 -0
  414. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  415. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/__init__.py +0 -0
  416. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/application_manager.py +0 -0
  417. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/capabilities_parser.py +0 -0
  418. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/colored_traceback.py +0 -0
  419. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/create_db_tables.sql +0 -0
  420. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/detect_b_ver.py +0 -0
  421. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/download_helper.py +0 -0
  422. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/encoded_images.py +0 -0
  423. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/jqc_helper.py +0 -0
  424. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/log_helper.py +0 -0
  425. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/mysql.py +0 -0
  426. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/proxy_helper.py +0 -0
  427. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/recorder_helper.py +0 -0
  428. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/report_helper.py +0 -0
  429. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/s3_manager.py +0 -0
  430. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/sb_driver.py +0 -0
  431. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/session_helper.py +0 -0
  432. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/settings_parser.py +0 -0
  433. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/style_sheet.py +0 -0
  434. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/testcase_manager.py +0 -0
  435. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/tour_helper.py +0 -0
  436. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/core/visual_helper.py +0 -0
  437. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/drivers/ReadMe.md +0 -0
  438. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/drivers/__init__.py +0 -0
  439. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/extensions/ReadMe.md +0 -0
  440. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/extensions/__init__.py +0 -0
  441. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/extensions/ad_block.zip +0 -0
  442. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/extensions/disable_csp.zip +0 -0
  443. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/extensions/recorder.zip +0 -0
  444. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/extensions/sbase_ext.zip +0 -0
  445. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/__init__.py +0 -0
  446. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/constants.py +0 -0
  447. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  448. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/errors.py +0 -0
  449. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/page_actions.py +0 -0
  450. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/page_utils.py +0 -0
  451. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/shared_utils.py +0 -0
  452. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/unittest_helper.py +0 -0
  453. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/words.py +0 -0
  454. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  455. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/js_code/__init__.py +0 -0
  456. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/js_code/active_css_js.py +0 -0
  457. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/js_code/live_js.py +0 -0
  458. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/js_code/recorder_js.py +0 -0
  459. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/masterqa/ReadMe.md +0 -0
  460. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/masterqa/__init__.py +0 -0
  461. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/masterqa/master_qa.py +0 -0
  462. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/__init__.py +0 -0
  463. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/base_plugin.py +0 -0
  464. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/basic_test_info.py +0 -0
  465. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  466. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/driver_manager.py +0 -0
  467. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/page_source.py +0 -0
  468. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  469. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/plugins/screen_shots.py +0 -0
  470. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/resources/ReadMe.md +0 -0
  471. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/resources/__init__.py +0 -0
  472. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/resources/favicon.ico +0 -0
  473. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/__init__.py +0 -0
  474. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/chinese.py +0 -0
  475. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/dutch.py +0 -0
  476. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/french.py +0 -0
  477. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/italian.py +0 -0
  478. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/japanese.py +0 -0
  479. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/korean.py +0 -0
  480. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/master_dict.py +0 -0
  481. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/portuguese.py +0 -0
  482. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/russian.py +0 -0
  483. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/spanish.py +0 -0
  484. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/translate/translator.py +0 -0
  485. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/undetected/__init__.py +0 -0
  486. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/undetected/cdp.py +0 -0
  487. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/undetected/dprocess.py +0 -0
  488. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/undetected/options.py +0 -0
  489. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/undetected/patcher.py +0 -0
  490. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/undetected/reactor.py +0 -0
  491. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/undetected/webelement.py +0 -0
  492. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/__init__.py +0 -0
  493. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/ReadMe.md +0 -0
  494. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  495. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  496. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  497. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  498. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  499. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  500. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  501. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  502. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  503. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  504. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  505. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_ide/ReadMe.md +0 -0
  506. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  507. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  508. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase.egg-info/SOURCES.txt +0 -0
  509. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase.egg-info/dependency_links.txt +0 -0
  510. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase.egg-info/entry_points.txt +0 -0
  511. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase.egg-info/requires.txt +0 -0
  512. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/seleniumbase.egg-info/top_level.txt +0 -0
  513. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/setup.cfg +0 -0
  514. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/setup.py +0 -0
  515. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/virtualenv_install.sh +0 -0
  516. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/win_install.bat +0 -0
  517. {seleniumbase-4.30.4a3 → seleniumbase-4.30.5}/win_virtualenv.bat +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.30.4a3
3
+ Version: 4.30.5
4
4
  Summary: A complete web automation framework for end-to-end testing.
5
5
  Home-page: https://github.com/seleniumbase/SeleniumBase
6
6
  Author: Michael Mintz
@@ -836,6 +836,7 @@ pytest test_coffee_cart.py --trace
836
836
  --binary-location=PATH # (Set path of the Chromium browser binary to use.)
837
837
  --driver-version=VER # (Set the chromedriver or uc_driver version to use.)
838
838
  --sjw # (Skip JS Waits for readyState to be "complete" or Angular to load.)
839
+ --wfa # (Wait for AngularJS to be done loading after specific web actions.)
839
840
  --pls=PLS # (Set pageLoadStrategy on Chrome: "normal", "eager", or "none".)
840
841
  --headless # (Run tests in headless mode. The default arg on Linux OS.)
841
842
  --headless2 # (Use the new headless mode, which supports extensions.)
@@ -651,6 +651,7 @@ pytest test_coffee_cart.py --trace
651
651
  --binary-location=PATH # (Set path of the Chromium browser binary to use.)
652
652
  --driver-version=VER # (Set the chromedriver or uc_driver version to use.)
653
653
  --sjw # (Skip JS Waits for readyState to be "complete" or Angular to load.)
654
+ --wfa # (Wait for AngularJS to be done loading after specific web actions.)
654
655
  --pls=PLS # (Set pageLoadStrategy on Chrome: "normal", "eager", or "none".)
655
656
  --headless # (Run tests in headless mode. The default arg on Linux OS.)
656
657
  --headless2 # (Use the new headless mode, which supports extensions.)
@@ -48,7 +48,7 @@ WAIT_FOR_RSC_ON_PAGE_LOADS = True
48
48
  # Called after self.click(selector), NOT element.click()
49
49
  WAIT_FOR_RSC_ON_CLICKS = False
50
50
  # Wait for AngularJS calls to complete after various browser actions.
51
- WAIT_FOR_ANGULARJS = True
51
+ WAIT_FOR_ANGULARJS = False
52
52
  # Skip ALL calls to wait_for_ready_state_complete() and wait_for_angularjs().
53
53
  SKIP_JS_WAITS = False
54
54
 
@@ -131,10 +131,11 @@ class HackTests(BaseCase):
131
131
  self.highlight("section.crayons-card", loops=7, scroll=False)
132
132
 
133
133
  self.open("https://azure.microsoft.com/en-us/services/playfab/")
134
- self.remove_elements('div[role="dialog"]')
135
134
  self.set_text_content("h1", aybabtu)
136
135
  self.set_text_content('a[aria-label*="Try Azure"]', ayb)
137
136
  self.set_text_content('a[aria-label*="Sign in to"]', abtu)
137
+ self.remove_elements('div[role="dialog"]')
138
+ self.remove_elements('[aria-label*="Microsoft Survey"]')
138
139
  self.highlight("h1", loops=6, scroll=False)
139
140
  self.highlight('a[aria-label*="Try Azure"]', loops=4, scroll=False)
140
141
  self.highlight('a[aria-label*="Sign in to"]', loops=6, scroll=False)
@@ -308,15 +309,6 @@ class HackTests(BaseCase):
308
309
  self.highlight("h1", loops=6, scroll=False)
309
310
  self.highlight("input#search", loops=8, scroll=False)
310
311
 
311
- self.open("https://www.atlassian.com/software/jira")
312
- self.set_text_content('a[href*="jira/pricing"]', ayb)
313
- self.set_text_content('a[href*="jira/enterprise"]', abtu)
314
- self.set_text_content('a[href="/software/jira/features"]', "")
315
- self.set_text_content("h1", aybabtu)
316
- self.highlight('a[href*="jira/pricing"]', loops=5, scroll=False)
317
- self.highlight('a[href*="jira/enterprise"]', loops=6, scroll=False)
318
- self.highlight("h1", loops=8, scroll=False)
319
-
320
312
  self.open("https://status.iboss.com/ibcloud/app/cloudStatus.html")
321
313
  self.wait_for_element_clickable('div[translate*="cloudStatus"]')
322
314
  self.set_text_content('div[translate*="cloudStatus"]', ayb)
@@ -39,7 +39,7 @@ class TestGeolocation(BaseCase):
39
39
  )
40
40
  self.open("https://www.openstreetmap.org/")
41
41
  self.click("span.geolocate")
42
- self.assert_url_contains("48.87645/2.26340")
42
+ self.assert_url_contains("48.876450/2.263400")
43
43
  self.save_screenshot_to_logs()
44
44
  if self.headed:
45
45
  self.sleep(4)
@@ -142,6 +142,7 @@ pytest my_first_test.py --settings-file=custom_settings.py
142
142
  --binary-location=PATH # (Set path of the Chromium browser binary to use.)
143
143
  --driver-version=VER # (Set the chromedriver or uc_driver version to use.)
144
144
  --sjw # (Skip JS Waits for readyState to be "complete" or Angular to load.)
145
+ --wfa # (Wait for AngularJS to be done loading after specific web actions.)
145
146
  --pls=PLS # (Set pageLoadStrategy on Chrome: "normal", "eager", or "none".)
146
147
  --headless # (Run tests in headless mode. The default arg on Linux OS.)
147
148
  --headless2 # (Use the new headless mode, which supports extensions.)
@@ -1,7 +1,7 @@
1
1
  # mkdocs dependencies for generating the seleniumbase.io website
2
2
  # Minimum Python version: 3.8 (for generating docs only)
3
3
 
4
- regex>=2024.7.24
4
+ regex>=2024.9.11
5
5
  pymdown-extensions>=10.9
6
6
  pipdeptree>=2.23.3
7
7
  python-dateutil>=2.8.2
@@ -0,0 +1,2 @@
1
+ # seleniumbase package
2
+ __version__ = "4.30.5"
@@ -42,6 +42,7 @@ behave -D agent="User Agent String" -D demo
42
42
  -D binary-location=PATH (Set path of the Chromium browser binary to use.)
43
43
  -D driver-version=VER (Set the chromedriver or uc_driver version to use.)
44
44
  -D sjw (Skip JS Waits for readyState to be "complete" or Angular to load.)
45
+ -D wfa (Wait for AngularJS to be done loading after specific web actions.)
45
46
  -D pls=PLS (Set pageLoadStrategy on Chrome: "normal", "eager", or "none".)
46
47
  -D headless (Run tests in headless mode. The default arg on Linux OS.)
47
48
  -D headless2 (Use the new headless mode, which supports extensions.)
@@ -588,6 +589,10 @@ def get_configured_sb(context):
588
589
  if low_key in ["sjw", "skip-js-waits", "skip_js_waits"]:
589
590
  settings.SKIP_JS_WAITS = True
590
591
  continue
592
+ # Handle: -D wfa / wait-for-angularjs / wait_for_angularjs
593
+ if low_key in ["wfa", "wait-for-angularjs", "wait_for_angularjs"]:
594
+ settings.WAIT_FOR_ANGULARJS = True
595
+ continue
591
596
  # Handle: -D visual-baseline / visual_baseline
592
597
  if low_key in ["visual-baseline", "visual_baseline"]:
593
598
  sb.visual_baseline = True
@@ -889,6 +894,16 @@ def get_configured_sb(context):
889
894
  # If the port is "443", the protocol is "https"
890
895
  if str(sb.port) == "443":
891
896
  sb.protocol = "https"
897
+ if (
898
+ (sb.enable_ws is None and sb.disable_ws is None)
899
+ or (sb.disable_ws is not None and not sb.disable_ws)
900
+ or (sb.enable_ws is not None and sb.enable_ws)
901
+ ):
902
+ sb.enable_ws = True
903
+ sb.disable_ws = False
904
+ else:
905
+ sb.enable_ws = False
906
+ sb.disable_ws = True
892
907
  if sb.window_size:
893
908
  window_size = sb.window_size
894
909
  if window_size.count(",") != 1:
@@ -75,7 +75,7 @@ WAIT_FOR_RSC_ON_PAGE_LOADS = True
75
75
  # Called after self.click(selector), NOT element.click()
76
76
  WAIT_FOR_RSC_ON_CLICKS = False
77
77
  # Wait for AngularJS calls to complete after various browser actions.
78
- WAIT_FOR_ANGULARJS = True
78
+ WAIT_FOR_ANGULARJS = False
79
79
  # Skip all calls to wait_for_ready_state_complete() and wait_for_angularjs().
80
80
  SKIP_JS_WAITS = False
81
81
 
@@ -982,16 +982,19 @@ def _uc_gui_click_captcha(
982
982
  _uc_gui_click_x_y(driver, x, y, timeframe=0.95)
983
983
  except Exception:
984
984
  pass
985
- reconnect_time = (float(constants.UC.RECONNECT_TIME) / 2.0) + 0.5
985
+ reconnect_time = (float(constants.UC.RECONNECT_TIME) / 2.0) + 0.6
986
986
  if IS_LINUX:
987
- reconnect_time = constants.UC.RECONNECT_TIME + 0.25
987
+ reconnect_time = constants.UC.RECONNECT_TIME + 0.2
988
988
  if not x or not y:
989
989
  reconnect_time = 1 # Make it quick (it already failed)
990
990
  driver.reconnect(reconnect_time)
991
- if blind or (IS_LINUX and "Just a moment" in driver.title):
992
- retry = True
991
+ caught = False
992
+ if driver.is_element_present(".footer .clearfix .ray-id"):
993
993
  blind = True
994
- if retry and x and y and _on_a_captcha_page(driver):
994
+ caught = True
995
+ if blind:
996
+ retry = True
997
+ if retry and x and y and (caught or _on_a_captcha_page(driver)):
995
998
  with gui_lock: # Prevent issues with multiple processes
996
999
  # Make sure the window is on top
997
1000
  page_actions.switch_to_window(
@@ -1056,11 +1059,7 @@ def uc_gui_click_cf(driver, frame="iframe", retry=False, blind=False):
1056
1059
  )
1057
1060
 
1058
1061
 
1059
- def _uc_gui_handle_captcha(
1060
- driver,
1061
- frame="iframe",
1062
- ctype=None,
1063
- ):
1062
+ def _uc_gui_handle_captcha_(driver, frame="iframe", ctype=None):
1064
1063
  if ctype == "cf_t":
1065
1064
  if not _on_a_cf_turnstile_page(driver):
1066
1065
  return
@@ -1202,12 +1201,19 @@ def _uc_gui_handle_captcha(
1202
1201
  pyautogui.press(" ")
1203
1202
  except Exception:
1204
1203
  pass
1205
- reconnect_time = (float(constants.UC.RECONNECT_TIME) / 2.0) + 0.5
1204
+ reconnect_time = (float(constants.UC.RECONNECT_TIME) / 2.0) + 0.6
1206
1205
  if IS_LINUX:
1207
- reconnect_time = constants.UC.RECONNECT_TIME + 0.15
1206
+ reconnect_time = constants.UC.RECONNECT_TIME + 0.2
1208
1207
  driver.reconnect(reconnect_time)
1209
1208
 
1210
1209
 
1210
+ def _uc_gui_handle_captcha(driver, frame="iframe", ctype=None):
1211
+ _uc_gui_handle_captcha_(driver, frame=frame, ctype=ctype)
1212
+ if driver.is_element_present(".footer .clearfix .ray-id"):
1213
+ driver.uc_open_with_reconnect(driver.current_url, 3.8)
1214
+ _uc_gui_handle_captcha_(driver, frame=frame, ctype=ctype)
1215
+
1216
+
1211
1217
  def uc_gui_handle_captcha(driver, frame="iframe"):
1212
1218
  _uc_gui_handle_captcha(driver, frame=frame, ctype=None)
1213
1219
 
@@ -16071,7 +16071,10 @@ class BaseCase(unittest.TestCase):
16071
16071
  try:
16072
16072
  self.driver.window_handles
16073
16073
  except Exception:
16074
- self.driver.connect()
16074
+ try:
16075
+ self.driver.connect()
16076
+ except Exception:
16077
+ pass
16075
16078
  self.__slow_mode_pause_if_active()
16076
16079
  has_exception = self.__has_exception()
16077
16080
  sb_config._has_exception = has_exception
@@ -48,7 +48,7 @@ def wait_for_ready_state_complete(driver, timeout=settings.LARGE_TIMEOUT):
48
48
  return False # readyState stayed "interactive" (Not "complete")
49
49
 
50
50
 
51
- def execute_async_script(driver, script, timeout=settings.EXTREME_TIMEOUT):
51
+ def execute_async_script(driver, script, timeout=settings.LARGE_TIMEOUT):
52
52
  driver.set_script_timeout(timeout)
53
53
  return driver.execute_async_script(script)
54
54
 
@@ -56,11 +56,20 @@ def execute_async_script(driver, script, timeout=settings.EXTREME_TIMEOUT):
56
56
  def wait_for_angularjs(driver, timeout=settings.LARGE_TIMEOUT, **kwargs):
57
57
  if hasattr(settings, "SKIP_JS_WAITS") and settings.SKIP_JS_WAITS:
58
58
  return
59
+ try:
60
+ # This closes pop-up alerts
61
+ driver.execute_script("")
62
+ except Exception:
63
+ pass
64
+ if hasattr(driver, "_is_using_uc") and driver._is_using_uc:
65
+ # Calling AngularJS waits may make UC Mode detectable.
66
+ # Instead, pause for a brief moment, and then return.
67
+ time.sleep(0.007)
68
+ return
59
69
  if not settings.WAIT_FOR_ANGULARJS:
60
70
  return
61
71
  if timeout == settings.MINI_TIMEOUT:
62
- timeout = settings.MINI_TIMEOUT / 2.0
63
-
72
+ timeout = settings.MINI_TIMEOUT / 4.0
64
73
  NG_WRAPPER = (
65
74
  "%(prefix)s"
66
75
  "var $elm=document.querySelector("
@@ -84,15 +93,10 @@ def wait_for_angularjs(driver, timeout=settings.LARGE_TIMEOUT, **kwargs):
84
93
  "handler": handler,
85
94
  "suffix": suffix,
86
95
  }
87
- try:
88
- # This closes any pop-up alerts (otherwise the next part fails)
89
- driver.execute_script("")
90
- except Exception:
91
- pass
92
96
  try:
93
97
  execute_async_script(driver, script, timeout=timeout)
94
98
  except Exception:
95
- time.sleep(0.05)
99
+ time.sleep(0.0456)
96
100
 
97
101
 
98
102
  def convert_to_css_selector(selector, by=By.CSS_SELECTOR):
@@ -59,6 +59,7 @@ def pytest_addoption(parser):
59
59
  --binary-location=PATH (Set path of the Chromium browser binary to use.)
60
60
  --driver-version=VER (Set the chromedriver or uc_driver version to use.)
61
61
  --sjw (Skip JS Waits for readyState to be "complete" or Angular to load.)
62
+ --wfa (Wait for AngularJS to be done loading after specific web actions.)
62
63
  --pls=PLS (Set pageLoadStrategy on Chrome: "normal", "eager", or "none".)
63
64
  --headless (Run tests in headless mode. The default arg on Linux OS.)
64
65
  --headless2 (Use the new headless mode, which supports extensions.)
@@ -358,6 +359,17 @@ def pytest_addoption(parser):
358
359
  and wait_for_angularjs(), which are part of many
359
360
  SeleniumBase methods for improving reliability.""",
360
361
  )
362
+ parser.addoption(
363
+ "--wfa",
364
+ "--wait_for_angularjs",
365
+ "--wait-for-angularjs",
366
+ action="store_true",
367
+ dest="wait_for_angularjs",
368
+ default=False,
369
+ help="""Add waiting for AngularJS. (The default setting
370
+ was changed to no longer wait for AngularJS to
371
+ finish loading as an extra JavaScript call.)""",
372
+ )
361
373
  parser.addoption(
362
374
  "--with-db_reporting",
363
375
  "--with-db-reporting",
@@ -1546,6 +1558,8 @@ def pytest_configure(config):
1546
1558
  settings.ARCHIVE_EXISTING_DOWNLOADS = True
1547
1559
  if config.getoption("skip_js_waits"):
1548
1560
  settings.SKIP_JS_WAITS = True
1561
+ if config.getoption("wait_for_angularjs"):
1562
+ settings.WAIT_FOR_ANGULARJS = True
1549
1563
  sb_config.all_scripts = config.getoption("all_scripts")
1550
1564
  sb_config._time_limit = config.getoption("time_limit")
1551
1565
  sb_config.time_limit = config.getoption("time_limit")
@@ -76,6 +76,7 @@ def SB(
76
76
  binary_location=None, # Set path of the Chromium browser binary to use.
77
77
  driver_version=None, # Set the chromedriver or uc_driver version to use.
78
78
  skip_js_waits=None, # Skip JS Waits (readyState=="complete" and Angular).
79
+ wait_for_angularjs=None, # Wait for AngularJS to load after some actions.
79
80
  use_wire=None, # Use selenium-wire's webdriver over selenium webdriver.
80
81
  external_pdf=None, # Set Chrome "plugins.always_open_pdf_externally":True.
81
82
  is_mobile=None, # Use the mobile device emulator while running tests.
@@ -109,6 +110,7 @@ def SB(
109
110
  wire=None, # Shortcut / Duplicate of "use_wire".
110
111
  pls=None, # Shortcut / Duplicate of "page_load_strategy".
111
112
  sjw=None, # Shortcut / Duplicate of "skip_js_waits".
113
+ wfa=None, # Shortcut / Duplicate of "wait_for_angularjs".
112
114
  save_screenshot=None, # Save a screenshot at the end of each test.
113
115
  no_screenshot=None, # No screenshots saved unless tests directly ask it.
114
116
  page_load_strategy=None, # Set Chrome PLS to "normal", "eager", or "none".
@@ -607,6 +609,17 @@ def SB(
607
609
  settings.SKIP_JS_WAITS = True
608
610
  elif skip_js_waits:
609
611
  settings.SKIP_JS_WAITS = skip_js_waits
612
+ if wfa is not None and wait_for_angularjs is None:
613
+ wait_for_angularjs = wfa
614
+ if wait_for_angularjs is None:
615
+ if (
616
+ "--wfa" in sys_argv
617
+ or "--wait_for_angularjs" in sys_argv
618
+ or "--wait-for-angularjs" in sys_argv
619
+ ):
620
+ settings.WAIT_FOR_ANGULARJS = True
621
+ elif wait_for_angularjs:
622
+ settings.WAIT_FOR_ANGULARJS = wait_for_angularjs
610
623
  if save_screenshot is None:
611
624
  if (
612
625
  "--screenshot" in sys_argv
@@ -40,6 +40,7 @@ class SeleniumBrowser(Plugin):
40
40
  --binary-location=PATH (Set path of the Chromium browser binary to use.)
41
41
  --driver-version=VER (Set the chromedriver or uc_driver version to use.)
42
42
  --sjw (Skip JS Waits for readyState to be "complete" or Angular to load.)
43
+ --wfa (Wait for AngularJS to be done loading after specific web actions.)
43
44
  --pls=PLS (Set pageLoadStrategy on Chrome: "normal", "eager", or "none".)
44
45
  --headless (Run tests in headless mode. The default arg on Linux OS.)
45
46
  --headless2 (Use the new headless mode, which supports extensions.)
@@ -178,6 +179,17 @@ class SeleniumBrowser(Plugin):
178
179
  and wait_for_angularjs(), which are part of many
179
180
  SeleniumBase methods for improving reliability.""",
180
181
  )
182
+ parser.addoption(
183
+ "--wfa",
184
+ "--wait_for_angularjs",
185
+ "--wait-for-angularjs",
186
+ action="store_true",
187
+ dest="wait_for_angularjs",
188
+ default=False,
189
+ help="""Add waiting for AngularJS. (The default setting
190
+ was changed to no longer wait for AngularJS to
191
+ finish loading as an extra JavaScript call.)""",
192
+ )
181
193
  parser.addoption(
182
194
  "--protocol",
183
195
  action="store",
@@ -1105,6 +1117,8 @@ class SeleniumBrowser(Plugin):
1105
1117
  test.test.start_page = self.options.start_page
1106
1118
  if self.options.skip_js_waits:
1107
1119
  settings.SKIP_JS_WAITS = True
1120
+ if self.options.wait_for_angularjs:
1121
+ settings.WAIT_FOR_ANGULARJS = True
1108
1122
  test.test.protocol = self.options.protocol
1109
1123
  test.test.servername = self.options.servername
1110
1124
  test.test.port = self.options.port
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.30.4a3
3
+ Version: 4.30.5
4
4
  Summary: A complete web automation framework for end-to-end testing.
5
5
  Home-page: https://github.com/seleniumbase/SeleniumBase
6
6
  Author: Michael Mintz
@@ -836,6 +836,7 @@ pytest test_coffee_cart.py --trace
836
836
  --binary-location=PATH # (Set path of the Chromium browser binary to use.)
837
837
  --driver-version=VER # (Set the chromedriver or uc_driver version to use.)
838
838
  --sjw # (Skip JS Waits for readyState to be "complete" or Angular to load.)
839
+ --wfa # (Wait for AngularJS to be done loading after specific web actions.)
839
840
  --pls=PLS # (Set pageLoadStrategy on Chrome: "normal", "eager", or "none".)
840
841
  --headless # (Run tests in headless mode. The default arg on Linux OS.)
841
842
  --headless2 # (Use the new headless mode, which supports extensions.)
@@ -1,2 +0,0 @@
1
- # seleniumbase package
2
- __version__ = "4.30.4a3"
File without changes
File without changes