itemengine-cypress-automation 1.0.294 → 1.0.295-applitools-78e9d04.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +19 -19
  2. package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +12 -2
  3. package/cypress/e2e/ILC/AudioResponseNew/previewContentsForAllViews.smoke.js +10 -1
  4. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +10 -1
  5. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  6. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/previewContentsForAllViews.smoke.js +10 -1
  7. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +10 -1
  8. package/cypress/e2e/ILC/ChartsBar/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  9. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +10 -1
  10. package/cypress/e2e/ILC/ChartsLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  11. package/cypress/e2e/ILC/ChartsLine/previewContentsForAllViews.smoke.js +12 -3
  12. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +10 -1
  13. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editQuestion.smoke.js +2 -2
  14. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/previewContentsForAllViews.smoke.js +10 -1
  15. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +0 -4
  16. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +12 -2
  17. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +19 -21
  18. package/cypress/e2e/ILC/EditItem/editItem.ts +7 -7
  19. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +8 -0
  20. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +10 -1
  21. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editQuestion.smoke.js +2 -2
  22. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +11 -1
  23. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +10 -1
  24. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/previewContentsForAllViews.smoke.js +10 -1
  25. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +10 -1
  26. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editQuestion.smoke.js +2 -2
  27. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +10 -1
  28. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +10 -1
  29. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +12 -3
  30. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +13 -4
  31. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +13 -4
  32. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +13 -4
  33. package/cypress/e2e/ILC/FillInTheGapsTextNew/previewContentsForAllViews.smoke.js +13 -4
  34. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +5 -5
  35. package/cypress/e2e/ILC/Graphing/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  36. package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +13 -4
  37. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +15 -5
  38. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +9 -1
  39. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +15 -5
  40. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +13 -4
  41. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +4 -4
  42. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +12 -3
  43. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/previewContentsForAllViews.smoke.js +11 -2
  44. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +13 -4
  45. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +5 -5
  46. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/horizontalOrientationAllOrNothingForAllViews.smoke.js +6 -5
  47. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +12 -3
  48. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +14 -4
  49. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +3 -3
  50. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +14 -5
  51. package/cypress/e2e/ILC/Matching/previewTabContentsForAllViews.smoke.js +12 -3
  52. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +5 -5
  53. package/cypress/e2e/ILC/MatchingDropdown/previewContentsForAllViews.smoke.js +13 -4
  54. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +19 -10
  55. package/cypress/e2e/ILC/MultipleSelection/previewContentsForAllViews.smoke.js +11 -2
  56. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +14 -5
  57. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +14 -4
  58. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +5 -5
  59. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  60. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +13 -4
  61. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +5 -5
  62. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +3 -2
  63. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +4 -4
  64. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +5 -5
  65. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +10 -0
  66. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +10 -1
  67. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +5 -5
  68. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -2
  69. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +1 -1
  70. package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +1 -1
  71. package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +1 -1
  72. package/cypress/e2e/ILC/Ruler/rulerPreviewContents.smoke.js +1 -1
  73. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +12 -3
  74. package/cypress/e2e/ILC/ShortTextResponseNew/previewContentsForAllViews.smoke.js +5 -6
  75. package/cypress/e2e/ILC/SimpleCalculator/previewContents.smoke.js +1 -1
  76. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +12 -3
  77. package/cypress/e2e/ILC/SingleSelection/previewContents.smoke.js +10 -1
  78. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +14 -5
  79. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +10 -1
  80. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +23 -14
  81. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +5 -6
  82. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +13 -4
  83. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +17 -17
  84. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +13 -5
  85. package/cypress/e2e/ILC/TextSelection/ScoringGeneric/basicScoringForAllTextSelectionTypes.smoke.js +4 -4
  86. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +16 -6
  87. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +8 -8
  88. package/cypress/e2e/ILC/ToolAudioPlayerNew/previewContents.smoke.js +3 -3
  89. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +3 -3
  90. package/cypress/e2e/ILC/UploadResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +11 -1
  91. package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +13 -4
  92. package/cypress/e2e/ILC/UploadResponse/thumbNail.smoke.js +16 -6
  93. package/cypress/e2e/ILC/VideoResponseNew/compactRecorderStyle.smoke.js +3 -3
  94. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +14 -4
  95. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +12 -3
  96. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +9 -9
  97. package/cypress/e2e/ILC/chartsDotsPlot/gradingViewAndCorrectAnswerView.smoke.js +2 -2
  98. package/cypress/e2e/ILC/chartsDotsPlot/previewContentsForAllViews.smoke.js +13 -4
  99. package/cypress/e2e/applitools.config.js +14 -0
  100. package/cypress/pages/components/autoScoredScoringPreviewTab.js +0 -1
  101. package/cypress/pages/components/equationEditorSectionCommonComponent.js +3 -1
  102. package/cypress/pages/components/gridQuestionCommonComponent.js +1 -39
  103. package/cypress/pages/components/optionsWrapperComponent.js +3 -0
  104. package/cypress/pages/createItemPage.js +2 -2
  105. package/cypress/pages/multipleSelectionPage.js +1 -39
  106. package/cypress/pages/singleSelectionPage.js +1 -39
  107. package/cypress/support/commands.js +11 -0
  108. package/cypress/support/e2e.js +1 -0
  109. package/package.json +4 -1
@@ -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,7 +63,7 @@ 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');
@@ -122,7 +131,7 @@ describe('Create item page - Video response: Grading view, Correct answer view c
122
131
  });
123
132
  }
124
133
 
125
- 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', () => {
126
135
  utilities.verifyElementVisibilityState(videoResponsePage.downloadVideoButton(), 'visible');
127
136
  });
128
137
 
@@ -171,8 +180,9 @@ describe('Create item page - Video response: Grading view, Correct answer view c
171
180
 
172
181
  correctAnswerViewPage.tests.verifyManualScoredQuestionHelpTextCorrectAnswerPage();
173
182
 
174
- it('The points alloted to the question should be displayed', () => {
183
+ it('Video response: The points alloted to the question should be displayed', () => {
175
184
  correctAnswerViewPage.steps.verifyAvailablePoints(10);
185
+ cy.eyesCheckWindow('Video response: Correct answer view contents');
176
186
  });
177
187
  });
178
188
  }
@@ -13,6 +13,14 @@ describe('Create item page - Video 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();
@@ -59,7 +67,7 @@ describe('Create item page - Video response: Preview contents', () => {
59
67
  utilities.verifyElementVisibilityState(videoResponsePage.startRecordingText(), 'visible');
60
68
  });
61
69
 
62
- it('When the user has not started recording, a status message: \'Allow camera and microphone access.\' along with a microphone icon should be displayed on the recording interface', () => {
70
+ it(`${view} view - Video response: When the user has not started recording, a status message: \'Allow camera and microphone access.\' along with a microphone icon should be displayed on the recording interface`, () => {
63
71
  videoResponsePage.steps.verifyRecordingStatus('Allow camera and microphone access.');
64
72
  });
65
73
 
@@ -146,13 +154,14 @@ describe('Create item page - Video response: Preview contents', () => {
146
154
  utilities.verifyElementVisibilityState(videoResponsePage.stopButton(), 'visible');
147
155
  });
148
156
 
149
- it('When a recording is in progress and the user first pauses the recording and then stops recording, then the recording should stop, recorded video response should be saved. User should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs)\'.', () => {
157
+ it(`${view} view - Video response: When a recording is in progress and the user first pauses the recording and then stops recording, then the recording should stop, recorded video response should be saved. User should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs)\'.`, () => {
150
158
  videoResponsePage.steps.resetQuestionPreview();
151
159
  videoResponsePage.steps.startRecording();
152
160
  videoResponsePage.steps.waitForRecordingToStart();
153
161
  videoResponsePage.steps.addWaitToRecord(9000);
154
162
  videoResponsePage.steps.pauseRecording();
155
163
  videoResponsePage.steps.stopAndVerifySavingAndRecordingLength();
164
+ cy.eyesCheckWindow(`${view} view - Video response: Duration of their recorded video in minutes`);
156
165
  });
157
166
  } else {
158
167
  it('When a recording is in progress and the user clicks on the \'Pause recording\' button, recording should pause and the status message should update to \'Recording paused\'. User should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs/min:sec)\'. \'Pause recording\' button should get replaced with \'Resume recording\' button. \'Stop recording\' button should be displayed beside resume recording button', () => {
@@ -182,7 +191,7 @@ describe('Create item page - Video response: Preview contents', () => {
182
191
  utilities.verifyInnerText(videoResponsePage.savedResponseText(), 'Your response has been recorded.');
183
192
  });
184
193
 
185
- 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', () => {
194
+ it(`${view} view - 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`, () => {
186
195
  videoResponsePage.steps.pauseAndVerifyProgressBarSliderPosition();
187
196
  utilities.verifyElementVisibilityState(videoResponsePage.playbackPlayButton(), 'visible');
188
197
  utilities.verifyElementVisibilityState(videoResponsePage.playbackPauseButton(), 'notExist');
@@ -44,7 +44,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
44
44
  };
45
45
 
46
46
  views.forEach((view) => {
47
- describe(` Charts - Dot: All or nothing scoring - ${view}`, { tags: 'smoke' }, () => {
47
+ describe(`Charts - Dot: All or nothing scoring - ${view}`, { tags: 'smoke' }, () => {
48
48
  abortEarlySetup();
49
49
  before(() => {
50
50
  switch (view) {
@@ -116,7 +116,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
116
116
  };
117
117
 
118
118
  //Note: Remove comment after https://redmine.zeuslearning.com/issues/570904 is resolved
119
- it.skip('When the user selects \'Grading\' view without attempting the question, then by default correct dot column should have correct icons, incorrect dot column should have incorrect icons, the correct answer should be displayed in the correct answer section number line axis and correct/incorrect status message should not be displayed', () => {
119
+ it.skip(`${view} - Charts Dot - When the user selects \'Grading\' view without attempting the question, then by default correct dot column should have correct icons, incorrect dot column should have incorrect icons, the correct answer should be displayed in the correct answer section number line axis and correct/incorrect status message should not be displayed`, () => {
120
120
  if (view === 'Grading view') {
121
121
  studentViewPage.steps.submitResponse();
122
122
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -141,7 +141,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
141
141
  chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
142
142
  });
143
143
 
144
- it('When the user attempts the question incorrectly then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
144
+ it(`${view} - Charts Dot - When the user attempts the question incorrectly then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
145
145
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 4, min: 1, interval: 1 });
146
146
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 6, min: 1, interval: 1, defaultDots: 0 });
147
147
  if (view === 'Grading view') {
@@ -170,7 +170,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
170
170
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
171
171
  });
172
172
 
173
- it('When the user attempts the question by adding more dots than required in the dot columns having dots by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
173
+ it(`${view} - Charts Dot - When the user attempts the question by adding more dots than required in the dot columns having dots by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
174
174
  if (view === 'Grading view') {
175
175
  studentViewPage.steps.clearResponses();
176
176
  };
@@ -201,7 +201,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
201
201
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
202
202
  });
203
203
 
204
- it('When the user attempts the question by setting fewer dots than required in the dot columns having dots by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
204
+ it(`${view} - Charts Dot - When the user attempts the question by setting fewer dots than required in the dot columns having dots by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
205
205
  if (view === 'Grading view') {
206
206
  studentViewPage.steps.clearResponses();
207
207
  };
@@ -233,7 +233,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
233
233
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
234
234
  });
235
235
 
236
- it('When the user attempts the question by removing all the dots to dot column that is not supposed to be empty, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
236
+ it(`${view} - Charts Dot - When the user attempts the question by removing all the dots to dot column that is not supposed to be empty, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
237
237
  if (view === 'Grading view') {
238
238
  studentViewPage.steps.clearResponses();
239
239
  };
@@ -265,7 +265,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
265
265
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
266
266
  });
267
267
 
268
- it('When the user attempts the question by adding dots to the dot columns that is supposed to be empty, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
268
+ it(`${view} - Charts Dot - When the user attempts the question by adding dots to the dot columns that is supposed to be empty, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
269
269
  if (view === 'Grading view') {
270
270
  studentViewPage.steps.clearResponses();
271
271
  };
@@ -297,7 +297,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
297
297
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
298
298
  });
299
299
 
300
- it('When the user attempts the question by changing number of dots in the dot columns which have the correct number of dots by default and setting a dot column correctly, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the incorrectly attempted dot column should be displayed incorrect, correctly attempted dot column should be displayed correct, and the correct answer should be displayed in the correct answer section number line axis', () => {
300
+ it(`${view} - Charts Dot - When the user attempts the question by changing number of dots in the dot columns which have the correct number of dots by default and setting a dot column correctly, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the incorrectly attempted dot column should be displayed incorrect, correctly attempted dot column should be displayed correct, and the correct answer should be displayed in the correct answer section number line axis`, () => {
301
301
  if (view === 'Grading view') {
302
302
  studentViewPage.steps.clearResponses();
303
303
  };
@@ -330,7 +330,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
330
330
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
331
331
  });
332
332
 
333
- it('When the user attempts the question correctly, the user should be awarded with full points and on switching to grading view, \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
333
+ it(`${view} - Charts Dot - When the user attempts the question correctly, the user should be awarded with full points and on switching to grading view, \'Your answer is correct\' should be displayed and correct answer section should not be displayed`, () => {
334
334
  if (view === 'Grading view') {
335
335
  studentViewPage.steps.clearResponses();
336
336
  };
@@ -88,7 +88,7 @@ describe('Create item page - Dot plot charts : Grading view, Correct answer view
88
88
  chartsDotPlotPage.steps.verifyDotCountCorrectAnswerSection(2, { point: 1, min: 1, interval: 0.25 });
89
89
  });
90
90
 
91
- it('Correct answer section along with dot plot attempted by the user should be displayed', () => {
91
+ it('Charts Dot - Correct answer section along with dot plot attempted by the user should be displayed', () => {
92
92
  chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 0.25 });
93
93
  chartsDotPlotPage.steps.verifyCorrectDotPreviewTab({ point: 3, min: 1, interval: 0.25 });
94
94
  chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 0.25 });
@@ -181,7 +181,7 @@ describe('Create item page - Dot plot charts : Grading view, Correct answer view
181
181
  chartsDotPlotPage.steps.verifyCorrectDotPreviewTab({ point: 3, min: 1, interval: 0.25 });
182
182
  });
183
183
 
184
- it('The points alloted to the question should be displayed', () => {
184
+ it('Charts Dot - The points alloted to the question should be displayed', () => {
185
185
  correctAnswerViewPage.steps.verifyAvailablePoints(10);
186
186
  });
187
187
 
@@ -13,6 +13,14 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
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();
@@ -71,13 +79,13 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
71
79
  utilities.verifyElementVisibilityState(chartsDotPlotPage.previewTabXAxisLabelButton(), 'visible');
72
80
  });
73
81
 
74
- it('The number line axis should be displayed with labels from 1 to 6 with 20 divisions', () => {
82
+ it(`${view} - Charts Dot - The number line axis should be displayed with labels from 1 to 6 with 20 divisions`, () => {
75
83
  utilities.verifyElementVisibilityState(chartsDotPlotPage.numberLineAxisPreviewTab(), 'exist');
76
84
  chartsDotPlotPage.steps.verifyDivisionsOnNumberLineAxisPreviewTab({ min: 1, max: 6, interval: 0.25 });
77
85
  chartsDotPlotPage.steps.verifyLabelsOnNumberLineAxisPreviewTab(1, 6, 4);
78
86
  });
79
87
 
80
- it('User should be able to edit the X axis labels in preview tab', () => {
88
+ it(`${view} - Charts Dot - User should be able to edit the X axis labels in preview tab`, () => {
81
89
  chartsDotPlotPage.steps.editXAxisLabelInPreviewTab('Numbers of days');
82
90
  utilities.verifyInnerText(chartsDotPlotPage.previewTabXAxisLabelButton(), 'Numbers of days');
83
91
  });
@@ -164,7 +172,7 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
164
172
  chartsDotPlotPage.steps.unselectDotColumnInPreviewTab({ point: 4, min: 1, interval: 0.25 });
165
173
  });
166
174
 
167
- it('When user removes dots from dot column having 10 dots then \'Add dot\' button should be in enabled state', () => {
175
+ it(`${view} - Charts Dot - When user removes dots from dot column having 10 dots then \'Add dot\' button should be in enabled state`, () => {
168
176
  //using minus button
169
177
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(9, { point: 5, min: 1, interval: 0.25 });
170
178
  chartsDotPlotPage.steps.selectDotColumnInPreviewTab({ point: 5, min: 1, interval: 0.25 });
@@ -174,6 +182,7 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
174
182
  chartsDotPlotPage.steps.decreaseDotInDotColumnUsingKeyboardPreviewTab(1, { point: 4, min: 1, interval: 0.25 });
175
183
  utilities.verifyElementNotDisabled(chartsDotPlotPage.addButtonPreviewTab());
176
184
  chartsDotPlotPage.steps.unselectDotColumnInPreviewTab({ point: 4, min: 1, interval: 0.25 });
185
+ cy.eyesCheckWindow(`${view} - Charts Dot - Charts Dot: After Adding/Removing dots`);
177
186
  });
178
187
 
179
188
  it('CSS of preview tab contents', { tags: 'css' }, () => {
@@ -370,7 +379,7 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
370
379
  utilities.verifyElementNotDisabled(chartsDotPlotPage.controlOptionsPreviewTab(controlOptions[0]));
371
380
  });
372
381
 
373
- it('When the user clicks on Reset button and confirms reset, then all the chart actions should be reverted and chart should be reverted to default state and control options should be in disabled state', () => {
382
+ it(`${view} - Charts Dot - When the user clicks on Reset button and confirms reset, then all the chart actions should be reverted and chart should be reverted to default state and control options should be in disabled state`, () => {
374
383
  chartsDotPlotPage.steps.selectControlOptionPreviewTab(controlOptions[2]);
375
384
  chartsDotPlotPage.steps.confirmReset();
376
385
  chartsDotPlotPage.steps.verifyDotColumnIsLockedInPreviewTab({ point: 1, min: 1, interval: 0.25 });
@@ -0,0 +1,14 @@
1
+ module.exports = {
2
+ apiKey: 'iv996xa7KXMrp8xQ8JwZ9TybQwOUVjzBDzDzoEyyr8z4110',
3
+ serverUrl: 'https://eyes.applitools.com',
4
+ browser: [
5
+ { width: 1366, height: 609, name: 'chrome' },
6
+ { width: 1280, height: 832, name: 'edgechromium' },
7
+ { width: 1536, height: 960, name: 'safari' },
8
+ { width: 1024, height: 1366, name: 'safari' }
9
+ ],
10
+ //Configuration options: https://applitools.com/tutorials/sdks/cypress/configuration
11
+ ignoreDisplacements: true, // Set to false to detect mismatches in the displacements of the elements
12
+ failCypressOnDiff: false, // Set to true to fail the test when differences are detected
13
+ isDisabled: false // Set to true to disable Applitools
14
+ };
@@ -153,7 +153,6 @@ const steps = {
153
153
  }
154
154
 
155
155
  const tests = {
156
- //Note: need to fix this function once save as you go is available for all question types
157
156
  verifyPreviewModesAndScoreWhenPointsAndCorrectAnswersIsNotSet: () => {
158
157
  it('When the user has not set correct answer option(s) and alloted points, \'Student view\' radio button should be checked, \'Grading view\' button should not be checked, 0 points should be displayed and no correct or incorrect icons should be displayed in the preview tab', () => {
159
158
  utilities.verifyInnerText(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), 'Student view');
@@ -363,6 +363,7 @@ const tests = {
363
363
  equationEditorSectionCommonComponent.steps.focusInResponseAnswerInputFieldPreviewTab(0);
364
364
  }
365
365
  utilities.verifyElementVisibilityState(equationEditorFlyout.dialogBox(), 'visible');
366
+ cy.eyesCheckWindow('Equation Editor flyout in preview tab');
366
367
  });
367
368
 
368
369
  it('\'Done\'button should be displayed at the bottom of the flyout', () => {
@@ -430,11 +431,12 @@ const tests = {
430
431
  cy.checkAccessibility(equationEditorFlyout.dialogBox());
431
432
  });
432
433
 
433
- it('Cancel button should be displayed in the flyout and when user clicks the \'Cancel\' button then the flyout should close', () => {
434
+ it(`${questionType} Cancel button should be displayed in the flyout and when user clicks the 'Cancel' button then the flyout should close`, () => {
434
435
  utilities.verifyElementVisibilityState(equationEditorFlyout.buttonCancel(), 'visible');
435
436
  utilities.verifyInnerText(equationEditorFlyout.buttonCancel(), 'Cancel');
436
437
  equationEditorFlyout.steps.clickOnEquationEditorCancelButton();
437
438
  utilities.verifyElementVisibilityState(equationEditorFlyout.dialogBox(), 'notExist');
439
+ cy.eyesCheckWindow(`${questionType} Equation Editor flyout should not be displayed`);
438
440
  });
439
441
  },
440
442
 
@@ -211,7 +211,7 @@ const steps = {
211
211
  utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
212
212
  utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column).within(() => {
213
213
  gridQuestionCommonComponent.cellPropertyInputField()
214
- .click();
214
+ .focus();
215
215
  gridQuestionCommonComponent.cellPropertyInputField()
216
216
  .clear()
217
217
  .type(text)
@@ -2071,44 +2071,6 @@ const steps = {
2071
2071
  }
2072
2072
 
2073
2073
  const tests = {
2074
- //Note: need to remove this as change the global function once save as you go is available for all question types
2075
- verifyPreviewModesAndScoreWhenPointsAndCorrectAnswersIsNotSet: () => {
2076
- it('When the user has not set correct answer option(s) and alloted points, \'Student view\' radio button should be checked, \'Grading view\' button should not be checked, 0 points should be displayed and no correct or incorrect icons should be displayed in the preview tab', () => {
2077
- utilities.verifyInnerText(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), 'Student view');
2078
- utilities.verifyInnerText(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), 'Grading view');
2079
- autoScoredScoringPreviewTab.studentViewRadioButton()
2080
- .should('be.checked');
2081
- autoScoredScoringPreviewTab.gradingViewRadioButton()
2082
- .should('not.be.checked');
2083
- autoScoredScoringPreviewTab.steps.checkManuallyScoredScoringLabel();
2084
- autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
2085
- });
2086
-
2087
- it('CSS of Preview mode contents', { tags: 'css' }, () => {
2088
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), {
2089
- 'color': css.color.labelText,
2090
- 'font-size': css.fontSize.normal,
2091
- 'font-weight': css.fontWeight.regular
2092
- });
2093
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), {
2094
- 'color': css.color.labelText,
2095
- 'font-size': css.fontSize.normal,
2096
- 'font-weight': css.fontWeight.regular
2097
- });
2098
- utilities.verifyCSS(autoScoredScoringPreviewTab.scoreLabelPreviewTab(), {
2099
- 'color': css.color.codeBlockText,
2100
- 'font-size': css.fontSize.default,
2101
- 'font-weight': css.fontWeight.bold
2102
- });
2103
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButton().parent().find('svg'), {
2104
- 'fill': css.color.activeButtons
2105
- });
2106
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButton().parent().find('svg path'), {
2107
- 'fill': css.color.uncheckedCheckbox
2108
- });
2109
- });
2110
- },
2111
-
2112
2074
  verifyContentsOfSpecifyCorrectAnswerSection: () => {
2113
2075
  it(`When the user selects any scoring type except for manual scored, then the question grid should be displayed in the specify correct answer section`, () => {
2114
2076
  gridQuestionCommonComponent.steps.verifyTableCellPropertySpecifyCorrectAnswerSection({ row: 0, column: 0 }, 'None');
@@ -237,6 +237,9 @@ const steps = {
237
237
  enterTextInOptionInputField: (index, textContent) => {
238
238
  optionsWrapperComponent.optionsSectionWrapper()
239
239
  .within(() => {
240
+ optionsWrapperComponent.optionsInputField()
241
+ .eq(index)
242
+ .clear()
240
243
  optionsWrapperComponent.optionsInputField()
241
244
  .eq(index)
242
245
  .type(textContent)
@@ -31,7 +31,7 @@ const selectors = {
31
31
  sectionsNumber1Label: () => cy.get('.tablist-numbered-label').eq(0),
32
32
  sectionsNumber2Label: () => cy.get('.tablist-numbered-label').eq(1),
33
33
  noPreviewText: () => cy.get('[class*="__NoPreview"]'),
34
- editItemButton: () => cy.get('.column-component-column .icon-pencil'),
34
+ editItemButton: () => cy.get('.icon-pencil'),
35
35
  pointsValue: () => cy.get('[class*="PreviewTabstyles__PointsValue"]'),
36
36
  moreActionsButton: () => cy.get('[class*="MoreActionMenuButton"] [type="button"]'),
37
37
  deleteItemButton: () => cy.get('[aria-label="Delete Button"]')
@@ -587,7 +587,7 @@ const steps = {
587
587
  * @param {number} index of the question
588
588
  * @description this function is used to click on edit item button
589
589
  */
590
- editItem: (index = 0) => {
590
+ editItem: (index) => {
591
591
  createItemPage.editItemButton()
592
592
  .eq(index)
593
593
  .click();
@@ -8,7 +8,7 @@ import { ckEditorInsertImageComponent } from "./components/ckEditorInsertImageCo
8
8
  import { ckEditorLinkComponent } from "../pages/components/ckEditorLinkComponent"
9
9
  import { createItemPage } from "./createItemPage";
10
10
  import { selectQuestionResourceToolPage } from "./selectQuestionResourceToolPage";
11
- import { audioPlayerPage } from "./audioPlayerPage";
11
+ import {audioPlayerPage} from "./audioPlayerPage";
12
12
  const css = Cypress.env('css');
13
13
  const options = ['Pollution caused by treating chemical waste', 'Pollution caused by cement production', 'Pollution caused by methane production', 'Pollution caused by cement and methane production'];
14
14
 
@@ -914,44 +914,6 @@ const tests = {
914
914
  ...ckEditorInsertTableComponent.tests,
915
915
  ...ckEditorInsertImageComponent.tests,
916
916
  ...ckEditorLinkComponent.tests,
917
- //Note: need to remove this as change the global function once save as you go is available for all question types
918
- verifyPreviewModesAndScoreWhenPointsAndCorrectAnswersIsNotSet: () => {
919
- it('When the user has not set correct answer option(s) and alloted points, \'Student view\' radio button should be checked, \'Grading view\' button should not be checked, 0 points should be displayed and no correct or incorrect icons should be displayed in the preview tab', () => {
920
- utilities.verifyInnerText(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), 'Student view');
921
- utilities.verifyInnerText(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), 'Grading view');
922
- autoScoredScoringPreviewTab.studentViewRadioButton()
923
- .should('be.checked');
924
- autoScoredScoringPreviewTab.gradingViewRadioButton()
925
- .should('not.be.checked');
926
- autoScoredScoringPreviewTab.steps.checkManuallyScoredScoringLabel();
927
- autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
928
- });
929
-
930
- it('CSS of Preview mode contents', { tags: 'css' }, () => {
931
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), {
932
- 'color': css.color.labelText,
933
- 'font-size': css.fontSize.normal,
934
- 'font-weight': css.fontWeight.regular
935
- });
936
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), {
937
- 'color': css.color.labelText,
938
- 'font-size': css.fontSize.normal,
939
- 'font-weight': css.fontWeight.regular
940
- });
941
- utilities.verifyCSS(autoScoredScoringPreviewTab.scoreLabelPreviewTab(), {
942
- 'color': css.color.codeBlockText,
943
- 'font-size': css.fontSize.default,
944
- 'font-weight': css.fontWeight.bold
945
- });
946
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButton().parent().find('svg'), {
947
- 'fill': css.color.activeButtons
948
- });
949
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButton().parent().find('svg path'), {
950
- 'fill': css.color.uncheckedCheckbox
951
- });
952
- });
953
- },
954
-
955
917
  /**
956
918
  * Verifies the contents and functionality of the 'Specify correct answer' accordion for multiple selection questions.
957
919
  * @param {{'Correct' | 'Alternative'}} accordionName - The name of the accordion to be used in the validation.
@@ -248,7 +248,7 @@ const steps = {
248
248
  singleSelectionPage.correctAnswerSectionWrapper()
249
249
  .should('be.visible');
250
250
  },
251
-
251
+
252
252
  verifyAnswerBannerNotExist: () => {
253
253
  singleSelectionPage.answerStatusBanner()
254
254
  .should('not.exist');
@@ -719,44 +719,6 @@ const tests = {
719
719
  ...autoScoredStudentViewSettings.tests,
720
720
  ...additionalSettingsAccessibilitySectionComponent.tests,
721
721
  ...mcqAdditionalSettingsBase.tests,
722
- //Note: need to remove this as change the global function once save as you go is available for all question types
723
- verifyPreviewModesAndScoreWhenPointsAndCorrectAnswersIsNotSet: () => {
724
- it('When the user has not set correct answer option(s) and alloted points, \'Student view\' radio button should be checked, \'Grading view\' button should not be checked, 0 points should be displayed and no correct or incorrect icons should be displayed in the preview tab', () => {
725
- utilities.verifyInnerText(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), 'Student view');
726
- utilities.verifyInnerText(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), 'Grading view');
727
- autoScoredScoringPreviewTab.studentViewRadioButton()
728
- .should('be.checked');
729
- autoScoredScoringPreviewTab.gradingViewRadioButton()
730
- .should('not.be.checked');
731
- autoScoredScoringPreviewTab.steps.checkManuallyScoredScoringLabel();
732
- autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
733
- });
734
-
735
- it('CSS of Preview mode contents', { tags: 'css' }, () => {
736
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), {
737
- 'color': css.color.labelText,
738
- 'font-size': css.fontSize.normal,
739
- 'font-weight': css.fontWeight.regular
740
- });
741
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), {
742
- 'color': css.color.labelText,
743
- 'font-size': css.fontSize.normal,
744
- 'font-weight': css.fontWeight.regular
745
- });
746
- utilities.verifyCSS(autoScoredScoringPreviewTab.scoreLabelPreviewTab(), {
747
- 'color': css.color.codeBlockText,
748
- 'font-size': css.fontSize.default,
749
- 'font-weight': css.fontWeight.bold
750
- });
751
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButton().parent().find('svg'), {
752
- 'fill': css.color.activeButtons
753
- });
754
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButton().parent().find('svg path'), {
755
- 'fill': css.color.uncheckedCheckbox
756
- });
757
- });
758
- },
759
-
760
722
  verifyContentsOfSpecifyCorrectAnswerSection: () => {
761
723
  it('In the \'Correct\' accordion, all options with checkboxes should be displayed', () => {
762
724
  utilities.verifyElementCount(singleSelectionPage.optionWrapperSpecifyCorrectAnswerSection(), 4);
@@ -5,6 +5,7 @@ import 'cypress-file-upload';
5
5
  import { iePage } from './migrationHelpers/verifyIeQuestionData';
6
6
  import { lrnPage } from './migrationHelpers/extractLrnQuestionData';
7
7
  require('cy-verify-downloads').addCustomCommand();
8
+ import { apiKey, browser, serverUrl } from '../e2e/applitools.config';
8
9
  //import addContext from "mochawesome/addContext";
9
10
 
10
11
  const randomUser = (j, username, i) => ({
@@ -154,6 +155,16 @@ Cypress.Commands.add('learnosityLoaderWait', () => {
154
155
  .should('be.visible');
155
156
  });
156
157
 
158
+ Cypress.Commands.add('startApplitools', () => {
159
+ cy.eyesOpen({
160
+ apiKey,
161
+ serverUrl,
162
+ browser,
163
+ appName: 'Applitools Demo - ILC',
164
+ testName: Cypress.currentTest.title,
165
+ });
166
+ });
167
+
157
168
  Cypress.Commands.add('lazyLoadPreviewQuestions', (count, retries = 5) => {
158
169
  iePage.questionAndResourceWrapper()
159
170
  .then((elements) => {
@@ -4,6 +4,7 @@ import 'cypress-axe';
4
4
  import './helpers/cypressUtilities';
5
5
  import './helpers/accessibility';
6
6
  import './helpers/selectText';
7
+ import '@applitools/eyes-cypress/commands'
7
8
 
8
9
  let windowConsoleError;
9
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.294",
3
+ "version": "1.0.295-applitools-78e9d04.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -35,5 +35,8 @@
35
35
  "node-fetch": "^3.3.2",
36
36
  "react-uuid": "^2.0.0",
37
37
  "typescript": "^5.6.3"
38
+ },
39
+ "devDependencies": {
40
+ "@applitools/eyes-cypress": "^3.49.1"
38
41
  }
39
42
  }