35
35
override_settings ,
36
36
skipUnlessDBFeature ,
37
37
)
38
+ from django .test .selenium import screenshot_cases
38
39
from django .test .utils import override_script_prefix
39
40
from django .urls import NoReverseMatch , resolve , reverse
40
41
from django .utils import formats , translation
@@ -5732,6 +5733,7 @@ def setUp(self):
5732
5733
title = "A Long Title" , published = True , slug = "a-long-title"
5733
5734
)
5734
5735
5736
+ @screenshot_cases (["desktop_size" , "mobile_size" , "rtl" , "dark" ])
5735
5737
def test_login_button_centered (self ):
5736
5738
from selenium .webdriver .common .by import By
5737
5739
@@ -5743,6 +5745,7 @@ def test_login_button_centered(self):
5743
5745
) - (offset_left + button .get_property ("offsetWidth" ))
5744
5746
# Use assertAlmostEqual to avoid pixel rounding errors.
5745
5747
self .assertAlmostEqual (offset_left , offset_right , delta = 3 )
5748
+ self .take_screenshot ("login" )
5746
5749
5747
5750
def test_prepopulated_fields (self ):
5748
5751
"""
@@ -6017,6 +6020,7 @@ def test_populate_existing_object(self):
6017
6020
self .assertEqual (slug1 , "this-is-the-main-name-the-best-2012-02-18" )
6018
6021
self .assertEqual (slug2 , "option-two-this-is-the-main-name-the-best" )
6019
6022
6023
+ @screenshot_cases (["desktop_size" , "mobile_size" , "dark" ])
6020
6024
def test_collapsible_fieldset (self ):
6021
6025
"""
6022
6026
The 'collapse' class in fieldsets definition allows to
@@ -6031,12 +6035,15 @@ def test_collapsible_fieldset(self):
6031
6035
self .live_server_url + reverse ("admin:admin_views_article_add" )
6032
6036
)
6033
6037
self .assertFalse (self .selenium .find_element (By .ID , "id_title" ).is_displayed ())
6038
+ self .take_screenshot ("collapsed" )
6034
6039
self .selenium .find_elements (By .LINK_TEXT , "Show" )[0 ].click ()
6035
6040
self .assertTrue (self .selenium .find_element (By .ID , "id_title" ).is_displayed ())
6036
6041
self .assertEqual (
6037
6042
self .selenium .find_element (By .ID , "fieldsetcollapser0" ).text , "Hide"
6038
6043
)
6044
+ self .take_screenshot ("expanded" )
6039
6045
6046
+ @screenshot_cases (["desktop_size" , "mobile_size" , "rtl" , "dark" ])
6040
6047
def test_selectbox_height_collapsible_fieldset (self ):
6041
6048
from selenium .webdriver .common .by import By
6042
6049
@@ -6047,7 +6054,7 @@ def test_selectbox_height_collapsible_fieldset(self):
6047
6054
)
6048
6055
url = self .live_server_url + reverse ("admin7:admin_views_pizza_add" )
6049
6056
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 ()
6051
6058
from_filter_box = self .selenium .find_element (By .ID , "id_toppings_filter" )
6052
6059
from_box = self .selenium .find_element (By .ID , "id_toppings_from" )
6053
6060
to_filter_box = self .selenium .find_element (By .ID , "id_toppings_filter_selected" )
@@ -6062,7 +6069,9 @@ def test_selectbox_height_collapsible_fieldset(self):
6062
6069
+ from_box .get_property ("offsetHeight" )
6063
6070
),
6064
6071
)
6072
+ self .take_screenshot ("selectbox-collapsible" )
6065
6073
6074
+ @screenshot_cases (["desktop_size" , "mobile_size" , "rtl" , "dark" ])
6066
6075
def test_selectbox_height_not_collapsible_fieldset (self ):
6067
6076
from selenium .webdriver .common .by import By
6068
6077
@@ -6091,7 +6100,9 @@ def test_selectbox_height_not_collapsible_fieldset(self):
6091
6100
+ from_box .get_property ("offsetHeight" )
6092
6101
),
6093
6102
)
6103
+ self .take_screenshot ("selectbox-non-collapsible" )
6094
6104
6105
+ @screenshot_cases (["desktop_size" , "mobile_size" , "rtl" , "dark" ])
6095
6106
def test_first_field_focus (self ):
6096
6107
"""JavaScript-assisted auto-focus on first usable form field."""
6097
6108
from selenium .webdriver .common .by import By
@@ -6108,6 +6119,7 @@ def test_first_field_focus(self):
6108
6119
self .selenium .switch_to .active_element ,
6109
6120
self .selenium .find_element (By .ID , "id_name" ),
6110
6121
)
6122
+ self .take_screenshot ("focus-single-widget" )
6111
6123
6112
6124
# First form field has a MultiWidget
6113
6125
with self .wait_page_loaded ():
@@ -6118,6 +6130,7 @@ def test_first_field_focus(self):
6118
6130
self .selenium .switch_to .active_element ,
6119
6131
self .selenium .find_element (By .ID , "id_start_date_0" ),
6120
6132
)
6133
+ self .take_screenshot ("focus-multi-widget" )
6121
6134
6122
6135
def test_cancel_delete_confirmation (self ):
6123
6136
"Cancelling the deletion of an object takes the user back one page."
0 commit comments