3535 override_settings ,
3636 skipUnlessDBFeature ,
3737)
38+ from django .test .selenium import screenshot_cases
3839from django .test .utils import override_script_prefix
3940from django .urls import NoReverseMatch , resolve , reverse
4041from django .utils import formats , translation
@@ -5732,6 +5733,7 @@ def setUp(self):
57325733 title = "A Long Title" , published = True , slug = "a-long-title"
57335734 )
57345735
5736+ @screenshot_cases (["desktop_size" , "mobile_size" , "rtl" , "dark" ])
57355737 def test_login_button_centered (self ):
57365738 from selenium .webdriver .common .by import By
57375739
@@ -5743,6 +5745,7 @@ def test_login_button_centered(self):
57435745 ) - (offset_left + button .get_property ("offsetWidth" ))
57445746 # Use assertAlmostEqual to avoid pixel rounding errors.
57455747 self .assertAlmostEqual (offset_left , offset_right , delta = 3 )
5748+ self .take_screenshot ("login" )
57465749
57475750 def test_prepopulated_fields (self ):
57485751 """
@@ -6017,6 +6020,7 @@ def test_populate_existing_object(self):
60176020 self .assertEqual (slug1 , "this-is-the-main-name-the-best-2012-02-18" )
60186021 self .assertEqual (slug2 , "option-two-this-is-the-main-name-the-best" )
60196022
6023+ @screenshot_cases (["desktop_size" , "mobile_size" , "dark" ])
60206024 def test_collapsible_fieldset (self ):
60216025 """
60226026 The 'collapse' class in fieldsets definition allows to
@@ -6031,12 +6035,15 @@ def test_collapsible_fieldset(self):
60316035 self .live_server_url + reverse ("admin:admin_views_article_add" )
60326036 )
60336037 self .assertFalse (self .selenium .find_element (By .ID , "id_title" ).is_displayed ())
6038+ self .take_screenshot ("collapsed" )
60346039 self .selenium .find_elements (By .LINK_TEXT , "Show" )[0 ].click ()
60356040 self .assertTrue (self .selenium .find_element (By .ID , "id_title" ).is_displayed ())
60366041 self .assertEqual (
60376042 self .selenium .find_element (By .ID , "fieldsetcollapser0" ).text , "Hide"
60386043 )
6044+ self .take_screenshot ("expanded" )
60396045
6046+ @screenshot_cases (["desktop_size" , "mobile_size" , "rtl" , "dark" ])
60406047 def test_selectbox_height_collapsible_fieldset (self ):
60416048 from selenium .webdriver .common .by import By
60426049
@@ -6047,7 +6054,7 @@ def test_selectbox_height_collapsible_fieldset(self):
60476054 )
60486055 url = self .live_server_url + reverse ("admin7:admin_views_pizza_add" )
60496056 self .selenium .get (url )
6050- self .selenium .find_elements (By .LINK_TEXT , "Show " )[0 ].click ()
6057+ self .selenium .find_elements (By .ID , "fieldsetcollapser0 " )[0 ].click ()
60516058 from_filter_box = self .selenium .find_element (By .ID , "id_toppings_filter" )
60526059 from_box = self .selenium .find_element (By .ID , "id_toppings_from" )
60536060 to_filter_box = self .selenium .find_element (By .ID , "id_toppings_filter_selected" )
@@ -6062,7 +6069,9 @@ def test_selectbox_height_collapsible_fieldset(self):
60626069 + from_box .get_property ("offsetHeight" )
60636070 ),
60646071 )
6072+ self .take_screenshot ("selectbox-collapsible" )
60656073
6074+ @screenshot_cases (["desktop_size" , "mobile_size" , "rtl" , "dark" ])
60666075 def test_selectbox_height_not_collapsible_fieldset (self ):
60676076 from selenium .webdriver .common .by import By
60686077
@@ -6091,7 +6100,9 @@ def test_selectbox_height_not_collapsible_fieldset(self):
60916100 + from_box .get_property ("offsetHeight" )
60926101 ),
60936102 )
6103+ self .take_screenshot ("selectbox-non-collapsible" )
60946104
6105+ @screenshot_cases (["desktop_size" , "mobile_size" , "rtl" , "dark" ])
60956106 def test_first_field_focus (self ):
60966107 """JavaScript-assisted auto-focus on first usable form field."""
60976108 from selenium .webdriver .common .by import By
@@ -6108,6 +6119,7 @@ def test_first_field_focus(self):
61086119 self .selenium .switch_to .active_element ,
61096120 self .selenium .find_element (By .ID , "id_name" ),
61106121 )
6122+ self .take_screenshot ("focus-single-widget" )
61116123
61126124 # First form field has a MultiWidget
61136125 with self .wait_page_loaded ():
@@ -6118,6 +6130,7 @@ def test_first_field_focus(self):
61186130 self .selenium .switch_to .active_element ,
61196131 self .selenium .find_element (By .ID , "id_start_date_0" ),
61206132 )
6133+ self .take_screenshot ("focus-multi-widget" )
61216134
61226135 def test_cancel_delete_confirmation (self ):
61236136 "Cancelling the deletion of an object takes the user back one page."
0 commit comments