Skip to content

Commit faeb571

Browse files
authored
Merge pull request #1475 from seleniumbase/convert-nums-to-strs-before-text-asserts
Convert numbers to strings before performing text asserts
2 parents 94e9f56 + 5e948cb commit faeb571

File tree

6 files changed

+21
-11
lines changed

6 files changed

+21
-11
lines changed

examples/test_usefixtures.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@
55
class Test_UseFixtures:
66
def test_usefixtures_on_class(self):
77
sb = self.sb
8-
sb.open("https://google.com/ncr")
9-
sb.type('input[title="Search"]', "SeleniumBase GitHub\n")
10-
sb.click('a[href*="github.com/seleniumbase/SeleniumBase"]')
11-
sb.assert_text("SeleniumBase", 'strong[itemprop="name"]')
12-
sb.assert_text("integrations")
13-
sb.assert_element('a[title="help_docs"]')
14-
sb.click('a[title="examples"]')
15-
sb.assert_exact_text("examples", "strong.final-path")
8+
sb.open("https://seleniumbase.io/realworld/login")
9+
sb.type("#username", "demo_user")
10+
sb.type("#password", "secret_pass")
11+
sb.enter_mfa_code("#totpcode", "GAXG2MTEOR3DMMDG") # 6-digit
12+
sb.assert_text("Welcome!", "h1")
13+
sb.highlight("img#image1") # A fancier assert_element() call
14+
sb.click('a:contains("This Page")')
15+
sb.save_screenshot_to_logs() # In "./latest_logs/" folder.
16+
sb.click_link("Sign out") # Must be "a" tag. Not "button".
17+
sb.assert_element('a:contains("Sign in")')
18+
sb.assert_exact_text("You have been signed out!", "#top_message")

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ packaging>=20.9;python_version<"3.6"
55
packaging>=21.3;python_version>="3.6"
66
setuptools>=44.1.1;python_version<"3.6"
77
setuptools>=59.6.0;python_version>="3.6" and python_version<"3.7"
8-
setuptools>=65.2.0;python_version>="3.7"
8+
setuptools>=65.3.0;python_version>="3.7"
99
tomli>=1.2.3;python_version>="3.6" and python_version<"3.7"
1010
tomli>=2.0.1;python_version>="3.7"
1111
wheel>=0.37.1

seleniumbase/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# seleniumbase package
2-
__version__ = "4.1.0"
2+
__version__ = "4.1.1"

seleniumbase/fixtures/base_case.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7103,6 +7103,7 @@ def __get_shadow_attribute(self, selector, attribute, timeout):
71037103
return element.get_attribute(attribute)
71047104

71057105
def __wait_for_shadow_text_visible(self, text, selector, timeout):
7106+
text = str(text)
71067107
start_ms = time.time() * 1000.0
71077108
stop_ms = start_ms + (settings.SMALL_TIMEOUT * 1000.0)
71087109
for x in range(int(settings.SMALL_TIMEOUT * 10)):
@@ -7136,6 +7137,7 @@ def __wait_for_shadow_text_visible(self, text, selector, timeout):
71367137
return True
71377138

71387139
def __wait_for_exact_shadow_text_visible(self, text, selector, timeout):
7140+
text = str(text)
71397141
start_ms = time.time() * 1000.0
71407142
stop_ms = start_ms + (settings.SMALL_TIMEOUT * 1000.0)
71417143
for x in range(int(settings.SMALL_TIMEOUT * 10)):
@@ -7256,6 +7258,7 @@ def __is_shadow_element_enabled(self, selector):
72567258
return False
72577259

72587260
def __is_shadow_text_visible(self, text, selector):
7261+
text = str(text)
72597262
try:
72607263
element = self.__get_shadow_element(selector, timeout=0.1)
72617264
if self.browser == "safari":

seleniumbase/fixtures/page_actions.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ def is_text_visible(driver, text, selector, by="css selector", browser=None):
123123
@Returns
124124
Boolean (is text visible)
125125
"""
126+
text = str(text)
126127
try:
127128
element = driver.find_element(by=by, value=selector)
128129
element_text = element.text
@@ -467,6 +468,7 @@ def wait_for_text_visible(
467468
element = None
468469
is_present = False
469470
full_text = None
471+
text = str(text)
470472
start_ms = time.time() * 1000.0
471473
stop_ms = start_ms + (timeout * 1000.0)
472474
for x in range(int(timeout * 10)):
@@ -571,6 +573,7 @@ def wait_for_exact_text_visible(
571573
element = None
572574
is_present = False
573575
actual_text = None
576+
text = str(text)
574577
start_ms = time.time() * 1000.0
575578
stop_ms = start_ms + (timeout * 1000.0)
576579
for x in range(int(timeout * 10)):
@@ -959,6 +962,7 @@ def wait_for_text_not_visible(
959962
@Returns
960963
A web element object that contains the text searched for
961964
"""
965+
text = str(text)
962966
start_ms = time.time() * 1000.0
963967
stop_ms = start_ms + (timeout * 1000.0)
964968
for x in range(int(timeout * 10)):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
'packaging>=21.3;python_version>="3.6"',
132132
'setuptools>=44.1.1;python_version<"3.6"',
133133
'setuptools>=59.6.0;python_version>="3.6" and python_version<"3.7"',
134-
'setuptools>=65.2.0;python_version>="3.7"',
134+
'setuptools>=65.3.0;python_version>="3.7"',
135135
'tomli>=1.2.3;python_version>="3.6" and python_version<"3.7"',
136136
'tomli>=2.0.1;python_version>="3.7"',
137137
"wheel>=0.37.1",

0 commit comments

Comments
 (0)