Add dashboard and My Standards search tests; update existing tests and results
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
import { Builder, By, Key, until } from 'selenium-webdriver';
|
||||
import { Builder, By, Key, until, Select } from 'selenium-webdriver';
|
||||
import { Options as ChromeOptions } from 'selenium-webdriver/chrome.js';
|
||||
import fs from 'fs';
|
||||
import XLSX from 'xlsx';
|
||||
import path from 'path';
|
||||
import { error } from 'console';
|
||||
|
||||
const ExACT_landingPage = (req, res) => {
|
||||
res.send('<h2>ExACT Automated Test Script: ExACT Login Page(ExACT_landingPage); Initiated</h2>');
|
||||
res.send('<h2>ExACT Automated Test Script: EGATE LANDING PAGE: ExACT Login Page (ExACT_landingPage) | Initiated</h2>');
|
||||
(async function example() {
|
||||
let driver = await new Builder()
|
||||
.forBrowser('chrome')
|
||||
@@ -30,13 +31,7 @@ const steps = [
|
||||
{
|
||||
description: 'Loading Page',
|
||||
action: async () => {
|
||||
//Wait for page to load completely
|
||||
await driver.wait(async () => {
|
||||
const readyState = await driver.executeScript('return document.readyState');
|
||||
return readyState === 'complete';
|
||||
}, 30000, 'ExACT Landing Page did not fully load within 30 seconds');
|
||||
console.log('------------->| BEGIN SCRIPT |<-------------');
|
||||
console.log('---------->| ExACT Landing Page |<----------');
|
||||
console.log('------------->| ExACT LANDING PAGE |<-------------');
|
||||
|
||||
//Wait until the element exists in the DOM
|
||||
const exactLogo = await driver.wait(
|
||||
@@ -55,7 +50,7 @@ const steps = [
|
||||
const readyState = await driver.executeScript('return document.readyState');
|
||||
return readyState === 'complete';
|
||||
}, 30000, 'ExACT Langing page did not fully load within 30 seconds');
|
||||
console.log('Passed: ExACT Landing Page loaded successfully');
|
||||
console.log('Passed: ExACT Landing Page loaded successfully');
|
||||
}
|
||||
},
|
||||
|
||||
@@ -90,7 +85,7 @@ const steps = [
|
||||
errors.push(`Expected: Title font "DM Serif Display", serif; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Title text color matched as expected');
|
||||
} else {
|
||||
@@ -147,7 +142,7 @@ const steps = [
|
||||
errors.push(`Expected: Descriptive text 1 text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Descriptive text 1 text color matched as expected');
|
||||
} else {
|
||||
@@ -204,7 +199,7 @@ const steps = [
|
||||
errors.push(`Expected: Descriptive text 2 text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Descriptive text 2 text color matched as expected');
|
||||
} else {
|
||||
@@ -261,7 +256,7 @@ const steps = [
|
||||
errors.push(`Expected: Sign up text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Sign up text color matched as expected');
|
||||
} else {
|
||||
@@ -326,7 +321,7 @@ const steps = [
|
||||
errors.push(`Expected: Free trial link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -red/orange
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 111, 97, 1)') {
|
||||
console.log('Passed: Free trial link text color matched as expected');
|
||||
} else {
|
||||
@@ -353,7 +348,7 @@ const steps = [
|
||||
}
|
||||
},
|
||||
|
||||
//NEXT ACTION - Click Free Trial link
|
||||
//NEXT ACTION
|
||||
{
|
||||
description: 'Click Free Trial link',
|
||||
action: async () => {
|
||||
@@ -383,11 +378,16 @@ const steps = [
|
||||
},
|
||||
|
||||
//Left Panel
|
||||
|
||||
//ExACT logo
|
||||
{
|
||||
description: 'Verify ExACT logo is present',
|
||||
action: async () => {
|
||||
const expectedExactLogo = await driver.wait(until.elementLocated(By.css('.logo')), 5000).catch(() => false);
|
||||
|
||||
//Track all errors
|
||||
const errors = [];
|
||||
|
||||
if (expectedExactLogo) {
|
||||
console.log('Passed: ExACT logo present');
|
||||
} else {
|
||||
@@ -426,7 +426,7 @@ const steps = [
|
||||
errors.push(`Expected: ExACT Free trial text font "DM Serif Display", serif; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: ExACT Free trial color matched as expected');
|
||||
} else {
|
||||
@@ -483,7 +483,7 @@ const steps = [
|
||||
errors.push(`Expected: ExACT Free trial text font "DM Serif Display", serif; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -red/orange
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 111, 97, 1)') {
|
||||
console.log('Passed: ExACT Free trial color matched as expected');
|
||||
} else {
|
||||
@@ -540,7 +540,7 @@ const steps = [
|
||||
errors.push(`Expected: 30 Day Free trial,...text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: 30 Day Free trial,...text color matched as expected');
|
||||
} else {
|
||||
@@ -597,7 +597,7 @@ const steps = [
|
||||
errors.push(`Expected: See for yourself why ExACT...text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: See for yourself why ExACT...text color matched as expected');
|
||||
} else {
|
||||
@@ -696,7 +696,7 @@ const steps = [
|
||||
} else {
|
||||
errors.push(`Expected: Absolutely Free text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
//color - white
|
||||
//color
|
||||
if (elementColor === 'rgb(255, 255, 255)') {
|
||||
console.log('Passed: Absolutely Free text color matched as expected');
|
||||
} else {
|
||||
@@ -723,7 +723,7 @@ const steps = [
|
||||
errors.push(`Expected: "- no credit card required or hidden fees" text font "Poppins, sans-serif"; Actual: ${spanFont?.fontFamily}`);
|
||||
}
|
||||
|
||||
//color - span
|
||||
//color
|
||||
if (spanFont?.color === 'rgb(255, 255, 255)') {
|
||||
console.log('Passed: "- no credit card required or hidden fees" text color matched as expected');
|
||||
} else {
|
||||
@@ -819,7 +819,7 @@ const steps = [
|
||||
} else {
|
||||
errors.push(`Expected: Instant Access text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
//color - white
|
||||
//color
|
||||
if (elementColor === 'rgb(255, 255, 255)') {
|
||||
console.log('Passed: Instant Access text color matched as expected');
|
||||
} else {
|
||||
@@ -846,7 +846,7 @@ const steps = [
|
||||
errors.push(`Expected: "- Sign up and log-in, it’s that easy" text font "Poppins, sans-serif"; Actual: ${spanFont?.fontFamily}`);
|
||||
}
|
||||
|
||||
//color - span
|
||||
//color
|
||||
if (spanFont?.color === 'rgb(255, 255, 255)') {
|
||||
console.log(`Passed: "- Sign up and log-in, it’s that easy" text color matched as expected`);
|
||||
} else {
|
||||
@@ -942,7 +942,7 @@ const steps = [
|
||||
} else {
|
||||
errors.push(`Expected: Access Standards text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
//color - white
|
||||
//color
|
||||
if (elementColor === 'rgb(255, 255, 255)') {
|
||||
console.log('Passed: Access Standards text color matched as expected');
|
||||
} else {
|
||||
@@ -969,7 +969,7 @@ const steps = [
|
||||
errors.push(`Expected: "- Access all Common Core, NGSS, and NCSS Standards free" text font "Poppins, sans-serif"; Actual: ${spanFont?.fontFamily}`);
|
||||
}
|
||||
|
||||
//color - span
|
||||
//color
|
||||
if (spanFont?.color === 'rgb(255, 255, 255)') {
|
||||
console.log(`Passed: "- Access all Common Core, NGSS, and NCSS Standards free" text color matched as expected`);
|
||||
} else {
|
||||
@@ -1023,7 +1023,7 @@ const steps = [
|
||||
errors.push(`Expected: Want to talk to a representative...text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Want to talk to a representative...text color matched as expected');
|
||||
} else {
|
||||
@@ -1088,7 +1088,7 @@ const steps = [
|
||||
errors.push(`Expected: Contact Us link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -teal
|
||||
//color
|
||||
if (elementColor === 'rgba(48, 200, 172, 1)') {
|
||||
console.log('Passed: Contact Us link text color matched as expected');
|
||||
} else {
|
||||
@@ -1135,32 +1135,28 @@ const steps = [
|
||||
if (elementText === 'Sign Up') {
|
||||
console.log('Passed: Sign Up title text matched as expected');
|
||||
} else {
|
||||
const message = `Expected: "Sign Up"; Actual: "${elementText}"`;
|
||||
errors.push(message);
|
||||
errors.push(`Expected: "Sign Up"; Actual: "${elementText}"`);
|
||||
}
|
||||
|
||||
//font-family
|
||||
if (elementFont === "Poppins, sans-serif") {
|
||||
console.log('Passed: Sign Up title text font matched as expected');
|
||||
} else {
|
||||
const message = `Expected: Sign Up title text font "Poppins, sans-serif"; Actual: ${elementFont}`;
|
||||
errors.push(message);
|
||||
errors.push(`Expected: Sign Up title text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Sign Up title color matched as expected');
|
||||
} else {
|
||||
const message = `Expected: Sign Up title color "rgba(40, 39, 90, 1)"; Actual: "${elementColor}"`;
|
||||
errors.push(message);
|
||||
errors.push(`Expected: Sign Up title color "rgba(40, 39, 90, 1)"; Actual: "${elementColor}"`);
|
||||
}
|
||||
|
||||
//font size
|
||||
if (elementSize === '24px') {
|
||||
console.log('Passed: Sign Up title text font-size matched as expected');
|
||||
} else {
|
||||
const message = `Expected: Sign Up title text font-size "24px"; Actual: "${elementSize}"`;
|
||||
errors.push(message);
|
||||
errors.push(`Expected: Sign Up title text font-size "24px"; Actual: "${elementSize}"`);
|
||||
}
|
||||
|
||||
//Throw summary if any validation failed
|
||||
@@ -1196,32 +1192,28 @@ const steps = [
|
||||
if (elementText === 'Already Have an account? Sign In') {
|
||||
console.log('Passed: Already Have an account? Sign In text matched as expected');
|
||||
} else {
|
||||
const message = `Expected: "Already Have an account? Sign In"; Actual: "${elementText}"`;
|
||||
errors.push(message);
|
||||
errors.push(`Expected: "Already Have an account? Sign In"; Actual: "${elementText}"`);
|
||||
}
|
||||
|
||||
//font-family
|
||||
if (elementFont === "Poppins, sans-serif") {
|
||||
console.log('Passed: Already Have an account? Sign In text font matched as expected');
|
||||
} else {
|
||||
const message = `Expected: Already Have an account? Sign In text font "Poppins, sans-serif"; Actual: ${elementFont}`;
|
||||
errors.push(message);
|
||||
errors.push(`Expected: Already Have an account? Sign In text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -black
|
||||
//color
|
||||
if (elementColor === 'rgba(32, 32, 32, 1)') {
|
||||
console.log('Passed: Already Have an account? Sign In color matched as expected');
|
||||
} else {
|
||||
const message = `Expected: Already Have an account? Sign In color "rgba(32, 32, 32, 1)"; Actual: "${elementColor}"`;
|
||||
errors.push(message);
|
||||
errors.push(`Expected: Already Have an account? Sign In color "rgba(32, 32, 32, 1)"; Actual: "${elementColor}"`);
|
||||
}
|
||||
|
||||
//font size
|
||||
if (elementSize === '12px') {
|
||||
console.log('Passed: Already Have an account? Sign In text font-size matched as expected');
|
||||
} else {
|
||||
const message = `Expected: Already Have an account? Sign In text font-size "12px"; Actual: "${elementSize}"`;
|
||||
errors.push(message);
|
||||
errors.push(`Expected: Already Have an account? Sign In text font-size "12px"; Actual: "${elementSize}"`);
|
||||
}
|
||||
|
||||
//Throw summary if any validation failed
|
||||
@@ -1275,7 +1267,7 @@ const steps = [
|
||||
errors.push(`Expected: Sign In link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color - teal
|
||||
//color
|
||||
if (elementColor === 'rgba(48, 200, 172, 1)') {
|
||||
console.log('Passed: Sign In link text color matched as expected');
|
||||
} else {
|
||||
@@ -1340,7 +1332,7 @@ const steps = [
|
||||
errors.push(`Expected: First name label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: First name label text color matched as expected');
|
||||
} else {
|
||||
@@ -1420,7 +1412,7 @@ const steps = [
|
||||
errors.push(`Expected: Last name label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Last name label text color matched as expected');
|
||||
} else {
|
||||
@@ -1500,7 +1492,7 @@ const steps = [
|
||||
errors.push(`Expected: Username label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Username label text color matched as expected');
|
||||
} else {
|
||||
@@ -1591,7 +1583,7 @@ const steps = [
|
||||
errors.push(`Expected: Password label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Password label text color matched as expected');
|
||||
} else {
|
||||
@@ -1671,7 +1663,7 @@ const steps = [
|
||||
errors.push(`Expected: Password Requirements: text font "DM Serif Display", serif; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Password Requirements: text color matched as expected');
|
||||
} else {
|
||||
@@ -1728,7 +1720,7 @@ const steps = [
|
||||
errors.push(`Expected: Must be at least 8 characters. text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Must be at least 8 characters. text color matched as expected');
|
||||
} else {
|
||||
@@ -1794,7 +1786,7 @@ const steps = [
|
||||
errors.push(`Expected: Contain at least one of each: text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Contain at least one of each: text color matched as expected');
|
||||
} else {
|
||||
@@ -1851,7 +1843,7 @@ const steps = [
|
||||
errors.push(`Expected: Uppercase letter text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Uppercase letter text color matched as expected');
|
||||
} else {
|
||||
@@ -1908,7 +1900,7 @@ const steps = [
|
||||
errors.push(`Expected: Lowercase letter text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Lowercase letter text color matched as expected');
|
||||
} else {
|
||||
@@ -1965,7 +1957,7 @@ const steps = [
|
||||
errors.push(`Expected: Number text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Number text color matched as expected');
|
||||
} else {
|
||||
@@ -2022,7 +2014,7 @@ const steps = [
|
||||
errors.push(`Expected: Special character (e.g. - ! @ # $ etc.) text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Special character (e.g. - ! @ # $ etc.) text color matched as expected');
|
||||
} else {
|
||||
@@ -2090,7 +2082,7 @@ const steps = [
|
||||
errors.push(`Expected: Email address label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Email address label text color matched as expected');
|
||||
} else {
|
||||
@@ -2177,7 +2169,7 @@ const steps = [
|
||||
errors.push(`Expected: Organization label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Organization label text color matched as expected');
|
||||
} else {
|
||||
@@ -2257,7 +2249,7 @@ const steps = [
|
||||
errors.push(`Expected: Position label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Position label text color matched as expected');
|
||||
} else {
|
||||
@@ -2325,7 +2317,7 @@ const steps = [
|
||||
errors.push(`Expected: Phone number label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Phone number label text color matched as expected');
|
||||
} else {
|
||||
@@ -2390,7 +2382,7 @@ const steps = [
|
||||
errors.push(`Expected: I agree to the terms of service text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: I agree to the terms of service text color matched as expected');
|
||||
} else {
|
||||
@@ -2477,7 +2469,7 @@ const steps = [
|
||||
errors.push(`Expected: terms of service link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -teal
|
||||
//color
|
||||
if (elementColor === 'rgba(48, 200, 172, 1)') {
|
||||
console.log('Passed: terms of service link text color matched as expected');
|
||||
} else {
|
||||
@@ -2534,7 +2526,7 @@ const steps = [
|
||||
errors.push(`Expected: Start Your Free Trial button text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Start Your Free Trial button background color matched as expected');
|
||||
} else {
|
||||
@@ -2566,6 +2558,10 @@ const steps = [
|
||||
description: 'Verify edgate logo is present',
|
||||
action: async () => {
|
||||
const expectedExactLogo = await driver.wait(until.elementLocated(By.css('.signuplogo > img')), 5000).catch(() => false);
|
||||
|
||||
//Track all errors
|
||||
const errors = [];
|
||||
|
||||
if (expectedExactLogo) {
|
||||
console.log('Passed: edgate logo present');
|
||||
} else {
|
||||
@@ -2604,7 +2600,7 @@ const steps = [
|
||||
errors.push(`Expected: © Copyright 2026 EdGate Correlation Services text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: © Copyright 2026 EdGate Correlation Services text color matched as expected');
|
||||
} else {
|
||||
@@ -2631,7 +2627,7 @@ const steps = [
|
||||
}
|
||||
},
|
||||
|
||||
//NEXT ACTION - Click Sign In link
|
||||
//NEXT ACTION
|
||||
{
|
||||
description: 'Click Sign In link',
|
||||
action: async () => {
|
||||
@@ -2665,7 +2661,7 @@ const steps = [
|
||||
description: 'Validate bullet point 1',
|
||||
action: async () => {
|
||||
const multipleChecks = 'Bullet point 1';
|
||||
const elementicon = await driver.wait(until.elementLocated(By.css('li:nth-child(1) img')), 5000).catch(() => false);
|
||||
const elementIcon = await driver.wait(until.elementLocated(By.css('li:nth-child(1) img')), 5000).catch(() => false);
|
||||
const element = await driver.findElement(By.css('li:nth-child(1) > .list-flex'));
|
||||
|
||||
//Get icon, text, color, and size
|
||||
@@ -2678,7 +2674,7 @@ const steps = [
|
||||
const errors = [];
|
||||
|
||||
//icon
|
||||
if (elementicon) {
|
||||
if (elementIcon) {
|
||||
console.log('Passed: Bullet Point Icon 1 present');
|
||||
} else {
|
||||
errors.push("Bullet Point Icon 1 not found");
|
||||
@@ -2698,7 +2694,7 @@ const steps = [
|
||||
errors.push(`Expected: Bullet point 1 text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Bullet point 1 text color matched as expected');
|
||||
} else {
|
||||
@@ -2763,7 +2759,7 @@ const steps = [
|
||||
errors.push(`Expected: ExACT AutoAlign, link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -teal
|
||||
//color
|
||||
if (elementColor === 'rgba(48, 200, 172, 1)') {
|
||||
console.log('Passed: ExACT AutoAlign, link text color matched as expected');
|
||||
} else {
|
||||
@@ -2795,7 +2791,7 @@ const steps = [
|
||||
description: 'Validate bullet point 2',
|
||||
action: async () => {
|
||||
const multipleChecks = 'Bullet point 2';
|
||||
const elementicon = await driver.wait(until.elementLocated(By.css('li:nth-child(2) img')), 5000).catch(() => false);
|
||||
const elementIcon = await driver.wait(until.elementLocated(By.css('li:nth-child(2) img')), 5000).catch(() => false);
|
||||
const element = await driver.findElement(By.css('li:nth-child(2) > .list-flex'));
|
||||
|
||||
//Get icon, text, color, and size
|
||||
@@ -2808,7 +2804,7 @@ const steps = [
|
||||
const errors = [];
|
||||
|
||||
//icon
|
||||
if (elementicon) {
|
||||
if (elementIcon) {
|
||||
console.log('Passed: Bullet Point Icon 2 present');
|
||||
} else {
|
||||
errors.push("Bullet Point Icon 2 not found");
|
||||
@@ -2828,7 +2824,7 @@ const steps = [
|
||||
errors.push(`Expected: Bullet point 2 text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Bullet point 2 text color matched as expected');
|
||||
} else {
|
||||
@@ -2893,7 +2889,7 @@ const steps = [
|
||||
errors.push(`Expected: Correlation Analytics. link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -teal
|
||||
//color
|
||||
if (elementColor === 'rgba(48, 200, 172, 1)') {
|
||||
console.log('Passed: Correlation Analytics. link text color matched as expected');
|
||||
} else {
|
||||
@@ -2925,7 +2921,7 @@ const steps = [
|
||||
description: 'Validate bullet point 3',
|
||||
action: async () => {
|
||||
const multipleChecks = 'Bullet point 3';
|
||||
const elementicon = await driver.wait(until.elementLocated(By.css('li:nth-child(3) img')), 5000).catch(() => false);
|
||||
const elementIcon = await driver.wait(until.elementLocated(By.css('li:nth-child(3) img')), 5000).catch(() => false);
|
||||
const element = await driver.findElement(By.css('li:nth-child(3) > .list-flex'));
|
||||
|
||||
//Get icon, text, color, and size
|
||||
@@ -2938,7 +2934,7 @@ const steps = [
|
||||
const errors = [];
|
||||
|
||||
//icon
|
||||
if (elementicon) {
|
||||
if (elementIcon) {
|
||||
console.log('Passed: Bullet Point Icon 3 present');
|
||||
} else {
|
||||
errors.push("Bullet Point Icon 3 not found");
|
||||
@@ -2958,7 +2954,7 @@ const steps = [
|
||||
errors.push(`Expected: Bullet point 3 text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Bullet point 3 text color matched as expected');
|
||||
} else {
|
||||
@@ -3023,7 +3019,7 @@ const steps = [
|
||||
errors.push(`Expected: International Standards. link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -teal
|
||||
//color
|
||||
if (elementColor === 'rgba(48, 200, 172, 1)') {
|
||||
console.log('Passed: International Standards. link text color matched as expected');
|
||||
} else {
|
||||
@@ -3051,11 +3047,16 @@ const steps = [
|
||||
},
|
||||
|
||||
//RIGHT PANEL
|
||||
|
||||
//ExACT logo
|
||||
{
|
||||
description: 'Verify ExACT logo is present',
|
||||
action: async () => {
|
||||
const expectedExactLogo = await driver.wait(until.elementLocated(By.css('.logo')), 5000).catch(() => false);
|
||||
|
||||
//Track all errors
|
||||
const errors = [];
|
||||
|
||||
if (expectedExactLogo) {
|
||||
console.log('Passed: ExACT logo present');
|
||||
} else {
|
||||
@@ -3070,7 +3071,7 @@ const steps = [
|
||||
action: async () => {
|
||||
const multipleChecks = 'Welcome Back!';
|
||||
const element = await driver.findElement(By.css('#formLogin > p'));
|
||||
const elementicon = await driver.wait(until.elementLocated(By.css('p > img')), 5000).catch(() => false);
|
||||
const elementIcon = await driver.wait(until.elementLocated(By.css('p > img')), 5000).catch(() => false);
|
||||
|
||||
//Get icon, text, color, and size
|
||||
const elementText = await element.getText();
|
||||
@@ -3095,7 +3096,7 @@ const steps = [
|
||||
errors.push(`Expected: Welcome Back text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgba(117, 117, 117, 1)') {
|
||||
console.log('Passed: Welcome Back text color matched as expected');
|
||||
} else {
|
||||
@@ -3110,7 +3111,7 @@ const steps = [
|
||||
}
|
||||
|
||||
//icon
|
||||
if (elementicon) {
|
||||
if (elementIcon) {
|
||||
console.log('Passed: Welcome Back Icon present');
|
||||
} else {
|
||||
errors.push("Welcome Back Icon not found");
|
||||
@@ -3159,7 +3160,7 @@ const steps = [
|
||||
errors.push(`Expected: Login header text font "DM Serif Display", serif; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Login header text color matched as expected');
|
||||
} else {
|
||||
@@ -3216,7 +3217,7 @@ const steps = [
|
||||
errors.push(`Expected: Username label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Username label text color matched as expected');
|
||||
} else {
|
||||
@@ -3284,7 +3285,7 @@ const steps = [
|
||||
errors.push(`Expected: Username placeholder text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Username placeholder text color matched as expected');
|
||||
} else {
|
||||
@@ -3356,7 +3357,7 @@ const steps = [
|
||||
errors.push(`Expected: Password label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Password label text color matched as expected');
|
||||
} else {
|
||||
@@ -3424,7 +3425,7 @@ const steps = [
|
||||
errors.push(`Expected: Password placeholder text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Password placeholder text color matched as expected');
|
||||
} else {
|
||||
@@ -3519,7 +3520,7 @@ const steps = [
|
||||
errors.push(`Expected: Alert text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -red/orange
|
||||
//color
|
||||
if (elementColor === 'rgba(231, 76, 60, 0.88)') {
|
||||
console.log('Passed: Alert text color matched as expected');
|
||||
} else {
|
||||
@@ -3584,7 +3585,7 @@ const steps = [
|
||||
errors.push(`Expected: Forgot password link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Forgot password link text color matched as expected');
|
||||
} else {
|
||||
@@ -3641,7 +3642,7 @@ const steps = [
|
||||
errors.push(`Expected: Login buttonk text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -teal
|
||||
//color
|
||||
if (elementColor === 'rgba(48, 200, 172, 1)') {
|
||||
console.log('Passed: Login button text background color matched as expected');
|
||||
} else {
|
||||
@@ -3698,7 +3699,7 @@ const steps = [
|
||||
errors.push(`Expected: Dont have an account text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -black
|
||||
//color
|
||||
if (elementColor === 'rgba(32, 32, 32, 1)') {
|
||||
console.log('Passed: Dont have an account text color matched as expected');
|
||||
} else {
|
||||
@@ -3763,7 +3764,7 @@ const steps = [
|
||||
errors.push(`Expected: Free trial button text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Free trial button background color matched as expected');
|
||||
} else {
|
||||
@@ -3795,6 +3796,10 @@ const steps = [
|
||||
description: 'Verify EdGate copyright logo is present',
|
||||
action: async () => {
|
||||
const expectedEdGateCopyright = await driver.wait(until.elementLocated(By.css('.logincopyright > img')), 5000).catch(() => false);
|
||||
|
||||
//Track all errors
|
||||
const errors = [];
|
||||
|
||||
if (expectedEdGateCopyright) {
|
||||
console.log('Passed: EdGate copyright logo present');
|
||||
} else {
|
||||
@@ -3803,7 +3808,7 @@ const steps = [
|
||||
}
|
||||
},
|
||||
|
||||
//NEXT ACTION - Click Forgot password link
|
||||
//NEXT ACTION
|
||||
{
|
||||
description: 'Click Forgot password link',
|
||||
action: async () => {
|
||||
@@ -3825,7 +3830,7 @@ const steps = [
|
||||
}
|
||||
},
|
||||
|
||||
//Recover Username textbox
|
||||
//Recover Username textbox (SPECIAL CASE: Placeholder validation with trigger)
|
||||
{
|
||||
description: 'Validate Recover Username textbox',
|
||||
action: async () => {
|
||||
@@ -3866,7 +3871,7 @@ const steps = [
|
||||
errors.push(`Expected: Username placeholder text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Username placeholder text color matched as expected');
|
||||
} else {
|
||||
@@ -3938,7 +3943,7 @@ const steps = [
|
||||
errors.push(`Expected: Submit buttonk text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -teal
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Submit button text background color matched as expected');
|
||||
} else {
|
||||
@@ -4003,7 +4008,7 @@ const steps = [
|
||||
errors.push(`Expected: < Back to Login link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: < Back to Login link text color matched as expected');
|
||||
} else {
|
||||
@@ -4030,7 +4035,7 @@ const steps = [
|
||||
}
|
||||
},
|
||||
|
||||
//NEXT ACTION - Click Back to Login link
|
||||
//NEXT ACTION
|
||||
{
|
||||
description: 'Click Back to Login link',
|
||||
action: async () => {
|
||||
@@ -4053,11 +4058,16 @@ const steps = [
|
||||
},
|
||||
|
||||
//RIGHT PANEL
|
||||
|
||||
//ExACT logo
|
||||
{
|
||||
description: 'Verify ExACT logo is present',
|
||||
action: async () => {
|
||||
const expectedExactLogo = await driver.wait(until.elementLocated(By.css('.logo')), 5000).catch(() => false);
|
||||
|
||||
//Track all errors
|
||||
const errors = [];
|
||||
|
||||
if (expectedExactLogo) {
|
||||
console.log('Passed: ExACT logo present');
|
||||
} else {
|
||||
@@ -4072,7 +4082,7 @@ const steps = [
|
||||
action: async () => {
|
||||
const multipleChecks = 'Welcome Back!';
|
||||
const element = await driver.findElement(By.css('#formLogin > p'));
|
||||
const elementicon = await driver.wait(until.elementLocated(By.css('p > img')), 5000).catch(() => false);
|
||||
const elementIcon = await driver.wait(until.elementLocated(By.css('p > img')), 5000).catch(() => false);
|
||||
|
||||
//Get icon, text, color, and size
|
||||
const elementText = await element.getText();
|
||||
@@ -4097,7 +4107,7 @@ const steps = [
|
||||
errors.push(`Expected: Welcome Back text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgba(117, 117, 117, 1)') {
|
||||
console.log('Passed: Welcome Back text color matched as expected');
|
||||
} else {
|
||||
@@ -4112,7 +4122,7 @@ const steps = [
|
||||
}
|
||||
|
||||
//icon
|
||||
if (elementicon) {
|
||||
if (elementIcon) {
|
||||
console.log('Passed: Welcome Back Icon present');
|
||||
} else {
|
||||
errors.push("Welcome Back Icon not found");
|
||||
@@ -4161,7 +4171,7 @@ const steps = [
|
||||
errors.push(`Expected: Login header text font "DM Serif Display", serif; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Login header text color matched as expected');
|
||||
} else {
|
||||
@@ -4218,7 +4228,7 @@ const steps = [
|
||||
errors.push(`Expected: Username label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Username label text color matched as expected');
|
||||
} else {
|
||||
@@ -4286,7 +4296,7 @@ const steps = [
|
||||
errors.push(`Expected: Username label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Username label text color matched as expected');
|
||||
} else {
|
||||
@@ -4343,7 +4353,7 @@ const steps = [
|
||||
errors.push(`Expected: Password label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Password label text color matched as expected');
|
||||
} else {
|
||||
@@ -4411,7 +4421,7 @@ const steps = [
|
||||
errors.push(`Expected: Password label text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -gray
|
||||
//color
|
||||
if (elementColor === 'rgb(108, 117, 125)') {
|
||||
console.log('Passed: Password label text color matched as expected');
|
||||
} else {
|
||||
@@ -4476,7 +4486,7 @@ const steps = [
|
||||
errors.push(`Expected: Forgot password link text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -navy blue
|
||||
//color
|
||||
if (elementColor === 'rgba(40, 39, 90, 1)') {
|
||||
console.log('Passed: Forgot password link text color matched as expected');
|
||||
} else {
|
||||
@@ -4533,7 +4543,7 @@ const steps = [
|
||||
errors.push(`Expected: Login buttonk text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -teal
|
||||
//color
|
||||
if (elementColor === 'rgba(48, 200, 172, 1)') {
|
||||
console.log('Passed: Login button text background color matched as expected');
|
||||
} else {
|
||||
@@ -4590,7 +4600,7 @@ const steps = [
|
||||
errors.push(`Expected: Dont have an account text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -black
|
||||
//color
|
||||
if (elementColor === 'rgba(32, 32, 32, 1)') {
|
||||
console.log('Passed: Dont have an account text color matched as expected');
|
||||
} else {
|
||||
@@ -4655,7 +4665,7 @@ const steps = [
|
||||
errors.push(`Expected: Free trial button text font "Poppins, sans-serif"; Actual: ${elementFont}`);
|
||||
}
|
||||
|
||||
//color -white
|
||||
//color
|
||||
if (elementColor === 'rgba(255, 255, 255, 1)') {
|
||||
console.log('Passed: Free trial button background color matched as expected');
|
||||
} else {
|
||||
@@ -4687,6 +4697,10 @@ const steps = [
|
||||
description: 'Verify EdGate copyright logo is present',
|
||||
action: async () => {
|
||||
const expectedEdGateCopyright = await driver.wait(until.elementLocated(By.css('.logincopyright > img')), 5000).catch(() => false);
|
||||
|
||||
//Track all errors
|
||||
const errors = [];
|
||||
|
||||
if (expectedEdGateCopyright) {
|
||||
console.log('Passed: EdGate copyright logo present');
|
||||
} else {
|
||||
@@ -4695,7 +4709,7 @@ const steps = [
|
||||
}
|
||||
},
|
||||
|
||||
//Login and Log out
|
||||
//NEXT ACTION
|
||||
{
|
||||
description: 'Login and Log Out',
|
||||
action: async () => {
|
||||
@@ -4713,11 +4727,6 @@ const steps = [
|
||||
await driver.findElement(By.css('.login')).click();
|
||||
console.log('----->| NEXT ACTION: Clicked Login button');
|
||||
|
||||
//Wait for page to load completely
|
||||
await driver.wait(async () => {
|
||||
const readyState = await driver.executeScript('return document.readyState');
|
||||
return readyState === 'complete';
|
||||
}, 30000, 'ExACT Dashboard did not fully load within 30 seconds');
|
||||
console.log('------------->| ExACT Dashboard |<-------------');
|
||||
|
||||
//Wait until the element exists in the DOM
|
||||
@@ -4742,12 +4751,18 @@ const steps = [
|
||||
errors.push(`Expected: "Correlation Dashboard"; Actual: "${elementText}"`);
|
||||
}
|
||||
|
||||
//Wait for page to load completely
|
||||
//Wait for the slowest resource to complete
|
||||
await driver.wait(async () => {
|
||||
const readyState = await driver.executeScript('return document.readyState');
|
||||
return readyState === 'complete';
|
||||
}, 30000, 'ExACT Dashboard did not fully load within 30 seconds');
|
||||
console.log('Passed: ExACT Dashboard loaded successfully');
|
||||
const completed = await driver.executeScript(`
|
||||
const entries = performance.getEntriesByType('resource');
|
||||
return entries.some(entry =>
|
||||
entry.name.includes('content_sets.php') &&
|
||||
entry.responseEnd > 0
|
||||
);
|
||||
`);
|
||||
return completed;
|
||||
}, 30000, 'My Content widget (content_sets.php) did not complete loading within 30 seconds');
|
||||
console.log('Passed: My Content widget (content_sets.php) loaded successfully - Dashboard fully loaded');
|
||||
|
||||
await driver.findElement(By.css('#navbarDropdown > span')).click();
|
||||
await driver.findElement(By.linkText('Log Out')).click();
|
||||
@@ -4832,26 +4847,24 @@ try {
|
||||
|
||||
let allStepsPassed = true;
|
||||
|
||||
const failedSteps = []; //Track failed steps
|
||||
|
||||
for (const step of steps) {
|
||||
const stepIndex = steps.indexOf(step) + 1;
|
||||
const timestamp = new Date().toISOString();
|
||||
|
||||
try {
|
||||
//Screenshot of failed step
|
||||
try {
|
||||
await step.action();
|
||||
|
||||
//Log a successful step with no screenshot
|
||||
worksheet = logStep(
|
||||
worksheet,
|
||||
step.description,
|
||||
'Passed',
|
||||
stepIndex,
|
||||
timestamp,
|
||||
null //No screenshot for passed steps
|
||||
null
|
||||
);
|
||||
|
||||
} catch (error) {
|
||||
//Only take screenshot if the step fails
|
||||
const screenshotPath = await takeScreenshot(
|
||||
driver,
|
||||
stepIndex,
|
||||
@@ -4868,17 +4881,21 @@ try {
|
||||
);
|
||||
|
||||
console.error(`Step ${stepIndex} FAILED: ${error.message}`);
|
||||
failedSteps.push(`Step ${stepIndex}: ${step.description} - ${error.message}`); //Track failed step
|
||||
testStatus = 'Failed';
|
||||
allStepsPassed = false;
|
||||
}
|
||||
}
|
||||
|
||||
//Script completed
|
||||
if (allStepsPassed) {
|
||||
console.log('PASSED: ExACT Login Page(ExACT_landingPage); All test steps completed successfully');
|
||||
console.log('------------->| THE END |<-------------');
|
||||
console.log('PASSED: EDGATE LANDING PAGE - ExACT Landing Page (ExACT_landingPage); All test steps completed successfully');
|
||||
testStatus = 'Passed';
|
||||
} else {
|
||||
console.log('FAILED: ExACT Login Page(ExACT_landingPage); One or more test steps failed');
|
||||
console.log('------------->| THE END |<-------------');
|
||||
console.log('FAILED: EDGATE LANDING PAGE - ExACT Landing Page (ExACT_landingPage); One or more test steps failed');
|
||||
console.log('FAILED STEPS:');
|
||||
failedSteps.forEach(step => console.error(` ✗ ${step}`));
|
||||
testStatus = 'Failed';
|
||||
}
|
||||
|
||||
@@ -4892,7 +4909,7 @@ try {
|
||||
} finally {
|
||||
await driver.quit();
|
||||
}
|
||||
})();
|
||||
})();
|
||||
}
|
||||
|
||||
export default ExACT_landingPage;
|
||||
|
||||
Reference in New Issue
Block a user