Skip to content

Commit adf97c2

Browse files
test: enhance error handling in HomePageTest by adding screenshot on assertion failure
1 parent 6600435 commit adf97c2

File tree

1 file changed

+36
-12
lines changed

1 file changed

+36
-12
lines changed

tests/test_home_page.py

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,12 @@ def test_us01_add_single_valid_grade(self, request=None): # request might not be
219219

220220
current_item_count = self._get_grades_list_item_count()
221221
logger.info(f"Current grade item count after add: {current_item_count}")
222-
self.assertEqual(current_item_count, initial_item_count + 1,
223-
f"Grade item count did not increase by 1. Initial: {initial_item_count}, Current: {current_item_count}")
222+
try:
223+
self.assertEqual(current_item_count, initial_item_count + 1,
224+
f"Grade item count did not increase by 1. Initial: {initial_item_count}, Current: {current_item_count}")
225+
except AssertionError as e:
226+
self._take_screenshot(f"{test_name}_assertion_failed")
227+
raise e
224228
logger.info(f"Test {test_name} completed successfully.")
225229

226230

@@ -255,8 +259,12 @@ def test_us01_add_multiple_valid_grades(self, request=None):
255259

256260
current_item_count = self._get_grades_list_item_count()
257261
logger.info(f"Current grade item count after multiple adds: {current_item_count}")
258-
self.assertEqual(current_item_count, initial_item_count + len(grades_data),
259-
f"Grade item count did not increase correctly. Expected: {initial_item_count + len(grades_data)}, Got: {current_item_count}")
262+
try:
263+
self.assertEqual(current_item_count, initial_item_count + len(grades_data),
264+
f"Grade item count did not increase correctly. Expected: {initial_item_count + len(grades_data)}, Got: {current_item_count}")
265+
except AssertionError as e:
266+
self._take_screenshot(f"{test_name}_assertion_failed")
267+
raise e
260268
logger.info(f"Test {test_name} completed successfully.")
261269

262270
def test_us01_validate_grade_input_below_range(self, request=None):
@@ -269,8 +277,12 @@ def test_us01_validate_grade_input_below_range(self, request=None):
269277

270278
# Assuming invalid input does not add a grade item
271279
current_item_count = self._get_grades_list_item_count()
272-
self.assertEqual(current_item_count, initial_item_count,
273-
"Grade item count should not change for invalid grade input below range.")
280+
try:
281+
self.assertEqual(current_item_count, initial_item_count,
282+
"Grade item count should not change for invalid grade input below range.")
283+
except AssertionError as e:
284+
self._take_screenshot(f"{test_name}_assertion_failed")
285+
raise e
274286
# Add assertion for error message if visible
275287
logger.info(f"Test {test_name} completed.")
276288

@@ -283,8 +295,12 @@ def test_us01_validate_grade_input_above_range(self, request=None):
283295
self._add_grade_and_percentage("8.0", "20") # Invalid grade (above max 7)
284296

285297
current_item_count = self._get_grades_list_item_count()
286-
self.assertEqual(current_item_count, initial_item_count,
287-
"Grade item count should not change for invalid grade input above range.")
298+
try:
299+
self.assertEqual(current_item_count, initial_item_count,
300+
"Grade item count should not change for invalid grade input above range.")
301+
except AssertionError as e:
302+
self._take_screenshot(f"{test_name}_assertion_failed")
303+
raise e
288304
# Add assertion for error message
289305
logger.info(f"Test {test_name} completed.")
290306

@@ -297,8 +313,12 @@ def test_us01_validate_percentage_input_negative(self, request=None):
297313
self._add_grade_and_percentage("4.0", "-10") # Invalid percentage
298314

299315
current_item_count = self._get_grades_list_item_count()
300-
self.assertEqual(current_item_count, initial_item_count,
301-
"Grade item count should not change for negative percentage input.")
316+
try:
317+
self.assertEqual(current_item_count, initial_item_count,
318+
"Grade item count should not change for negative percentage input.")
319+
except AssertionError as e:
320+
self._take_screenshot(f"{test_name}_assertion_failed")
321+
raise e
302322
# Add assertion for error message
303323
logger.info(f"Test {test_name} completed.")
304324

@@ -311,8 +331,12 @@ def test_us01_validate_percentage_input_non_numeric(self, request=None):
311331
self._add_grade_and_percentage("4.0", "abc") # Non-numeric percentage
312332

313333
current_item_count = self._get_grades_list_item_count()
314-
self.assertEqual(current_item_count, initial_item_count,
315-
"Grade item count should not change for non-numeric percentage input.")
334+
try:
335+
self.assertEqual(current_item_count, initial_item_count,
336+
"Grade item count should not change for non-numeric percentage input.")
337+
except AssertionError as e:
338+
self._take_screenshot(f"{test_name}_assertion_failed")
339+
raise e
316340
# Add assertion for error message
317341
logger.info(f"Test {test_name} completed.")
318342

0 commit comments

Comments
 (0)