itemengine-cypress-automation 1.0.279-4092Changes-71debc9.0 → 1.0.282-applitools-8c400f4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +40 -26
  2. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +17 -4
  3. package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +14 -2
  4. package/cypress/e2e/ILC/AudioResponseNew/previewContentsForAllViews.smoke.js +12 -2
  5. package/cypress/e2e/ILC/BrainingCampManipulative/gradingViewAndCorrectAnswerViewContents.smoke.js +10 -0
  6. package/cypress/e2e/ILC/BrainingCampManipulative/previewTabContent.smoke.js +10 -1
  7. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +24 -8
  8. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  9. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/previewContentsForAllViews.smoke.js +18 -5
  10. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +24 -8
  11. package/cypress/e2e/ILC/ChartsBar/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  12. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +19 -6
  13. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +24 -8
  14. package/cypress/e2e/ILC/ChartsLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  15. package/cypress/e2e/ILC/ChartsLine/previewContentsForAllViews.smoke.js +18 -5
  16. package/cypress/e2e/ILC/Compass/compassPreviewContent.smoke.js +10 -1
  17. package/cypress/e2e/ILC/ContentBlocks/previewContents.smoke.js +10 -1
  18. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +20 -6
  19. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/previewContentsForAllViews.smoke.js +16 -4
  20. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +12 -2
  21. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +54 -21
  22. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +8 -0
  23. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +20 -6
  24. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +14 -3
  25. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +16 -4
  26. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/previewContentsForAllViews.smoke.js +13 -2
  27. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +18 -5
  28. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +16 -4
  29. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +16 -4
  30. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +12 -2
  31. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +16 -4
  32. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +14 -3
  33. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +16 -4
  34. package/cypress/e2e/ILC/FillInTheGapsTextNew/previewContentsForAllViews.smoke.js +14 -3
  35. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +18 -5
  36. package/cypress/e2e/ILC/Graphing/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  37. package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +16 -4
  38. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +21 -6
  39. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +20 -0
  40. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +19 -5
  41. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +16 -4
  42. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +16 -4
  43. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +16 -4
  44. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/previewContentsForAllViews.smoke.js +13 -2
  45. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +16 -4
  46. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +17 -5
  47. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/horizontalOrientationAllOrNothingForAllViews.smoke.js +18 -5
  48. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +16 -4
  49. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +17 -4
  50. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +16 -4
  51. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +18 -5
  52. package/cypress/e2e/ILC/Matching/previewTabContentsForAllViews.smoke.js +18 -5
  53. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +18 -5
  54. package/cypress/e2e/ILC/MatchingDropdown/previewContentsForAllViews.smoke.js +16 -4
  55. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +22 -10
  56. package/cypress/e2e/ILC/MultipleSelection/previewContentsForAllViews.smoke.js +19 -6
  57. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +18 -5
  58. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +20 -6
  59. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +18 -5
  60. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  61. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +16 -4
  62. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +18 -5
  63. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  64. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +16 -4
  65. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +18 -5
  66. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +10 -0
  67. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +10 -1
  68. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +18 -5
  69. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  70. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +10 -1
  71. package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +10 -1
  72. package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +10 -1
  73. package/cypress/e2e/ILC/Ruler/rulerPreviewContents.smoke.js +10 -1
  74. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +14 -3
  75. package/cypress/e2e/ILC/ShortTextResponseNew/previewContentsForAllViews.smoke.js +17 -7
  76. package/cypress/e2e/ILC/SimpleCalculator/previewContents.smoke.js +10 -1
  77. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +14 -3
  78. package/cypress/e2e/ILC/SingleSelection/previewContents.smoke.js +16 -4
  79. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +18 -5
  80. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +16 -4
  81. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +27 -14
  82. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +21 -9
  83. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +14 -3
  84. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +26 -13
  85. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +15 -5
  86. package/cypress/e2e/ILC/TextSelection/ScoringGeneric/basicScoringForAllTextSelectionTypes.smoke.js +16 -4
  87. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +20 -6
  88. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +19 -7
  89. package/cypress/e2e/ILC/ToolAudioPlayerNew/previewContents.smoke.js +14 -3
  90. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +13 -3
  91. package/cypress/e2e/ILC/UploadResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +11 -1
  92. package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +18 -5
  93. package/cypress/e2e/ILC/UploadResponse/thumbNail.smoke.js +19 -6
  94. package/cypress/e2e/ILC/VideoResponseNew/compactRecorderStyle.smoke.js +14 -3
  95. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +16 -4
  96. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +14 -3
  97. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +25 -9
  98. package/cypress/e2e/ILC/chartsDotsPlot/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  99. package/cypress/e2e/ILC/chartsDotsPlot/previewContentsForAllViews.smoke.js +16 -4
  100. package/cypress/e2e/applitools.config.js +14 -0
  101. package/cypress/pages/components/equationEditorSectionCommonComponent.js +3 -1
  102. package/cypress/support/commands.js +11 -0
  103. package/cypress/support/e2e.js +1 -0
  104. package/package.json +4 -1
@@ -57,6 +57,15 @@ describe('Create item page - Text selection: All or nothing ', () => {
57
57
  views.forEach((view) => {
58
58
  describe(`${view}: Auto scored - All or nothing scoring`, { tags: 'smoke' }, () => {
59
59
  abortEarlySetup();
60
+
61
+ beforeEach(() => {
62
+ cy.startApplitools();
63
+ });
64
+
65
+ afterEach(() => {
66
+ cy.eyesClose();
67
+ });
68
+
60
69
  before(() => {
61
70
  switch (view) {
62
71
  case 'Question preview':
@@ -112,7 +121,7 @@ describe('Create item page - Text selection: All or nothing ', () => {
112
121
  });
113
122
  };
114
123
 
115
- it('When the user selects \'Grading\' view without attempting the question, then correct/incorrect answer should not be displayed in the preview tab and correct answer section should be displayed with correct answers', () => {
124
+ it(`Text selection - ${view} - When the user selects 'Grading' view without attempting the question, then correct/incorrect answer should not be displayed in the preview tab and correct answer section should be displayed with correct answers`, () => {
116
125
  if (view === 'Grading view') {
117
126
  studentViewPage.steps.submitResponse();
118
127
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -131,9 +140,10 @@ describe('Create item page - Text selection: All or nothing ', () => {
131
140
  // utilities.verifyInnerText(textSelectionPage.correctAnswersLabel(), 'Correct answers');
132
141
  textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
133
142
  textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
143
+ cy.eyesCheckWindow(`Text selection - ${view} - Grading view without attempting`);
134
144
  });
135
-
136
- it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers should be displayed', () => {
145
+
146
+ it(`Text selection - ${view} - When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to 'Grading' view, incorrect icons should be displayed besides all incorrect responses, a status message with text 'Your answer is incorrect' and correct answer section with all correct answers should be displayed`, () => {
137
147
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[2]);
138
148
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[3]);
139
149
  if (view === 'Grading view') {
@@ -153,9 +163,10 @@ describe('Create item page - Text selection: All or nothing ', () => {
153
163
  textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
154
164
  textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
155
165
  textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
166
+ cy.eyesCheckWindow(`Text selection - ${view} - Incorrect attempt`);
156
167
  });
157
168
 
158
- it('When the user attempts the question partially correct with some correct then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers should be displayed', () => {
169
+ it(`Text selection - ${view} - When the user attempts the question partially correct with some correct then the user should be awarded 0 points and on switching to 'Grading' view, correct icon should be displayed besides the correct answer response, a status message with text 'Your answer is incorrect' and correct answer section with all correct answers should be displayed`, () => {
159
170
  if (view === 'Grading view') {
160
171
  studentViewPage.steps.clearResponses();
161
172
  };
@@ -177,9 +188,10 @@ describe('Create item page - Text selection: All or nothing ', () => {
177
188
  textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
178
189
  textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
179
190
  textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
191
+ cy.eyesCheckWindow(`Text selection - ${view} - Partially correct attempt`);
180
192
  });
181
193
 
182
- it('When the user attempts the question partially correct with some correct and some incorrect answers then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer response, incorrect icon should be displayed besides the incorrect answer response a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers should be displayed', () => {
194
+ it(`Text selection - ${view} - When the user attempts the question partially correct with some correct and some incorrect answers then the user should be awarded 0 points and on switching to 'Grading' view, correct icon should be displayed besides the correct answer response, incorrect icon should be displayed besides the incorrect answer response a status message with text 'Your answer is incorrect' and correct answer section with all correct answers should be displayed`, () => {
183
195
  if (view === 'Grading view') {
184
196
  studentViewPage.steps.clearResponses();
185
197
  };
@@ -202,9 +214,10 @@ describe('Create item page - Text selection: All or nothing ', () => {
202
214
  textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
203
215
  textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
204
216
  textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
217
+ cy.eyesCheckWindow(`Text selection - ${view} - Partially correct with incorrect answers`);
205
218
  });
206
219
 
207
- it('When the user attempts the question correct then the user should be awarded full points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
220
+ it(`Text selection - ${view} - When the user attempts the question correct then the user should be awarded full points and on switching to 'Grading' view, correct icon should be displayed besides the correct answer responses, a status message with text 'Your answer is correct' should be displayed and correct answer section should not be displayed`, () => {
208
221
  if (view === 'Grading view') {
209
222
  studentViewPage.steps.clearResponses();
210
223
  };
@@ -226,6 +239,7 @@ describe('Create item page - Text selection: All or nothing ', () => {
226
239
  textSelectionPage.steps.verifyOptionIsNotSelectedInPreviewTab(paragraphTextArray[3]);
227
240
  textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
228
241
  utilities.verifyElementVisibilityState(textSelectionPage.correctAnswerSection(), 'notExist');
242
+ cy.eyesCheckWindow(`Text selection - ${view} - Correct attempt`);
229
243
  });
230
244
  });
231
245
  });
@@ -13,6 +13,14 @@ describe('Create item page - Text selection : Preview contents', () => {
13
13
  cy.loginAs('admin');
14
14
  });
15
15
 
16
+ beforeEach(() => {
17
+ cy.startApplitools();
18
+ });
19
+
20
+ afterEach(() => {
21
+ cy.eyesClose();
22
+ });
23
+
16
24
  views.forEach((view) => {
17
25
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
18
26
  abortEarlySetup();
@@ -87,47 +95,51 @@ describe('Create item page - Text selection : Preview contents', () => {
87
95
  });
88
96
 
89
97
  if (view !== 'Grading view' && view !== 'Correct answer view') {
90
- it('The selected options in specify possible options section should be displayed and by default all options should not be selected', () => {
98
+ it(`Text selection - ${view} - The selected options in specify possible options section should be displayed and by default all options should not be selected`, () => {
91
99
  for (let index = 0; index < 3; index++) {
92
100
  utilities.verifyInnerText(utilities.getNthElement(textSelectionPage.optionPreviewTab(), index), paragraphTextArray[index]);
93
101
  utilities.verifyElementVisibilityState(utilities.getNthElement(textSelectionPage.optionPreviewTab(), index), 'visible');
94
102
  textSelectionPage.steps.verifyOptionIsNotSelectedInPreviewTab(paragraphTextArray[index]);
95
103
  };
96
104
  utilities.verifyElementCount(textSelectionPage.optionPreviewTab(), 3);
105
+ cy.eyesCheckWindow(`Text selection - ${view} - Options displayed and not selected`);
97
106
  });
98
107
 
99
- it('When user hovers on the available options, then those options should be displayed in hover state highlight', () => {
108
+ it(`${view} - When user hovers on the available options, then those options should be displayed in hover state highlight`, () => {
100
109
  for (let index = 0; index < 3; index++) {
101
110
  textSelectionPage.steps.verifyHoverStateOfOptionInPreviewTab(paragraphTextArray[index], "blue");
102
111
  };
103
112
  });
104
113
 
105
- it('When user selects an option, then that option should be displayed in selected state', () => {
114
+ it(`Text selection - ${view} - When user selects an option, then that option should be displayed in selected state`, () => {
106
115
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[0]);
107
116
  textSelectionPage.steps.verifySelectedStateOptionInPreviewTab(paragraphTextArray[0], "blue");
108
117
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[1]);
109
118
  textSelectionPage.steps.verifySelectedStateOptionInPreviewTab(paragraphTextArray[1], "blue");
119
+ cy.eyesCheckWindow(`Text selection - ${view} - Option selected state`);
110
120
  });
111
121
 
112
- it('When user clicks on a selected option, then that option should be deselected', () => {
122
+ it(`${view} - When user clicks on a selected option, then that option should be deselected`, () => {
113
123
  textSelectionPage.steps.deselectOptionInPreviewTab(paragraphTextArray[0]);
114
124
  textSelectionPage.steps.verifyStandardStateOptionInPreviewTab(paragraphTextArray[0]);
115
125
  });
116
126
  } else if (view === 'Grading view') {
117
- it('The question text should be displayed with the selected correct options and status message \' Your answer is incorrect\' should be displayed', () => {
127
+ it(`${view} - The question text should be displayed with the selected correct options and status message 'Your answer is incorrect' should be displayed`, () => {
118
128
  textSelectionPage.steps.verifyCorrectIconForOption(paragraphTextArray[1]);
119
129
  textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
120
130
  });
121
131
 
122
- it('The submitted answer options should not be editable', () => {
132
+ it(`Text selection - ${view} - The submitted answer options should not be editable`, () => {
123
133
  textSelectionPage.steps.verifyAnswerSectionNotEditableInPreviewTab();
134
+ cy.eyesCheckWindow(`Text selection - ${view} - Submitted answers should not be editable and status message should be displayed`);
124
135
  });
125
136
  } else {
126
- it('The question text should be displayed with the selected correct options', () => {
137
+ it(`Text selection - ${view} - The question text should be displayed with the selected correct options`, () => {
127
138
  for (let index = 0; index < 2; index++) {
128
139
  textSelectionPage.steps.verifyCorrectIconForOption(paragraphTextArray[index]);
129
140
  };
130
141
  textSelectionPage.steps.verifyOptionIsNotSelectedInPreviewTab(paragraphTextArray[2]);
142
+ cy.eyesCheckWindow(`Text selection - ${view} - Correct options displayed`);
131
143
  });
132
144
  }
133
145
  });
@@ -12,6 +12,14 @@ describe('Preview tab contents for all views', () => {
12
12
  cy.loginAs('admin');
13
13
  });
14
14
 
15
+ beforeEach(() => {
16
+ cy.startApplitools();
17
+ });
18
+
19
+ afterEach(() => {
20
+ cy.eyesClose();
21
+ });
22
+
15
23
  //failing in student view due to https://redmine.zeuslearning.com/issues/568592
16
24
  views.forEach((view) => {
17
25
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
@@ -60,7 +68,7 @@ describe('Preview tab contents for all views', () => {
60
68
  }
61
69
  });
62
70
 
63
- it('When the user switches to preview tab, \'Backward\', \'Play\', \'Forward\', \'Volume control\', \'Elapsed time\', \'Progress bar\', \'Total time\', \'Playback speed\' and \'Add pin\' buttons should be displayed', () => {
71
+ it(`${view} view - Tool audio player: When the user switches to preview tab, \'Backward\', \'Play\', \'Forward\', \'Volume control\', \'Elapsed time\', \'Progress bar\', \'Total time\', \'Playback speed\' and \'Add pin\' buttons should be displayed`, () => {
64
72
  utilities.verifyElementVisibilityState(audioPlayerPage.backwardButton(), 'visible');
65
73
  utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
66
74
  utilities.verifyElementVisibilityState(audioPlayerPage.forwardButton(), 'visible');
@@ -72,6 +80,7 @@ describe('Preview tab contents for all views', () => {
72
80
  utilities.verifyInnerText(audioPlayerPage.playbackTotalTime(), '00:00');
73
81
  utilities.verifyElementVisibilityState(audioPlayerPage.playbackSpeedButton(), 'visible');
74
82
  utilities.verifyElementVisibilityState(audioPlayerPage.addPinButton(), 'visible');
83
+ cy.eyesCheckWindow(`${view} view - Tool audio player: Backward, Play, Forward, Volume control, Elapsed time, Progress bar, Total time, Playback speed and Add pin buttons`);
75
84
  });
76
85
 
77
86
  it('When the user clicks on \'Play\' button, then the audio file should load and the user should be able to play the audio. Timer should display the amount of audio that has been played and the total audio length in (mm:ss)/(mm:ss) format.', () => {
@@ -88,10 +97,11 @@ describe('Preview tab contents for all views', () => {
88
97
  utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'notExist');
89
98
  });
90
99
 
91
- it('When audio player is in paused state and user clicks on \'Play\' button, then playback should get resumed and \'Play\' button should get replaced with \'Pause\' button.', () => {
100
+ it(`${view} view - Tool audio player: When audio player is in paused state and user clicks on \'Play\' button, then playback should get resumed and \'Play\' button should get replaced with \'Pause\' button.`, () => {
92
101
  audioPlayerPage.steps.startPlayback();
93
102
  utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'visible');
94
103
  utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'notExist');
104
+ cy.eyesCheckWindow(`${view} view - Tool audio player: When user clicks on Play button then playback should be resumed and Play button should be replaced with Pause button`);
95
105
  });
96
106
 
97
107
  it('When the user seeks the progress bar slider while the audio is playing, then the audio should continue to play from the position where the slider is seeked', () => {
@@ -100,11 +110,12 @@ describe('Preview tab contents for all views', () => {
100
110
  audioPlayerPage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
101
111
  });
102
112
 
103
- it('When the audio playback is completed, the \'Pause\' button should get replaced with \'Play\' button', () => {
113
+ it(`${view} view - Tool audio player: When the audio playback is completed, the \'Pause\' button should get replaced with \'Play\' button`, () => {
104
114
  audioPlayerPage.steps.verifyAudioPlaybackTimer('00:45', '00:45');
105
115
  utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
106
116
  utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'notExist');
107
117
  audioPlayerPage.steps.verifyProgressBarSliderPosition(99);
118
+ cy.eyesCheckWindow(`${view} view - Tool audio player: When the audio playback is completed, the Pause button should get replaced with Play button`);
108
119
  });
109
120
 
110
121
  it('The added audio description and transcript should be displayed in preview tab', () => {
@@ -15,13 +15,21 @@ describe('Tool settings content for all views', () => {
15
15
  cy.loginAs('admin');
16
16
  });
17
17
 
18
+ beforeEach(() => {
19
+ cy.startApplitools();
20
+ });
21
+
22
+ afterEach(() => {
23
+ cy.eyesClose();
24
+ });
25
+
18
26
  views.forEach((view) => {
19
27
  describe(`Preview tab contents : Single tool selected - ${view}`, { tags: 'smoke' }, () => {
20
28
  abortEarlySetup();
21
29
  before(() => {
22
30
  switch (view) {
23
31
  case 'Question preview':
24
- cy.log('Navigating to short text response question type');
32
+ cy.log('Navigating to multiple selection response question type');
25
33
  multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
26
34
  cy.barsPreLoaderWait();
27
35
  multipleSelectionPage.steps.addTextInQuestionInstructionsInputField('Text');
@@ -74,11 +82,12 @@ describe('Tool settings content for all views', () => {
74
82
  rulerPage.steps.verifyRulerNotVisible();
75
83
  });
76
84
 
77
- it('When user clicks on \'Show ruler\' button, then ruler should be displayed and its button should change to \'Hide ruler\'', () => {
85
+ it(`When user clicks on 'Show ruler' button in ${view}, then ruler should be displayed and its button should change to 'Hide ruler'`, () => {
78
86
  rulerPage.steps.clickOnRulerVisibilityButton();
79
87
  rulerPage.steps.verifyRulerVisible();
80
88
  rulerPage.steps.verifyPreviewTabRulerVisibilityButtonLabel('Hide');
81
89
  rulerPage.steps.verifyLengthOfRulerInPreview('15cm');
90
+ cy.eyesCheckWindow(`${view} - Ruler visibility`);
82
91
  });
83
92
 
84
93
  it('CSS of the \'Hide ruler\' button', { tags: 'css' }, () => {
@@ -177,9 +186,10 @@ describe('Tool settings content for all views', () => {
177
186
  protractorPage.steps.verifyPreviewTabProtractorVisibilityButtonLabel('Hide');
178
187
  });
179
188
 
180
- it('When user has clicked visibility buttons for both the ruler and protractor tools, both tools should be displayed simultaneously in the preview tab', () => {
189
+ it(`When user has clicked visibility buttons for both the ruler and protractor tools in ${view}, both tools should be displayed simultaneously in the preview tab`, () => {
181
190
  rulerPage.steps.verifyRulerVisible();
182
191
  protractorPage.steps.verifyProtractorVisibleInPreviewTab();
192
+ cy.eyesCheckWindow(`${view} - Protractor and Ruler visibility`);
183
193
  });
184
194
 
185
195
  it('CSS of the \'Hide ruler\' and \'Hide protractor\' button', { tags: 'css' }, () => {
@@ -12,6 +12,14 @@ describe('Create item page - Upload response: Grading view, Correct answer view
12
12
  cy.loginAs('admin');
13
13
  });
14
14
 
15
+ beforeEach(() => {
16
+ cy.startApplitools();
17
+ });
18
+
19
+ afterEach(() => {
20
+ cy.eyesClose();
21
+ });
22
+
15
23
  if (views.includes('Grading view')) {
16
24
  describe('Grading view contents', { tags: 'smoke' }, () => {
17
25
  abortEarlySetup();
@@ -50,6 +58,7 @@ describe('Create item page - Upload response: Grading view, Correct answer view
50
58
 
51
59
  it('Empty score input field and total score should be displayed', () => {
52
60
  gradingViewPage.steps.verifyGradingViewScore('', 10);
61
+ cy.eyesCheckWindow('Grading view - Uploaded file and score');
53
62
  });
54
63
 
55
64
  it('Accessibility of uploaded file', { tags: 'a11y' }, () => {
@@ -58,7 +67,7 @@ describe('Create item page - Upload response: Grading view, Correct answer view
58
67
 
59
68
  //Adding skip as this does not work on spinnaker
60
69
  it.skip('On clicking on the file name, user should be able to download the file', () => {
61
- cy.verifyUploadFilePreviewDownload('highlightImage.jpg');
70
+ cy.verifyUploadFilePreviewDownload('highlightImage.jpg');
62
71
  });
63
72
  });
64
73
  }
@@ -90,6 +99,7 @@ describe('Create item page - Upload response: Grading view, Correct answer view
90
99
  it('\'This is a manual scored question\' help text should be displayed in the correct answer view', () => {
91
100
  utilities.verifyTextContent(correctAnswerViewPage.manualScoredQuestionHelpText(), 'This is a manual scored question.');
92
101
  utilities.verifyElementVisibilityState(correctAnswerViewPage.manualScoredQuestionHelpText(), 'visible');
102
+ cy.eyesCheckWindow('Grading view - question instructions and help text');
93
103
  });
94
104
 
95
105
  it('The points alloted to the question should be displayed', () => {
@@ -14,6 +14,14 @@ describe('Create item page - Upload response : Preview contents', () => {
14
14
  cy.loginAs('admin');
15
15
  });
16
16
 
17
+ beforeEach(() => {
18
+ cy.startApplitools();
19
+ });
20
+
21
+ afterEach(() => {
22
+ cy.eyesClose();
23
+ });
24
+
17
25
  views.forEach((view) => {
18
26
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
19
27
  abortEarlySetup();
@@ -54,10 +62,11 @@ describe('Create item page - Upload response : Preview contents', () => {
54
62
  utilities.verifyElementVisibilityState(uploadResponsePage.questionInstructionsText(), 'visible');
55
63
  });
56
64
 
57
- it('Upload response area should have a Cloud icon and text \'Drag & Drop files here \'or browse files on your device, or capture an image\' should be displayed', () => {
65
+ it(`${view} - Upload response area should have a Cloud icon and text 'Drag & Drop files here 'or browse files on your device, or capture an image' should be displayed`, () => {
58
66
  utilities.verifyElementVisibilityState(uploadResponsePage.uploadCloudIcon(), 'visible');
59
67
  utilities.verifyInnerText(uploadResponsePage.dragAndDropFilesText(), 'Drag & Drop files here');
60
68
  utilities.verifyTextContent(uploadResponsePage.fileUploadOptionsLabel(), 'or browse files on your device or capture an image');
69
+ cy.eyesCheckWindow(`${view} - Upload response area`);
61
70
  });
62
71
 
63
72
  it('Computer icon should be displayed before link texts \'device\'', () => {
@@ -82,11 +91,12 @@ describe('Create item page - Upload response : Preview contents', () => {
82
91
  uploadResponsePage.steps.verifyUploadedFileLimitCount(0, 3);
83
92
  });
84
93
 
85
- it('When user uploads file, then uploaded file name should be displayed and file count should get updated', () => {
94
+ it(`${view} - When user uploads file, then uploaded file name should be displayed and file count should get updated`, () => {
86
95
  uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
87
96
  uploadResponsePage.steps.uploadedFileContentsPreviewTab(0, 'highlightImage.jpg');
88
97
  uploadResponsePage.steps.verifyUploadedFileLimitCount(1, 3);
89
98
  utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
99
+ cy.eyesCheckWindow(`${view} - Uploaded file name displayed and file count updated`);
90
100
  });
91
101
 
92
102
  it('When user deletes the uploaded file then uploaded file name, edit icon and delete button should disappear and file limit should be updated accordingly', () => {
@@ -103,13 +113,14 @@ describe('Create item page - Upload response : Preview contents', () => {
103
113
  utilities.verifyElementCount(uploadResponsePage.fileName(), 2);
104
114
  });
105
115
 
106
- it('When user edits the name of uploaded file, then edited name should be visible', () => {
116
+ it(`${view} - When user edits the name of uploaded file, then edited name should be visible`, () => {
107
117
  uploadResponsePage.steps.clickOnEditDisplayTextIcon(0);
108
118
  utilities.verifyElementVisibilityState(uploadResponsePage.dialogBox(), 'exist');
109
119
  uploadResponsePage.steps.enterTextInEditDisplayTextPopupInputField('image.csv');
110
120
  uploadResponsePage.steps.verifyTextInEditDisplayTextPopupInputField('image.csv');
111
121
  uploadResponsePage.steps.clickAcceptButtonInPopup();
112
122
  uploadResponsePage.steps.verifyUploadedFileName(0, 'image.csv');
123
+ cy.eyesCheckWindow(`${view} - Uploaded file name edited`);
113
124
  });
114
125
 
115
126
  it('CSS of Preview tab', { tags: 'css' }, () => {
@@ -158,15 +169,17 @@ describe('Create item page - Upload response : Preview contents', () => {
158
169
  });
159
170
 
160
171
  //Failed due to https://redmine.zeuslearning.com/issues/563182
161
- it('When user uploads file type which is not selected from the \'Supported file types\' accordion menu, then file upload error message - \'The file type is not supported. Please upload files with the following supported formats: *file format separated by commas*\' should be displayed', () => {
172
+ it(`${view} - When user uploads file type which is not selected from the 'Supported file types' accordion menu, then file upload error message - 'The file type is not supported. Please upload files with the following supported formats: *file format separated by commas*' should be displayed`, () => {
162
173
  uploadResponsePage.steps.uploadFile('uploads/sample.heif');
163
174
  uploadResponsePage.steps.verifyWarningMessage('The file type is not supported. Please upload files with the following supported formats: CSV, Excel, GIF, JPG, Open Office, PDF, PNG, Powerpoint, Publisher, RTF, TXT, Word, XPS, ZIP.');
175
+ cy.eyesCheckWindow(`${view} - Unsupported file type error message`);
164
176
  });
165
177
 
166
- it('When user tries to upload files more than the limit, then warning message \'You have reached the maximum number of files that can be uploaded.\' should be displayed', () => {
178
+ it(`${view} - When user tries to upload files more than the limit, then warning message 'You have reached the maximum number of files that can be uploaded.' should be displayed`, () => {
167
179
  uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
168
180
  uploadResponsePage.steps.uploadFile('uploads/image.png');
169
181
  uploadResponsePage.steps.verifyWarningMessage('You have reached the maximum number of files that can be uploaded.');
182
+ cy.eyesCheckWindow(`${view} - File upload limit warning message`);
170
183
  });
171
184
 
172
185
  if (view != 'Question preview') {
@@ -1,4 +1,4 @@
1
- import { uploadResponsePage, itemPreviewPage} from "../../../pages";
1
+ import { uploadResponsePage, itemPreviewPage } from "../../../pages";
2
2
  import abortEarlySetup from "../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
@@ -13,6 +13,14 @@ describe('Create item page - Upload response : Preview contents', () => {
13
13
  cy.loginAs('admin');
14
14
  });
15
15
 
16
+ beforeEach(() => {
17
+ cy.startApplitools();
18
+ });
19
+
20
+ afterEach(() => {
21
+ cy.eyesClose();
22
+ });
23
+
16
24
  views.forEach((view) => {
17
25
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
18
26
  abortEarlySetup();
@@ -56,12 +64,13 @@ describe('Create item page - Upload response : Preview contents', () => {
56
64
  utilities.verifyElementVisibilityState(uploadResponsePage.questionInstructionsText(), 'visible');
57
65
  });
58
66
 
59
- it('When user uploads file, then uploaded file name should be displayed, file count should get updated and thumb nail of the image should be visible', () => {
67
+ it(`${view} - When user uploads file, then uploaded file name should be displayed, file count should get updated and thumb nail of the image should be visible`, () => {
60
68
  uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
61
69
  uploadResponsePage.steps.verifyThumbNailExistOrNotExist('highlightImage.jpg', 'visible');
70
+ cy.eyesCheckWindow(`${view} - Uploaded file name`);
62
71
  });
63
72
 
64
- it('CSS of Thumb nail and File name in preview tab', { tags: 'css' }, () => {
73
+ it(`${view} - CSS of Thumb nail and File name in preview tab`, { tags: 'css' }, () => {
65
74
  utilities.verifyCSS(uploadResponsePage.imageThumbNail(), {
66
75
  'box-sizing': 'border-box',
67
76
  'min-height': 'auto',
@@ -79,9 +88,11 @@ describe('Create item page - Upload response : Preview contents', () => {
79
88
  cy.checkAccessibility(uploadResponsePage.questionWrapperPreviewTab());
80
89
  });
81
90
 
82
- it('When user clicks on the thumbnail then popup should open, and on clicking the close button the popup should close and the uploaded files should be displayed', () => {
91
+ it(`${view} - When user clicks on the thumbnail then popup should open, and on clicking the close button the popup should close and the uploaded files should be displayed`, () => {
92
+ utilities.verifyElementCount(uploadResponsePage.imageThumbNail(), 2);
83
93
  uploadResponsePage.steps.clickOnImageThumbNail();
84
94
  uploadResponsePage.steps.verifyImagePopUpDetail();
95
+ cy.eyesCheckWindow(`${view} - Thumbnail popup`);
85
96
  uploadResponsePage.steps.closeImagePopup();
86
97
  uploadResponsePage.steps.verifyThumbNailExistOrNotExist('highlightImage.jpg', 'visible');
87
98
  utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
@@ -95,16 +106,17 @@ describe('Create item page - Upload response : Preview contents', () => {
95
106
  utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
96
107
  });
97
108
 
98
- it('When user uploads different file types then only image files should be displayed with thumbnail', () => {
109
+ it(`${view} - When user uploads different file types then only image files should be displayed with thumbnail`, () => {
99
110
  for (let number = 0; number < 13; number++) {
100
111
  uploadResponsePage.steps.deleteFile();
101
112
  uploadResponsePage.steps.clickAcceptButtonInPopup();
102
113
  uploadResponsePage.steps.uploadFile(`uploads/${filename[number]}`);
103
114
  uploadResponsePage.steps.verifyThumbNailExistOrNotExist(filename[number], fileThumbNail[number]);
104
115
  }
116
+ cy.eyesCheckWindow(`${view} - Uploaded different file types`);
105
117
  });
106
118
 
107
- it('When user uploads a file in .heif or .heic format then and info icon with tool tip should be present and image thumb nail should not be present', () => {
119
+ it(`${view} - When user uploads a file in .heif or .heic format then and info icon with tool tip should be present and image thumb nail should not be present`, () => {
108
120
  for (let number = 13; number < 15; number++) {
109
121
  uploadResponsePage.steps.deleteFile();
110
122
  uploadResponsePage.steps.clickAcceptButtonInPopup();
@@ -115,6 +127,7 @@ describe('Create item page - Upload response : Preview contents', () => {
115
127
  uploadResponsePage.unSupportedFileInfoIcon()
116
128
  .verifyTooltip('The image format (HEIC/HEIF) is not supported on your current device or operating system version. Please click the link to download and view the image.');
117
129
  }
130
+ cy.eyesCheckWindow(`${view} - Uploaded heic and file types`);
118
131
  });
119
132
  });
120
133
  });
@@ -19,11 +19,20 @@ describe('Preview of Video response for compact recorder style', () => {
19
19
  videoResponsePage.steps.switchToPreviewTab();
20
20
  });
21
21
 
22
- it('If user selects \'Compact\' option from \'video recorder style\' toggle buttons, then \'Record\' button and \'Click the button to start recording...\' help text should be displayed in the preview tab', () => {
22
+ beforeEach(() => {
23
+ cy.startApplitools();
24
+ });
25
+
26
+ afterEach(() => {
27
+ cy.eyesClose();
28
+ });
29
+
30
+ it(`Video response : If user selects \'Compact\' option from \'video recorder style\' toggle buttons, then \'Record\' button and \'Click the button to start recording...\' help text should be displayed in the preview tab`, () => {
23
31
  utilities.verifyElementVisibilityState(videoResponsePage.recordButtonCompactPreview(), 'visible');
24
32
  utilities.verifyInnerText(videoResponsePage.recordButtonCompactPreview(), 'Record');
25
33
  utilities.verifyInnerText(videoResponsePage.recordingHelpTextCompactPreview(), 'Click the button to start recording...');
26
34
  utilities.verifyElementVisibilityState(videoResponsePage.recordingHelpTextCompactPreview(), 'visible');
35
+ cy.eyesCheckWindow(`Video response : Compact video recorder style`);
27
36
  });
28
37
 
29
38
  it('CSS of Preview section', { tags: 'css' }, () => {
@@ -139,7 +148,7 @@ describe('Preview of Video response for compact recorder style', () => {
139
148
  cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
140
149
  });
141
150
 
142
- it('When the recorder is in paused state and the user clicks on the \'Resume recording\' button the recording should get resumed from where it was paused. Resume recording button should update to Pause button and the help text should update to "Recording...". Resume icon button should get replaced with Pause icon button in the flyout, user should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs / min:sec)\'. Stop button should be displayed in preview tab.', () => {
151
+ it(`Video response: When the recorder is in paused state and the user clicks on the \'Resume recording\' button the recording should get resumed from where it was paused. Resume recording button should update to Pause button and the help text should update to "Recording...". Resume icon button should get replaced with Pause icon button in the flyout, user should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs / min:sec)\'. Stop button should be displayed in preview tab.`, () => {
143
152
  videoResponsePage.steps.resumeRecordingCompactPreview();
144
153
  utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingButtonCompactPreview(), 'notExist');
145
154
  utilities.verifyElementVisibilityState(videoResponsePage.pauseRecordingButtonCompactPreview(), 'visible');
@@ -148,6 +157,7 @@ describe('Preview of Video response for compact recorder style', () => {
148
157
  videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording...');
149
158
  videoResponsePage.steps.addWaitToRecord(1000);
150
159
  videoResponsePage.steps.verifyRecordingLengthAfterResumingCompactPreview();
160
+ cy.eyesCheckWindow(`Video response : When the recorder is in paused state and the user clicks on the Resume recording button the recording should get resumed from where it was paused`);
151
161
  });
152
162
 
153
163
  it('When the recording is inprogress and user clicks on \'Stop\' button, recording should stop. The recording should get saved and recorded video, progress bar, volume control, playback speed buttons should be displayed. Playback time of the recorded video should be displayed as \'(min:secs / min:sec)\'. Stop button should get replaced with Retake button and Play button should be displayed.', () => {
@@ -196,7 +206,7 @@ describe('Preview of Video response for compact recorder style', () => {
196
206
  utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
197
207
  });
198
208
 
199
- it('When recording is inprogress, recording should stop at maximum recording duration and \'Stop\' button should get replaced with Retake button. Playback button should be displayed in enabled state.', () => {
209
+ it(`Video response : When recording is inprogress, recording should stop at maximum recording duration and \'Stop\' button should get replaced with Retake button. Playback button should be displayed in enabled state.`, () => {
200
210
  cy.log('Pre-step: Switch to edit tab and set maximum recording duration to 10 secs')
201
211
  videoResponsePage.steps.switchToEditTab();
202
212
  videoResponsePage.steps.setMaximumRecordingDuration(40);
@@ -209,6 +219,7 @@ describe('Preview of Video response for compact recorder style', () => {
209
219
  utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingButtonCompactPreview(), 'notExist');
210
220
  utilities.verifyElementVisibilityState(videoResponsePage.retakeButtonCompactPreview(), 'visible');
211
221
  utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
222
+ cy.eyesCheckWindow(`Video response : Recording should stop at maximum recording duration and Stop button should get replaced with Retake button`);
212
223
  });
213
224
 
214
225
  it('When the user updates maximum recorder length the recording should stop at the updated recorder length', () => {
@@ -14,6 +14,14 @@ describe('Create item page - Video response: Grading view, Correct answer view c
14
14
  cy.loginAs('admin');
15
15
  });
16
16
 
17
+ beforeEach(() => {
18
+ cy.startApplitools();
19
+ });
20
+
21
+ afterEach(() => {
22
+ cy.eyesClose();
23
+ });
24
+
17
25
  if (views.includes('Grading view')) {
18
26
  describe('Grading view contents', { tags: 'smoke' }, () => {
19
27
  let actualVideoSeekedInPercent = 50
@@ -43,9 +51,10 @@ describe('Create item page - Video response: Grading view, Correct answer view c
43
51
  utilities.verifyElementVisibilityState(videoResponsePage.questionInstructionsText(), 'visible');
44
52
  });
45
53
 
46
- it('The response submitted by the student should be visible in the playback player of the grading view.', () => {
54
+ it('Video response : The response submitted by the student should be visible in the playback player of the grading view.', () => {
47
55
  utilities.verifyElementVisibilityState(videoResponsePage.standardPreviewPlaybackWrapper(), 'visible');
48
56
  videoResponsePage.steps.verifyVideoPlaybackTimer('0:00', '0:12');
57
+ cy.eyesCheckWindow(`Video response - Grading view contents`);
49
58
  });
50
59
 
51
60
  it('When the user clicks on \'Play\' button, then the video should start playing. Timer should display the amount of video that has been played and the total video length in (mm:ss)/(mm:ss) format.', () => {
@@ -54,12 +63,13 @@ describe('Create item page - Video response: Grading view, Correct answer view c
54
63
  videoResponsePage.steps.verifyVideoPlaybackTimer('0:03', '0:12');
55
64
  });
56
65
 
57
- it('When the video player is in playback state and the user clicks on \'Pause\' button, then playback should get paused. Progress bar and timer should not update further and the \'Pause\' button should get replaced with \'Play\' button', () => {
66
+ it('Video response : When the video player is in playback state and the user clicks on \'Pause\' button, then playback should get paused. Progress bar and timer should not update further and the \'Pause\' button should get replaced with \'Play\' button', () => {
58
67
  videoResponsePage.steps.verifyVideoPlaybackTimer('0:05', '0:12');
59
68
  videoResponsePage.steps.pauseAndVerifyProgressBarSliderPosition();
60
69
  videoResponsePage.steps.verifyVideoPlaybackTimer('0:05', '0:12');
61
70
  utilities.verifyElementVisibilityState(videoResponsePage.playbackPlayButton(), 'visible');
62
71
  utilities.verifyElementVisibilityState(videoResponsePage.playbackPauseButton(), 'notExist');
72
+ cy.eyesCheckWindow(`Video response : Grading view - Verify progress bar and timer stop, and Pause button is replaced with Play button`);
63
73
  });
64
74
 
65
75
  it('When the user seeks the progress bar slider while the video is playing, then the video should continue to play from the position where the slider is seeked', () => {
@@ -121,8 +131,9 @@ describe('Create item page - Video response: Grading view, Correct answer view c
121
131
  });
122
132
  }
123
133
 
124
- it('A download button should be displayed in the playback player', () => {
134
+ it('Video response : A download button should be displayed in the playback player', () => {
125
135
  utilities.verifyElementVisibilityState(videoResponsePage.downloadVideoButton(), 'visible');
136
+ cy.eyesCheckWindow(`Video response: Grading view - Verify download button is displayed in the playback player.`);
126
137
  });
127
138
 
128
139
  it('Empty score input field and total score should be displayed', () => {
@@ -170,8 +181,9 @@ describe('Create item page - Video response: Grading view, Correct answer view c
170
181
 
171
182
  correctAnswerViewPage.tests.verifyManualScoredQuestionHelpTextCorrectAnswerPage();
172
183
 
173
- it('The points alloted to the question should be displayed', () => {
184
+ it('Video response: The points alloted to the question should be displayed', () => {
174
185
  correctAnswerViewPage.steps.verifyAvailablePoints(10);
186
+ cy.eyesCheckWindow('Video response: Correct answer view contents');
175
187
  });
176
188
  });
177
189
  }