Skip to content

Commit 3c56e77

Browse files
committed
Refactoring
1 parent 1b937dc commit 3c56e77

File tree

2 files changed

+41
-36
lines changed

2 files changed

+41
-36
lines changed

seleniumbase/fixtures/page_actions.py

Lines changed: 13 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
from seleniumbase.config import settings
3737
from seleniumbase.core import log_helper
3838
from seleniumbase.fixtures import page_utils
39-
from seleniumbase.fixtures import shared_utils
39+
from seleniumbase.fixtures import shared_utils as s_utils
4040
ENI_Exception = selenium_exceptions.ElementNotInteractableException
4141

4242

@@ -113,31 +113,8 @@ def hover_element(driver, element):
113113
hover.perform()
114114

115115

116-
def format_message(exception, message):
117-
"""
118-
Formats an exception message to make the output cleaner.
119-
"""
120-
if exception == Exception:
121-
pass
122-
elif exception == ElementNotVisibleException:
123-
message = "ElementNotVisibleException: %s" % message
124-
elif exception == NoSuchElementException:
125-
message = "NoSuchElementException: %s" % message
126-
elif exception == NoAlertPresentException:
127-
message = "NoAlertPresentException: %s" % message
128-
elif exception == NoSuchFrameException:
129-
message = "NoSuchFrameException: %s" % message
130-
elif exception == NoSuchWindowException:
131-
message = "NoSuchWindowException: %s" % message
132-
elif type(exception) is str:
133-
message = "%s: %s" % (exception, message)
134-
else:
135-
pass
136-
return message
137-
138-
139116
def timeout_exception(exception, message):
140-
message = format_message(exception, message)
117+
message = s_utils.format_exc(exception, message)
141118
raise Exception(message)
142119

143120

@@ -256,7 +233,7 @@ def wait_for_element_present(driver, selector, by=By.CSS_SELECTOR,
256233
start_ms = time.time() * 1000.0
257234
stop_ms = start_ms + (timeout * 1000.0)
258235
for x in range(int(timeout * 10)):
259-
shared_utils.check_if_time_limit_exceeded()
236+
s_utils.check_if_time_limit_exceeded()
260237
try:
261238
element = driver.find_element(by=by, value=selector)
262239
return element
@@ -295,7 +272,7 @@ def wait_for_element_visible(driver, selector, by=By.CSS_SELECTOR,
295272
start_ms = time.time() * 1000.0
296273
stop_ms = start_ms + (timeout * 1000.0)
297274
for x in range(int(timeout * 10)):
298-
shared_utils.check_if_time_limit_exceeded()
275+
s_utils.check_if_time_limit_exceeded()
299276
try:
300277
element = driver.find_element(by=by, value=selector)
301278
if element.is_displayed():
@@ -343,7 +320,7 @@ def wait_for_text_visible(driver, text, selector, by=By.CSS_SELECTOR,
343320
start_ms = time.time() * 1000.0
344321
stop_ms = start_ms + (timeout * 1000.0)
345322
for x in range(int(timeout * 10)):
346-
shared_utils.check_if_time_limit_exceeded()
323+
s_utils.check_if_time_limit_exceeded()
347324
try:
348325
element = driver.find_element(by=by, value=selector)
349326
if element.is_displayed() and text in element.text:
@@ -387,7 +364,7 @@ def wait_for_exact_text_visible(driver, text, selector, by=By.CSS_SELECTOR,
387364
start_ms = time.time() * 1000.0
388365
stop_ms = start_ms + (timeout * 1000.0)
389366
for x in range(int(timeout * 10)):
390-
shared_utils.check_if_time_limit_exceeded()
367+
s_utils.check_if_time_limit_exceeded()
391368
try:
392369
element = driver.find_element(by=by, value=selector)
393370
if element.is_displayed() and text.strip() == element.text.strip():
@@ -425,7 +402,7 @@ def wait_for_element_absent(driver, selector, by=By.CSS_SELECTOR,
425402
start_ms = time.time() * 1000.0
426403
stop_ms = start_ms + (timeout * 1000.0)
427404
for x in range(int(timeout * 10)):
428-
shared_utils.check_if_time_limit_exceeded()
405+
s_utils.check_if_time_limit_exceeded()
429406
try:
430407
driver.find_element(by=by, value=selector)
431408
now_ms = time.time() * 1000.0
@@ -458,7 +435,7 @@ def wait_for_element_not_visible(driver, selector, by=By.CSS_SELECTOR,
458435
start_ms = time.time() * 1000.0
459436
stop_ms = start_ms + (timeout * 1000.0)
460437
for x in range(int(timeout * 10)):
461-
shared_utils.check_if_time_limit_exceeded()
438+
s_utils.check_if_time_limit_exceeded()
462439
try:
463440
element = driver.find_element(by=by, value=selector)
464441
if element.is_displayed():
@@ -497,7 +474,7 @@ def wait_for_text_not_visible(driver, text, selector, by=By.CSS_SELECTOR,
497474
start_ms = time.time() * 1000.0
498475
stop_ms = start_ms + (timeout * 1000.0)
499476
for x in range(int(timeout * 10)):
500-
shared_utils.check_if_time_limit_exceeded()
477+
s_utils.check_if_time_limit_exceeded()
501478
if not is_text_visible(driver, text, selector, by=by):
502479
return True
503480
now_ms = time.time() * 1000.0
@@ -664,7 +641,7 @@ def wait_for_and_switch_to_alert(driver, timeout=settings.LARGE_TIMEOUT):
664641
start_ms = time.time() * 1000.0
665642
stop_ms = start_ms + (timeout * 1000.0)
666643
for x in range(int(timeout * 10)):
667-
shared_utils.check_if_time_limit_exceeded()
644+
s_utils.check_if_time_limit_exceeded()
668645
try:
669646
alert = driver.switch_to.alert
670647
# Raises exception if no alert present
@@ -692,7 +669,7 @@ def switch_to_frame(driver, frame, timeout=settings.SMALL_TIMEOUT):
692669
start_ms = time.time() * 1000.0
693670
stop_ms = start_ms + (timeout * 1000.0)
694671
for x in range(int(timeout * 10)):
695-
shared_utils.check_if_time_limit_exceeded()
672+
s_utils.check_if_time_limit_exceeded()
696673
try:
697674
driver.switch_to.frame(frame)
698675
return True
@@ -736,7 +713,7 @@ def switch_to_window(driver, window, timeout=settings.SMALL_TIMEOUT):
736713
stop_ms = start_ms + (timeout * 1000.0)
737714
if isinstance(window, int):
738715
for x in range(int(timeout * 10)):
739-
shared_utils.check_if_time_limit_exceeded()
716+
s_utils.check_if_time_limit_exceeded()
740717
try:
741718
window_handle = driver.window_handles[window]
742719
driver.switch_to.window(window_handle)
@@ -756,7 +733,7 @@ def switch_to_window(driver, window, timeout=settings.SMALL_TIMEOUT):
756733
else:
757734
window_handle = window
758735
for x in range(int(timeout * 10)):
759-
shared_utils.check_if_time_limit_exceeded()
736+
s_utils.check_if_time_limit_exceeded()
760737
try:
761738
driver.switch_to.window(window_handle)
762739
return True

seleniumbase/fixtures/shared_utils.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,37 @@
22
This module contains shared utility methods.
33
"""
44
import time
5+
from selenium.webdriver.remote.errorhandler import ElementNotVisibleException
6+
from selenium.webdriver.remote.errorhandler import NoSuchElementException
7+
from selenium.webdriver.remote.errorhandler import NoAlertPresentException
8+
from selenium.webdriver.remote.errorhandler import NoSuchFrameException
9+
from selenium.webdriver.remote.errorhandler import NoSuchWindowException
510
from seleniumbase import config as sb_config
611

712

13+
def format_exc(exception, message):
14+
"""
15+
Formats an exception message to make the output cleaner.
16+
"""
17+
if exception == Exception:
18+
pass
19+
elif exception == ElementNotVisibleException:
20+
message = "ElementNotVisibleException: %s" % message
21+
elif exception == NoSuchElementException:
22+
message = "NoSuchElementException: %s" % message
23+
elif exception == NoAlertPresentException:
24+
message = "NoAlertPresentException: %s" % message
25+
elif exception == NoSuchFrameException:
26+
message = "NoSuchFrameException: %s" % message
27+
elif exception == NoSuchWindowException:
28+
message = "NoSuchWindowException: %s" % message
29+
elif type(exception) is str:
30+
message = "%s: %s" % (exception, message)
31+
else:
32+
pass
33+
return message
34+
35+
836
def __time_limit_exceeded(message):
937
raise Exception(
1038
"TimeLimitExceeded: %s" % message)

0 commit comments

Comments
 (0)