Skip to content

Commit f950d57

Browse files
authored
[deps] Upgraded selenium
1 parent 6e0be5a commit f950d57

File tree

3 files changed

+95
-94
lines changed

3 files changed

+95
-94
lines changed

requirements-test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# For testing Dependency loaders
22
openwisp_controller @ https://github.com/openwisp/openwisp-controller/tarball/master
3-
selenium~=3.141.0
3+
selenium~=4.9.1

tests/test_project/tests/test_selenium.py

Lines changed: 51 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ def test_addition_of_transition_effect(self):
222222
transition = 'none 0s ease 0s'
223223
# none because transition has been set to none during tests
224224
self.login()
225-
menu = self.web_driver.find_element_by_id('menu')
225+
menu = self.web_driver.find_element(By.ID, 'menu')
226226
main_content = self._get_main_content()
227227
menu_toggle = self._get_menu_toggle()
228228
self.assertEqual(menu.value_of_css_property('transition'), transition)
@@ -485,7 +485,7 @@ def test_shelf_filter(self):
485485
EC.visibility_of_element_located((By.CSS_SELECTOR, '#site-name'))
486486
)
487487
self.assertEqual(self.check_exists_by_id('changelist-filter-clear'), True)
488-
paginator = self.web_driver.find_element_by_css_selector('.paginator')
488+
paginator = self.web_driver.find_element(By.CSS_SELECTOR, '.paginator')
489489
self.assertEqual(paginator.get_attribute('innerText'), '2 shelfs')
490490

491491
with self.subTest('Test clear filter button'):
@@ -494,7 +494,7 @@ def test_shelf_filter(self):
494494
WebDriverWait(self.web_driver, 2).until(
495495
EC.visibility_of_element_located((By.CSS_SELECTOR, '#site-name'))
496496
)
497-
paginator = self.web_driver.find_element_by_css_selector('.paginator')
497+
paginator = self.web_driver.find_element(By.CSS_SELECTOR, '.paginator')
498498
self.assertEqual(paginator.get_attribute('innerText'), '4 shelfs')
499499

500500
with self.subTest('Test multiple filters'):
@@ -504,24 +504,24 @@ def test_shelf_filter(self):
504504
owner_filter_option_xpath = (
505505
'//*[@id="select2-id-owner_id-dal-filter-results"]/li[4]'
506506
)
507-
owner_filter = self.web_driver.find_element_by_xpath(owner_filter_xpath)
507+
owner_filter = self.web_driver.find_element(By.XPATH, owner_filter_xpath)
508508
books_type_title.click()
509509
fantasy_option = self._get_filter_anchor('books_type__exact=FANTASY')
510510
fantasy_option.click()
511511
owner_filter.click()
512512
WebDriverWait(self.web_driver, 2).until(
513513
EC.visibility_of_element_located((By.XPATH, owner_filter_option_xpath))
514514
)
515-
owner_option = self.web_driver.find_element_by_xpath(
516-
owner_filter_option_xpath
515+
owner_option = self.web_driver.find_element(
516+
By.XPATH, owner_filter_option_xpath
517517
)
518518
owner_option.click()
519519
filter_button = self._get_filter_button()
520520
filter_button.click()
521521
WebDriverWait(self.web_driver, 2).until(
522522
EC.visibility_of_element_located((By.CSS_SELECTOR, '#site-name'))
523523
)
524-
paginator = self.web_driver.find_element_by_css_selector('.paginator')
524+
paginator = self.web_driver.find_element(By.CSS_SELECTOR, '.paginator')
525525
self.assertEqual(paginator.get_attribute('innerText'), '0 shelfs')
526526

527527
def test_book_filter(self):
@@ -557,7 +557,7 @@ def test_book_filter(self):
557557
selected_option = self._get_filter_selected_option('name')
558558
self.assertNotEqual(old_value, selected_option.get_attribute('innerText'))
559559
self.assertEqual(selected_option.get_attribute('innerText'), 'horror book')
560-
paginator = self.web_driver.find_element_by_css_selector('.paginator')
560+
paginator = self.web_driver.find_element(By.CSS_SELECTOR, '.paginator')
561561
self.assertEqual(paginator.get_attribute('innerText'), '1 book')
562562

563563

@@ -593,65 +593,66 @@ def test_input_filters(self):
593593
input_field.send_keys('Horror')
594594
self._get_filter_button().click()
595595
# Horror shelf is present
596-
self.web_driver.find_element_by_xpath(horror_result_xpath)
596+
self.web_driver.find_element(By.XPATH, horror_result_xpath)
597597
with self.assertRaises(NoSuchElementException):
598598
# Factual shelf is absent
599-
self.web_driver.find_element_by_xpath(factual_result_xpath)
599+
self.web_driver.find_element(By.XPATH, factual_result_xpath)
600600
# Both shelves should be present after clearing filter
601-
self.web_driver.find_element_by_css_selector('.field-clear').click()
602-
self.web_driver.find_element_by_xpath(horror_result_xpath)
603-
self.web_driver.find_element_by_xpath(factual_result_xpath)
601+
self.web_driver.find_element(By.CSS_SELECTOR, '.field-clear').click()
602+
self.web_driver.find_element(By.XPATH, horror_result_xpath)
603+
self.web_driver.find_element(By.XPATH, factual_result_xpath)
604604

605605
with self.subTest('Test InputFilter'):
606606
self.open(url)
607607
input_field = self._get_input_filter()
608608
input_field.send_keys('HORROR')
609609
self._get_filter_button().click()
610610
# Horror shelf is present
611-
self.web_driver.find_element_by_xpath(horror_result_xpath)
611+
self.web_driver.find_element(By.XPATH, horror_result_xpath)
612612
with self.assertRaises(NoSuchElementException):
613613
# Factual shelf is absent
614-
self.web_driver.find_element_by_xpath(factual_result_xpath)
614+
self.web_driver.find_element(By.XPATH, factual_result_xpath)
615615
# Both shelves should be present after clearing filter
616-
self.web_driver.find_element_by_css_selector('.field-clear').click()
617-
self.web_driver.find_element_by_xpath(horror_result_xpath)
618-
self.web_driver.find_element_by_xpath(factual_result_xpath)
616+
self.web_driver.find_element(By.CSS_SELECTOR, '.field-clear').click()
617+
self.web_driver.find_element(By.XPATH, horror_result_xpath)
618+
self.web_driver.find_element(By.XPATH, factual_result_xpath)
619619

620620
with self.subTest('Test InputFilter: UUID'):
621621
self.open(url)
622-
input_field = self.web_driver.find_element_by_css_selector(
623-
'input[name=id__exact]'
622+
input_field = self.web_driver.find_element(
623+
By.CSS_SELECTOR, 'input[name=id__exact]'
624624
)
625625
input_field.send_keys(str(horror_shelf.id))
626626
self._get_filter_button().click()
627627
# Horror shelf is present
628-
self.web_driver.find_element_by_xpath(horror_result_xpath)
628+
self.web_driver.find_element(By.XPATH, horror_result_xpath)
629629
with self.assertRaises(NoSuchElementException):
630630
# Factual shelf is absent
631-
self.web_driver.find_element_by_xpath(factual_result_xpath)
631+
self.web_driver.find_element(By.XPATH, factual_result_xpath)
632632
# Both shelves should be present after clearing filter
633-
self.web_driver.find_element_by_css_selector('.field-clear').click()
634-
self.web_driver.find_element_by_xpath(horror_result_xpath)
635-
self.web_driver.find_element_by_xpath(factual_result_xpath)
633+
self.web_driver.find_element(By.CSS_SELECTOR, '.field-clear').click()
634+
self.web_driver.find_element(By.XPATH, horror_result_xpath)
635+
self.web_driver.find_element(By.XPATH, factual_result_xpath)
636636

637637
with self.subTest('Test InputFilter: Related field'):
638638
admin_xpath = f'//*[@id="result_list"]/tbody/tr/th/a[contains(text(), "{self.admin.username}")]'
639639
user_xpath = f'//*[@id="result_list"]/tbody/tr/th/a[contains(text(), "{user.username}")]'
640640
self.open(reverse('admin:auth_user_changelist'))
641-
input_field = self.web_driver.find_element_by_xpath(
642-
'//*[@id="ow-changelist-filter"]/div[1]/div/div/div[2]/div[1]/form/input'
641+
input_field = self.web_driver.find_element(
642+
By.XPATH,
643+
'//*[@id="ow-changelist-filter"]/div[1]/div/div/div[2]/div[1]/form/input',
643644
)
644645
input_field.send_keys(str(horror_shelf.id))
645646
self._get_filter_button().click()
646647
# Admin user is present
647-
self.web_driver.find_element_by_xpath(admin_xpath)
648+
self.web_driver.find_element(By.XPATH, admin_xpath)
648649
with self.assertRaises(NoSuchElementException):
649650
# User is absent
650-
self.web_driver.find_element_by_xpath(user_xpath)
651+
self.web_driver.find_element(By.XPATH, user_xpath)
651652
# Both users should be present after clearing filter
652-
self.web_driver.find_element_by_css_selector('.field-clear').click()
653-
self.web_driver.find_element_by_xpath(admin_xpath)
654-
self.web_driver.find_element_by_xpath(user_xpath)
653+
self.web_driver.find_element(By.CSS_SELECTOR, '.field-clear').click()
654+
self.web_driver.find_element(By.XPATH, admin_xpath)
655+
self.web_driver.find_element(By.XPATH, user_xpath)
655656

656657

657658
class TestDashboardCharts(SeleniumTestMixin, CreateMixin, StaticLiveServerTestCase):
@@ -680,8 +681,8 @@ def test_pie_chart_zero_annotation(self):
680681
except TimeoutException:
681682
self.fail('Failed to find annotation text element in the chart')
682683
else:
683-
annotation_text = self.web_driver.find_element_by_css_selector(
684-
'.operator-project-distribution .annotation-text tspan'
684+
annotation_text = self.web_driver.find_element(
685+
By.CSS_SELECTOR, '.operator-project-distribution .annotation-text tspan'
685686
)
686687
self.assertEqual(annotation_text.text, '0')
687688

@@ -724,24 +725,24 @@ def test_autocomplete_shelf_filter(self):
724725
),
725726
self.web_driver.page_source,
726727
)
727-
self.web_driver.find_element_by_css_selector(filter_css_selector).click()
728-
self.web_driver.find_element_by_css_selector('.select2-container--open')
728+
self.web_driver.find_element(By.CSS_SELECTOR, filter_css_selector).click()
729+
self.web_driver.find_element(By.CSS_SELECTOR, '.select2-container--open')
729730
self.assertIn(horror_shelf.name, self.web_driver.page_source)
730731
self.assertIn(factual_shelf.name, self.web_driver.page_source)
731-
self.web_driver.find_element_by_xpath(filter_option_xpath).click()
732+
self.web_driver.find_element(By.XPATH, filter_option_xpath).click()
732733
self.assertIn(str(factual_shelf.id), self.web_driver.current_url)
733-
self.web_driver.find_element_by_css_selector(filter_css_selector)
734+
self.web_driver.find_element(By.CSS_SELECTOR, filter_css_selector)
734735
self.assertNotIn(horror_shelf.name, self.web_driver.page_source)
735736
self.assertIn(factual_shelf.name, self.web_driver.page_source)
736737
with self.assertRaises(NoSuchElementException):
737738
# Book 1 is absent
738-
self.web_driver.find_element_by_xpath(result_xpath.format(book1.name))
739+
self.web_driver.find_element(By.XPATH, result_xpath.format(book1.name))
739740
# Book 2 is present
740-
self.web_driver.find_element_by_xpath(result_xpath.format(book2.name))
741+
self.web_driver.find_element(By.XPATH, result_xpath.format(book2.name))
741742
# "shelf" field is not nullable, therefore none option should be absent
742-
self.web_driver.find_element_by_css_selector(filter_css_selector).click()
743-
self.web_driver.find_element_by_css_selector('.select2-container--open')
744-
for option in self.web_driver.find_elements_by_xpath(filter_options):
743+
self.web_driver.find_element(By.CSS_SELECTOR, filter_css_selector).click()
744+
self.web_driver.find_element(By.CSS_SELECTOR, '.select2-container--open')
745+
for option in self.web_driver.find_elements(By.XPATH, filter_options):
745746
self.assertNotEqual(option.text, '-')
746747

747748
def test_autocomplete_owner_filter(self):
@@ -768,20 +769,20 @@ def test_autocomplete_owner_filter(self):
768769
),
769770
self.web_driver.page_source,
770771
)
771-
self.web_driver.find_element_by_css_selector(filter_css_selector).click()
772-
self.web_driver.find_element_by_css_selector('.select2-container--open')
772+
self.web_driver.find_element(By.CSS_SELECTOR, filter_css_selector).click()
773+
self.web_driver.find_element(By.CSS_SELECTOR, '.select2-container--open')
773774
self.assertIn(self.admin.username, self.web_driver.page_source)
774775
self.assertIn(user.username, self.web_driver.page_source)
775-
self.web_driver.find_element_by_xpath(filter_null_option_xpath).click()
776+
self.web_driver.find_element(By.XPATH, filter_null_option_xpath).click()
776777
self._get_filter_button().click()
777778
self.assertIn('owner_id__isnull=true', self.web_driver.current_url)
778779
with self.assertRaises(NoSuchElementException):
779780
# horror_shelf is absent
780-
self.web_driver.find_element_by_xpath(
781-
result_xpath.format(horror_shelf.name)
781+
self.web_driver.find_element(
782+
By.XPATH, result_xpath.format(horror_shelf.name)
782783
)
783784
with self.assertRaises(NoSuchElementException):
784785
# factual_shelf absent
785-
self.web_driver.find_element_by_xpath(
786-
result_xpath.format(factual_shelf.name)
786+
self.web_driver.find_element(
787+
By.XPATH, result_xpath.format(factual_shelf.name)
787788
)

0 commit comments

Comments
 (0)