Skip to content

Commit d447c0e

Browse files
committed
Replace all uses of deprecated find_elements?_* selenium methods
1 parent 9014b68 commit d447c0e

File tree

2 files changed

+33
-30
lines changed

2 files changed

+33
-30
lines changed

example/screenshot.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import subprocess
66
from time import sleep
77

8+
from selenium.webdriver.common.by import By
89
from selenium.webdriver.common.keys import Keys
910
from selenium.webdriver.support import expected_conditions as EC
1011
from selenium.webdriver.support.wait import WebDriverWait
@@ -54,7 +55,7 @@ def set_viewport_size(selenium, width, height):
5455
def submit_form(selenium, data):
5556
url = selenium.current_url
5657
for name, value in data.items():
57-
el = selenium.find_element_by_name(name)
58+
el = selenium.find_element(By.NAME, name)
5859
el.send_keys(value)
5960
el.send_keys(Keys.RETURN)
6061
WebDriverWait(selenium, timeout=5).until(EC.url_changes(url))
@@ -72,12 +73,12 @@ def main():
7273

7374
selenium.get("http://localhost:8000/admin/auth/user/")
7475
# Check if SQL Panel is already visible:
75-
sql_panel = selenium.find_element_by_id("djdt-SQLPanel")
76+
sql_panel = selenium.find_element(By.ID, "djdt-SQLPanel")
7677
if not sql_panel:
7778
# Open the admin sidebar.
78-
el = selenium.find_element_by_id("djDebugToolbarHandle")
79+
el = selenium.find_element(By.ID, "djDebugToolbarHandle")
7980
el.click()
80-
sql_panel = selenium.find_element_by_id("djdt-SQLPanel")
81+
sql_panel = selenium.find_element(By.ID, "djdt-SQLPanel")
8182
# Open the SQL panel.
8283
sql_panel.click()
8384

tests/test_integration.py

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -482,18 +482,18 @@ def wait(self):
482482

483483
def test_basic(self):
484484
self.get("/regular/basic/")
485-
version_panel = self.selenium.find_element_by_id("VersionsPanel")
485+
version_panel = self.selenium.find_element(By.ID, "VersionsPanel")
486486

487487
# Versions panel isn't loaded
488488
with self.assertRaises(NoSuchElementException):
489-
version_panel.find_element_by_tag_name("table")
489+
version_panel.find_element(By.TAG_NAME, "table")
490490

491491
# Click to show the versions panel
492-
self.selenium.find_element_by_class_name("VersionsPanel").click()
492+
self.selenium.find_element(By.CLASS_NAME, "VersionsPanel").click()
493493

494494
# Version panel loads
495495
table = self.wait.until(
496-
lambda selenium: version_panel.find_element_by_tag_name("table")
496+
lambda selenium: version_panel.find_element(By.TAG_NAME, "table")
497497
)
498498
self.assertIn("Name", table.text)
499499
self.assertIn("Version", table.text)
@@ -505,10 +505,10 @@ def test_basic(self):
505505
)
506506
def test_basic_jinja(self):
507507
self.get("/regular_jinja/basic")
508-
template_panel = self.selenium.find_element_by_id("TemplatesPanel")
508+
template_panel = self.selenium.find_element(By.ID, "TemplatesPanel")
509509

510510
# Click to show the template panel
511-
self.selenium.find_element_by_class_name("TemplatesPanel").click()
511+
self.selenium.find_element(By.CLASS_NAME, "TemplatesPanel").click()
512512

513513
self.assertIn("Templates (2 rendered)", template_panel.text)
514514
self.assertIn("base.html", template_panel.text)
@@ -523,18 +523,20 @@ def test_rerender_on_history_switch(self):
523523
self.get("/regular_jinja/basic")
524524
# Make a new request so the history panel has more than one option.
525525
self.get("/execute_sql/")
526-
template_panel = self.selenium.find_element_by_id("HistoryPanel")
526+
template_panel = self.selenium.find_element(By.ID, "HistoryPanel")
527527
# Record the current side panel of buttons for later comparison.
528-
previous_button_panel = self.selenium.find_element_by_id(
529-
"djDebugPanelList"
528+
previous_button_panel = self.selenium.find_element(
529+
By.ID, "djDebugPanelList"
530530
).text
531531

532532
# Click to show the history panel
533-
self.selenium.find_element_by_class_name("HistoryPanel").click()
533+
self.selenium.find_element(By.CLASS_NAME, "HistoryPanel").click()
534534
# Click to switch back to the jinja page view snapshot
535-
list(template_panel.find_elements_by_css_selector("button"))[-1].click()
535+
list(template_panel.find_elements(By.CSS_SELECTOR, "button"))[-1].click()
536536

537-
current_button_panel = self.selenium.find_element_by_id("djDebugPanelList").text
537+
current_button_panel = self.selenium.find_element(
538+
By.ID, "djDebugPanelList"
539+
).text
538540
# Verify the button side panels have updated.
539541
self.assertNotEqual(previous_button_panel, current_button_panel)
540542
self.assertNotIn("1 query", current_button_panel)
@@ -543,14 +545,14 @@ def test_rerender_on_history_switch(self):
543545
@override_settings(DEBUG_TOOLBAR_CONFIG={"RESULTS_CACHE_SIZE": 0})
544546
def test_expired_store(self):
545547
self.get("/regular/basic/")
546-
version_panel = self.selenium.find_element_by_id("VersionsPanel")
548+
version_panel = self.selenium.find_element(By.ID, "VersionsPanel")
547549

548550
# Click to show the version panel
549-
self.selenium.find_element_by_class_name("VersionsPanel").click()
551+
self.selenium.find_element(By.CLASS_NAME, "VersionsPanel").click()
550552

551553
# Version panel doesn't loads
552554
error = self.wait.until(
553-
lambda selenium: version_panel.find_element_by_tag_name("p")
555+
lambda selenium: version_panel.find_element(By.TAG_NAME, "p")
554556
)
555557
self.assertIn("Data for this panel isn't available anymore.", error.text)
556558

@@ -574,31 +576,31 @@ def test_expired_store(self):
574576
)
575577
def test_django_cached_template_loader(self):
576578
self.get("/regular/basic/")
577-
version_panel = self.selenium.find_element_by_id("TemplatesPanel")
579+
version_panel = self.selenium.find_element(By.ID, "TemplatesPanel")
578580

579581
# Click to show the templates panel
580-
self.selenium.find_element_by_class_name("TemplatesPanel").click()
582+
self.selenium.find_element(By.CLASS_NAME, "TemplatesPanel").click()
581583

582584
# Templates panel loads
583585
trigger = self.wait.until(
584-
lambda selenium: version_panel.find_element_by_css_selector(".remoteCall")
586+
lambda selenium: version_panel.find_element(By.CSS_SELECTOR, ".remoteCall")
585587
)
586588
trigger.click()
587589

588590
# Verify the code is displayed
589591
self.wait.until(
590-
lambda selenium: self.selenium.find_element_by_css_selector(
591-
"#djDebugWindow code"
592+
lambda selenium: self.selenium.find_element(
593+
By.CSS_SELECTOR, "#djDebugWindow code"
592594
)
593595
)
594596

595597
def test_sql_action_and_go_back(self):
596598
self.get("/execute_sql/")
597-
sql_panel = self.selenium.find_element_by_id("SQLPanel")
598-
debug_window = self.selenium.find_element_by_id("djDebugWindow")
599+
sql_panel = self.selenium.find_element(By.ID, "SQLPanel")
600+
debug_window = self.selenium.find_element(By.ID, "djDebugWindow")
599601

600602
# Click to show the SQL panel
601-
self.selenium.find_element_by_class_name("SQLPanel").click()
603+
self.selenium.find_element(By.CLASS_NAME, "SQLPanel").click()
602604

603605
# SQL panel loads
604606
button = self.wait.until(
@@ -611,7 +613,7 @@ def test_sql_action_and_go_back(self):
611613
self.assertIn("SQL selected", debug_window.text)
612614

613615
# Close the SQL selected window
614-
debug_window.find_element_by_class_name("djDebugClose").click()
616+
debug_window.find_element(By.CLASS_NAME, "djDebugClose").click()
615617
self.wait.until(EC.invisibility_of_element(debug_window))
616618

617619
# SQL panel is still visible
@@ -620,7 +622,7 @@ def test_sql_action_and_go_back(self):
620622
@override_settings(DEBUG_TOOLBAR_PANELS=["tests.test_integration.BuggyPanel"])
621623
def test_displays_server_error(self):
622624
self.get("/regular/basic/")
623-
debug_window = self.selenium.find_element_by_id("djDebugWindow")
624-
self.selenium.find_element_by_class_name("BuggyPanel").click()
625+
debug_window = self.selenium.find_element(By.ID, "djDebugWindow")
626+
self.selenium.find_element(By.CLASS_NAME, "BuggyPanel").click()
625627
self.wait.until(EC.visibility_of(debug_window))
626628
self.assertEqual(debug_window.text, \n500: Internal Server Error")

0 commit comments

Comments
 (0)