itemengine-cypress-automation 1.0.306 → 1.0.308

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 (59) 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/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  5. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/previewContentsForAllViews.smoke.js +1 -1
  6. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +10 -1
  7. package/cypress/e2e/ILC/ChartsBar/gradingViewAndCorrectAnswerView.smoke.js +2 -2
  8. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +10 -1
  9. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +12 -1
  10. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/previewContentsForAllViews.smoke.js +79 -2
  11. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +12 -2
  12. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +19 -21
  13. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +8 -0
  14. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +11 -1
  15. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/previewContentsForAllViews.smoke.js +10 -1
  16. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +10 -1
  17. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +12 -3
  18. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +13 -4
  19. package/cypress/e2e/ILC/FillInTheGapsTextNew/previewContentsForAllViews.smoke.js +12 -3
  20. package/cypress/e2e/ILC/Graphing/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  21. package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +13 -4
  22. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +11 -1
  23. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +10 -2
  24. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +11 -1
  25. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +13 -4
  26. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +12 -3
  27. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +10 -1
  28. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +12 -3
  29. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +13 -4
  30. package/cypress/e2e/ILC/Matching/previewTabContentsForAllViews.smoke.js +12 -3
  31. package/cypress/e2e/ILC/MatchingDropdown/previewContentsForAllViews.smoke.js +13 -4
  32. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +18 -9
  33. package/cypress/e2e/ILC/MultipleSelection/previewContentsForAllViews.smoke.js +12 -3
  34. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +14 -5
  35. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +11 -1
  36. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  37. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +10 -1
  38. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +10 -0
  39. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +10 -1
  40. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +10 -1
  41. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +10 -1
  42. package/cypress/e2e/ILC/SingleSelection/previewContents.smoke.js +10 -1
  43. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +10 -1
  44. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +10 -1
  45. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +23 -14
  46. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +11 -2
  47. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +13 -13
  48. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +13 -5
  49. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +12 -2
  50. package/cypress/e2e/ILC/UploadResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +11 -1
  51. package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +13 -4
  52. package/cypress/e2e/ILC/UploadResponse/thumbNail.smoke.js +16 -6
  53. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +14 -4
  54. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +12 -3
  55. package/cypress/e2e/applitools.config.js +12 -0
  56. package/cypress/pages/components/equationEditorSectionCommonComponent.js +1 -0
  57. package/cypress/support/commands.js +14 -1
  58. package/cypress.config.js +2 -0
  59. package/package.json +4 -1
@@ -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,7 +62,7 @@ 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');
@@ -82,7 +90,7 @@ describe('Create item page - Upload response : Preview contents', () => {
82
90
  uploadResponsePage.steps.verifyUploadedFileLimitCount(0, 3);
83
91
  });
84
92
 
85
- it('When user uploads file, then uploaded file name should be displayed and file count should get updated', () => {
93
+ it(`${view} - When user uploads file, then uploaded file name should be displayed and file count should get updated`, () => {
86
94
  uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
87
95
  uploadResponsePage.steps.uploadedFileContentsPreviewTab(0, 'highlightImage.jpg');
88
96
  uploadResponsePage.steps.verifyUploadedFileLimitCount(1, 3);
@@ -103,13 +111,14 @@ describe('Create item page - Upload response : Preview contents', () => {
103
111
  utilities.verifyElementCount(uploadResponsePage.fileName(), 2);
104
112
  });
105
113
 
106
- it('When user edits the name of uploaded file, then edited name should be visible', () => {
114
+ it(`${view} - When user edits the name of uploaded file, then edited name should be visible`, () => {
107
115
  uploadResponsePage.steps.clickOnEditDisplayTextIcon(0);
108
116
  utilities.verifyElementVisibilityState(uploadResponsePage.dialogBox(), 'exist');
109
117
  uploadResponsePage.steps.enterTextInEditDisplayTextPopupInputField('image.csv');
110
118
  uploadResponsePage.steps.verifyTextInEditDisplayTextPopupInputField('image.csv');
111
119
  uploadResponsePage.steps.clickAcceptButtonInPopup();
112
120
  uploadResponsePage.steps.verifyUploadedFileName(0, 'image.csv');
121
+ cy.eyesCheckWindow(`${view} - Uploaded file name edited`);
113
122
  });
114
123
 
115
124
  it('CSS of Preview tab', { tags: 'css' }, () => {
@@ -162,7 +171,7 @@ describe('Create item page - Upload response : Preview contents', () => {
162
171
  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.');
163
172
  });
164
173
 
165
- 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', () => {
174
+ 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`, () => {
166
175
  uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
167
176
  uploadResponsePage.steps.uploadFile('uploads/image.png');
168
177
  uploadResponsePage.steps.verifyWarningMessage('You have reached the maximum number of files that can be uploaded.');
@@ -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,12 @@ 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');
62
70
  });
63
71
 
64
- it('CSS of Thumb nail and File name in preview tab', { tags: 'css' }, () => {
72
+ it(`${view} - CSS of Thumb nail and File name in preview tab`, { tags: 'css' }, () => {
65
73
  utilities.verifyCSS(uploadResponsePage.imageThumbNail(), {
66
74
  'box-sizing': 'border-box',
67
75
  'min-height': 'auto',
@@ -79,9 +87,11 @@ describe('Create item page - Upload response : Preview contents', () => {
79
87
  cy.checkAccessibility(uploadResponsePage.questionWrapperPreviewTab());
80
88
  });
81
89
 
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', () => {
90
+ 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`, () => {
91
+ utilities.verifyElementCount(uploadResponsePage.imageThumbNail(), 2);
83
92
  uploadResponsePage.steps.clickOnImageThumbNail();
84
93
  uploadResponsePage.steps.verifyImagePopUpDetail();
94
+ cy.eyesCheckWindow(`${view} - Thumbnail popup`);
85
95
  uploadResponsePage.steps.closeImagePopup();
86
96
  uploadResponsePage.steps.verifyThumbNailExistOrNotExist('highlightImage.jpg', 'visible');
87
97
  utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
@@ -95,7 +105,7 @@ describe('Create item page - Upload response : Preview contents', () => {
95
105
  utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
96
106
  });
97
107
 
98
- it('When user uploads different file types then only image files should be displayed with thumbnail', () => {
108
+ it(`${view} - When user uploads different file types then only image files should be displayed with thumbnail`, () => {
99
109
  for (let number = 0; number < 13; number++) {
100
110
  uploadResponsePage.steps.deleteFile();
101
111
  uploadResponsePage.steps.clickAcceptButtonInPopup();
@@ -104,7 +114,7 @@ describe('Create item page - Upload response : Preview contents', () => {
104
114
  }
105
115
  });
106
116
 
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', () => {
117
+ 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
118
  for (let number = 13; number < 15; number++) {
109
119
  uploadResponsePage.steps.deleteFile();
110
120
  uploadResponsePage.steps.clickAcceptButtonInPopup();
@@ -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');
@@ -0,0 +1,12 @@
1
+ module.exports = {
2
+ apiKey: 'XkObRjxHCyNlYPTHm1VLxIKoCXxY1111nW2RQr5IaUHHk110',
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
+ APPLITOOLS_IS_DISABLED: true
12
+ };
@@ -312,6 +312,7 @@ const tests = {
312
312
  equationEditorSectionCommonComponent.steps.focusInResponseAnswerInputFieldPreviewTab(0);
313
313
  }
314
314
  utilities.verifyElementVisibilityState(equationEditorFlyout.dialogBox(), 'visible');
315
+ cy.eyesCheckWindow('Equation Editor flyout in preview tab');
315
316
  });
316
317
 
317
318
  it(`In the equation editor flyout the ${allCategories[0].displayName} should be selected by default and the Equation editor input field should be prefilled with the added equation`, () => {
@@ -5,7 +5,9 @@ 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 addContext from "mochawesome/addContext";
8
+ import { apiKey, browser, serverUrl } from '../e2e/applitools.config';
9
+ import * as applitoolsConfig from '../e2e/applitools.config';
10
+ import '@applitools/eyes-cypress/commands';
9
11
 
10
12
  const randomUser = (j, username, i) => ({
11
13
  id: uuidv4(),
@@ -173,4 +175,15 @@ Cypress.Commands.add('lazyLoadPreviewQuestions', (count, retries = 5) => {
173
175
  iePage.barsPreloader()
174
176
  .should('not.exist');
175
177
  cy.learnosityLoaderWait();
178
+ });
179
+
180
+ Cypress.Commands.add('startApplitools', () => {
181
+ cy.eyesOpen({
182
+ apiKey,
183
+ serverUrl,
184
+ browser,
185
+ appName: 'Applitools Demo - ILC',
186
+ testName: Cypress.currentTest.title,
187
+ isDisabled: applitoolsConfig.APPLITOOLS_IS_DISABLED
188
+ });
176
189
  });
package/cypress.config.js CHANGED
@@ -62,3 +62,5 @@ module.exports = defineConfig({
62
62
  testIsolation: false,
63
63
  },
64
64
  });
65
+
66
+ require('@applitools/eyes-cypress')(module);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.306",
3
+ "version": "1.0.308",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -45,5 +45,8 @@
45
45
  "node-fetch": "^3.3.2",
46
46
  "react-uuid": "^2.0.0",
47
47
  "typescript": "^5.6.3"
48
+ },
49
+ "devDependencies": {
50
+ "@applitools/eyes-cypress": "^3.47.0"
48
51
  }
49
52
  }