@@ -61,6 +61,7 @@ def test_anything(self):
61
61
from selenium.webdriver.remote.remote_connection import LOGGER
62
62
from seleniumbase import config as sb_config
63
63
from seleniumbase.__version__ import __version__
64
+ from seleniumbase.common import decorators
64
65
from seleniumbase.config import settings
65
66
from seleniumbase.core import download_helper
66
67
from seleniumbase.core import log_helper
@@ -170,9 +171,9 @@ def open(self, url):
170
171
self.__check_scope()
171
172
self.__check_browser()
172
173
if self.__needs_minimum_wait():
173
- time.sleep(0.01 )
174
+ time.sleep(0.025 )
174
175
if self.undetectable:
175
- time.sleep(0.02 )
176
+ time.sleep(0.025 )
176
177
pre_action_url = None
177
178
try:
178
179
pre_action_url = self.driver.current_url
@@ -3851,6 +3852,13 @@ def install_addon(self, xpi_file):
3851
3852
xpi_path = os.path.abspath(xpi_file)
3852
3853
self.driver.install_addon(xpi_path, temporary=True)
3853
3854
3855
+ def activate_jquery(self):
3856
+ """If "jQuery is not defined", use this method to activate it for use.
3857
+ This happens because jQuery is not always defined on web sites."""
3858
+ self.wait_for_ready_state_complete()
3859
+ js_utils.activate_jquery(self.driver)
3860
+ self.wait_for_ready_state_complete()
3861
+
3854
3862
def activate_demo_mode(self):
3855
3863
self.demo_mode = True
3856
3864
@@ -4945,22 +4953,6 @@ def __process_recorded_behave_actions(self, srt_actions, colorama):
4945
4953
out_file.close()
4946
4954
print("Created recordings/features/steps/imported.py")
4947
4955
4948
- def activate_jquery(self):
4949
- """If "jQuery is not defined", use this method to activate it for use.
4950
- This happens because jQuery is not always defined on web sites."""
4951
- self.wait_for_ready_state_complete()
4952
- js_utils.activate_jquery(self.driver)
4953
- self.wait_for_ready_state_complete()
4954
-
4955
- def __are_quotes_escaped(self, string):
4956
- return js_utils.are_quotes_escaped(string)
4957
-
4958
- def __escape_quotes_if_needed(self, string):
4959
- return js_utils.escape_quotes_if_needed(string)
4960
-
4961
- def __is_in_frame(self):
4962
- return js_utils.is_in_frame(self.driver)
4963
-
4964
4956
def bring_active_window_to_front(self):
4965
4957
"""Brings the active browser window to the front.
4966
4958
This is useful when multiple drivers are being used."""
@@ -6813,16 +6805,8 @@ def get_chromedriver_version(self):
6813
6805
return chromedriver_version
6814
6806
6815
6807
def is_chromedriver_too_old(self):
6816
- """There are known issues with chromedriver versions below 73.
6817
- This can impact tests that need to hover over an element, or ones
6818
- that require a custom downloads folder ("./downloaded_files").
6819
- Due to the situation that newer versions of chromedriver require
6820
- an exact match to the version of Chrome, an "old" version of
6821
- chromedriver is installed by default. It is then up to the user
6822
- to upgrade to the correct version of chromedriver from there.
6823
- This method can be used to change test behavior when trying
6824
- to perform an action that is impacted by having an old version
6825
- of chromedriver installed."""
6808
+ """Before chromedriver 73, there was no version check, which
6809
+ means it's possible to run a new Chrome with old drivers."""
6826
6810
self.__check_scope()
6827
6811
self.__fail_if_not_using_chrome("is_chromedriver_too_old()")
6828
6812
if int(self.get_chromedriver_version().split(".")[0]) < 73:
@@ -8189,9 +8173,6 @@ def _print(self, msg):
8189
8173
else:
8190
8174
print(msg)
8191
8175
8192
- def start_tour(self, name=None, interval=0):
8193
- self.play_tour(name=name, interval=interval)
8194
-
8195
8176
############
8196
8177
8197
8178
def add_css_link(self, css_link):
@@ -9960,7 +9941,6 @@ def play_tour(self, name=None, interval=0):
9960
9941
interval=interval,
9961
9942
)
9962
9943
else:
9963
- # "Shepherd"
9964
9944
tour_helper.play_shepherd_tour(
9965
9945
self.driver,
9966
9946
self._tour_steps,
@@ -9969,6 +9949,10 @@ def play_tour(self, name=None, interval=0):
9969
9949
interval=interval,
9970
9950
)
9971
9951
9952
+ def start_tour(self, name=None, interval=0):
9953
+ """Same as self.play_tour()"""
9954
+ self.play_tour(name=name, interval=interval)
9955
+
9972
9956
def export_tour(self, name=None, filename="my_tour.js", url=None):
9973
9957
"""Exports a tour as a JS file.
9974
9958
You can call self.export_tour() anywhere where you would
@@ -11425,6 +11409,17 @@ def quit_extra_driver(self, driver=None):
11425
11409
11426
11410
############
11427
11411
11412
+ def __are_quotes_escaped(self, string):
11413
+ return js_utils.are_quotes_escaped(string)
11414
+
11415
+ def __escape_quotes_if_needed(self, string):
11416
+ return js_utils.escape_quotes_if_needed(string)
11417
+
11418
+ def __is_in_frame(self):
11419
+ return js_utils.is_in_frame(self.driver)
11420
+
11421
+ ############
11422
+
11428
11423
def __assert_eq(self, *args, **kwargs):
11429
11424
"""Minified assert_equal() using only the list diff."""
11430
11425
minified_exception = None
@@ -12826,8 +12821,6 @@ def __activate_virtual_display_as_needed(self):
12826
12821
12827
12822
############
12828
12823
12829
- from seleniumbase.common import decorators
12830
-
12831
12824
@decorators.deprecated("You should use re.escape() instead.")
12832
12825
def jq_format(self, code):
12833
12826
# DEPRECATED - re.escape() already performs the intended action.
0 commit comments