Updated script to only take screenshots on failed steps

This commit is contained in:
2025-10-03 12:44:12 -07:00
parent 87e99cb78a
commit 32d4994eb0
14 changed files with 511 additions and 175 deletions

View File

@@ -3419,31 +3419,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'alignConceptsPage'); const screenshotDir = path.join('screenshots', 'alignConceptsPage');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('alignConceptsPageResults.xlsx')) { if (fs.existsSync('alignConceptsPageResults.xlsx')) {
fs.unlinkSync('alignConceptsPageResults.xlsx'); fs.unlinkSync('alignConceptsPageResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -3452,13 +3452,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -3476,11 +3500,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'alignConceptsPageResults.xlsx'); XLSX.writeFile(workbook, 'alignConceptsPageResults.xlsx');
} finally { } finally {

View File

@@ -2295,31 +2295,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'alignContentPage'); const screenshotDir = path.join('screenshots', 'alignContentPage');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('alignContentPageResults.xlsx')) { if (fs.existsSync('alignContentPageResults.xlsx')) {
fs.unlinkSync('alignContentPageResults.xlsx'); fs.unlinkSync('alignContentPageResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -2328,13 +2328,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -2352,11 +2376,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'alignContentPageResults.xlsx'); XLSX.writeFile(workbook, 'alignContentPageResults.xlsx');
} finally { } finally {

View File

@@ -5440,31 +5440,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'alignStandardsPage'); const screenshotDir = path.join('screenshots', 'alignStandardsPage');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('alignStandardsPageResults.xlsx')) { if (fs.existsSync('alignStandardsPageResults.xlsx')) {
fs.unlinkSync('alignStandardsPageResults.xlsx'); fs.unlinkSync('alignStandardsPageResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -5473,13 +5473,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -5497,11 +5521,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'alignStandardsPageResults.xlsx'); XLSX.writeFile(workbook, 'alignStandardsPageResults.xlsx');
} finally { } finally {

View File

@@ -2634,31 +2634,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'contentPage'); const screenshotDir = path.join('screenshots', 'contentPage');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('contentPageResults.xlsx')) { if (fs.existsSync('contentPageResults.xlsx')) {
fs.unlinkSync('contentPageResults.xlsx'); fs.unlinkSync('contentPageResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -2667,13 +2667,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -2691,11 +2715,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'contentPageResults.xlsx'); XLSX.writeFile(workbook, 'contentPageResults.xlsx');
} finally { } finally {

View File

@@ -2971,31 +2971,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'dashboardMyContent'); const screenshotDir = path.join('screenshots', 'dashboardMyContent');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('dashboardMyContentResults.xlsx')) { if (fs.existsSync('dashboardMyContentResults.xlsx')) {
fs.unlinkSync('dashboardMyContentResults.xlsx'); fs.unlinkSync('dashboardMyContentResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -3004,13 +3004,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -3028,11 +3052,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'dashboardMyContentResults.xlsx'); XLSX.writeFile(workbook, 'dashboardMyContentResults.xlsx');
} finally { } finally {

View File

@@ -2669,31 +2669,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'editItem'); const screenshotDir = path.join('screenshots', 'editItem');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('editItemResults.xlsx')) { if (fs.existsSync('editItemResults.xlsx')) {
fs.unlinkSync('editItemResults.xlsx'); fs.unlinkSync('editItemResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -2702,13 +2702,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -2726,11 +2750,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'editItemResults.xlsx'); XLSX.writeFile(workbook, 'editItemResults.xlsx');
} finally { } finally {

View File

@@ -9694,31 +9694,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'editItemAddConcept'); const screenshotDir = path.join('screenshots', 'editItemAddConcept');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('editItemAddConceptResults.xlsx')) { if (fs.existsSync('editItemAddConceptResults.xlsx')) {
fs.unlinkSync('editItemAddConceptResults.xlsx'); fs.unlinkSync('editItemAddConceptResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -9727,13 +9727,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -9751,11 +9775,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'editItemAddConceptResults.xlsx'); XLSX.writeFile(workbook, 'editItemAddConceptResults.xlsx');
} finally { } finally {

View File

@@ -2791,31 +2791,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'frameworkFrameworkGroupsDIV'); const screenshotDir = path.join('screenshots', 'frameworkFrameworkGroupsDIV');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('frameworkFrameworkGroupsDIVResults.xlsx')) { if (fs.existsSync('frameworkFrameworkGroupsDIVResults.xlsx')) {
fs.unlinkSync('frameworkFrameworkGroupsDIVResults.xlsx'); fs.unlinkSync('frameworkFrameworkGroupsDIVResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -2824,13 +2824,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
await step.action(); //Screenshot of failed step
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description); await step.action();
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath);
//Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -2848,11 +2872,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'frameworkFrameworkGroupsDIVResults.xlsx'); XLSX.writeFile(workbook, 'frameworkFrameworkGroupsDIVResults.xlsx');
} finally { } finally {

View File

@@ -31,17 +31,17 @@ const steps = [
}, },
//Dashboard title //Dashboard title
{ {
description: 'Validate dashboard title', description: 'Validate dashboard title',
action: async () => { action: async () => {
const elementText = await driver.findElement(By.css('.e-heading')).getText(); const elementText = await driver.findElement(By.css('.e-heading')).getText();
if (elementText === 'Correlation Dashboard') { if (elementText === 'Correlation Dashboard') {
console.log(`Passed: "${elementText}" title matched as expected`); console.log(`Passed: "${elementText}" title matched as expected`);
} else { } else {
throw new Error(`Expected: "Correlation Dashboard"; Actual: "${elementText}"`); throw new Error(`Expected: "Correlation Dashboard"; Actual: "${elementText}"`);
}
} }
}, }
},
//Align icon color -gray //Align icon color -gray
{ {
@@ -1753,31 +1753,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'frameworkFrameworkSettingsDIV'); const screenshotDir = path.join('screenshots', 'frameworkFrameworkSettingsDIV');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('frameworkFrameworkSettingsDIVResults.xlsx')) { if (fs.existsSync('frameworkFrameworkSettingsDIVResults.xlsx')) {
fs.unlinkSync('frameworkFrameworkSettingsDIVResults.xlsx'); fs.unlinkSync('frameworkFrameworkSettingsDIVResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -1786,13 +1786,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
await step.action(); //Screenshot of failed step
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description); await step.action();
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath);
//Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -1810,11 +1834,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'frameworkFrameworkSettingsDIVResults.xlsx'); XLSX.writeFile(workbook, 'frameworkFrameworkSettingsDIVResults.xlsx');
} finally { } finally {

View File

@@ -4157,31 +4157,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'frameworkManagementPage'); const screenshotDir = path.join('screenshots', 'frameworkManagementPage');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('frameworkManagementPageResults.xlsx')) { if (fs.existsSync('frameworkManagementPageResults.xlsx')) {
fs.unlinkSync('frameworkManagementPageResults.xlsx'); fs.unlinkSync('frameworkManagementPageResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -4190,13 +4190,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -4214,11 +4238,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'frameworkManagementPageResults.xlsx'); XLSX.writeFile(workbook, 'frameworkManagementPageResults.xlsx');
} finally { } finally {

View File

@@ -3044,13 +3044,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -3068,11 +3092,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'frameworkPublishFrameworkDIVResults.xlsx'); XLSX.writeFile(workbook, 'frameworkPublishFrameworkDIVResults.xlsx');
} finally { } finally {

View File

@@ -3175,31 +3175,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'frameworkPublishingPage'); const screenshotDir = path.join('screenshots', 'frameworkPublishingPage');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('frameworkPublishingPageResults.xlsx')) { if (fs.existsSync('frameworkPublishingPageResults.xlsx')) {
fs.unlinkSync('frameworkPublishingPageResults.xlsx'); fs.unlinkSync('frameworkPublishingPageResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -3208,13 +3208,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -3232,11 +3256,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'frameworkPublishingPageResults.xlsx'); XLSX.writeFile(workbook, 'frameworkPublishingPageResults.xlsx');
} finally { } finally {

View File

@@ -490,31 +490,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'landingPage'); const screenshotDir = path.join('screenshots', 'landingPage');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('landingPageResults.xlsx')) { if (fs.existsSync('landingPageResults.xlsx')) {
fs.unlinkSync('landingPageResults.xlsx'); fs.unlinkSync('landingPageResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -523,13 +523,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -547,11 +571,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'landingPageResults.xlsx'); XLSX.writeFile(workbook, 'landingPageResults.xlsx');
} finally { } finally {

View File

@@ -383,31 +383,31 @@ const takeScreenshot = async (driver, stepIndex, stepDescription) => {
}; };
const clearOldResults = () => { const clearOldResults = () => {
// Remove old screenshots //Remove old screenshots
const screenshotDir = path.join('screenshots', 'login'); const screenshotDir = path.join('screenshots', 'login');
if (fs.existsSync(screenshotDir)) { if (fs.existsSync(screenshotDir)) {
fs.rmSync(screenshotDir, { recursive: true, force: true }); fs.rmSync(screenshotDir, { recursive: true, force: true });
} }
fs.mkdirSync(screenshotDir, { recursive: true }); fs.mkdirSync(screenshotDir, { recursive: true });
// Remove old Excel file //Remove old Excel file
if (fs.existsSync('loginResults.xlsx')) { if (fs.existsSync('loginResults.xlsx')) {
fs.unlinkSync('loginResults.xlsx'); fs.unlinkSync('loginResults.xlsx');
} }
}; };
try { try {
// Initialize workbook and worksheet //Initialize workbook and worksheet
clearOldResults(); clearOldResults();
// Initialize workbook and worksheet //Initialize workbook and worksheet
workbook = XLSX.utils.book_new(); workbook = XLSX.utils.book_new();
worksheet = XLSX.utils.aoa_to_sheet([ worksheet = XLSX.utils.aoa_to_sheet([
['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot'] ['Step Number', 'Step Description', 'Status', 'Timestamp', 'Screenshot']
]); ]);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Log test start time //Log test start time
worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, ''); worksheet = logStep(worksheet, 'Test Start', 'Started', '', startTime, '');
let allStepsPassed = true; let allStepsPassed = true;
@@ -416,13 +416,37 @@ try {
const stepIndex = steps.indexOf(step) + 1; const stepIndex = steps.indexOf(step) + 1;
const timestamp = new Date().toISOString(); const timestamp = new Date().toISOString();
try { try {
//Screenshot of failed step
await step.action(); await step.action();
const screenshotPath = await takeScreenshot(driver, stepIndex, step.description);
worksheet = logStep(worksheet, step.description, 'Passed', stepIndex, timestamp, screenshotPath); //Log a successful step with no screenshot
worksheet = logStep(
worksheet,
step.description,
'Passed',
stepIndex,
timestamp,
null //No screenshot for passed steps
);
} catch (error) { } catch (error) {
const screenshotPath = await takeScreenshot(driver, stepIndex, `${step.description}_Failed`); //Only take screenshot if the step fails
worksheet = logStep(worksheet, step.description, 'Failed', stepIndex, timestamp, screenshotPath); const screenshotPath = await takeScreenshot(
driver,
stepIndex,
`${step.description}_Failed`
);
worksheet = logStep(
worksheet,
step.description,
'Failed',
stepIndex,
timestamp,
screenshotPath
);
console.error(`Step ${stepIndex} FAILED: ${error.message}`); console.error(`Step ${stepIndex} FAILED: ${error.message}`);
testStatus = 'Failed'; testStatus = 'Failed';
allStepsPassed = false; allStepsPassed = false;
@@ -440,11 +464,11 @@ try {
testStatus = 'Failed'; testStatus = 'Failed';
} }
// Log test end time //Log test end time
const endTime = new Date().toISOString(); const endTime = new Date().toISOString();
worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, ''); worksheet = logStep(worksheet, 'Test End', testStatus, '', endTime, '');
// Write the updated worksheet back to the workbook and save it //Write the updated worksheet back to the workbook and save it
workbook.Sheets['Sheet1'] = worksheet; workbook.Sheets['Sheet1'] = worksheet;
XLSX.writeFile(workbook, 'loginResults.xlsx'); XLSX.writeFile(workbook, 'loginResults.xlsx');
} finally { } finally {