import { STAGING_URL, PATHS, TIMEOUTS } from './config/staging-config'; import { test, expect } from '@playwright/test'; test.describe('Dashboard Elements Check', () => { test('check what elements are on the dashboard', async ({ page }) => { const staging_url = 'https://upskill-staging.measurequick.com'; // Login as test trainer await page.goto(`${staging_url}/community-login`); await page.fill('#user_login', 'test_trainer'); await page.fill('#user_pass', 'password123!'); await page.click('input[type="submit"]'); await page.waitForTimeout(3000); // Go to dashboard await page.goto(`${staging_url}/hvac-dashboard`); await page.waitForLoadState('networkidle'); // Take a screenshot for debugging await page.screenshot({ path: 'dashboard-screenshot.png' }); // Log the page content to see what's actually there const pageContent = await page.content(); console.log('Dashboard HTML:', pageContent.substring(0, 2000)); // First 2000 chars // Check for various possible selectors const possibleSelectors = [ '.metric-value', '.stats-value', '.event-count', '.total-events', '.dashboard-stats', '.stat-number', '.card-value', '#total-events', '[data-metric="total-events"]' ]; for (const selector of possibleSelectors) { const elements = await page.locator(selector).count(); if (elements > 0) { console.log(`Found ${elements} elements with selector: ${selector}`); const firstText = await page.locator(selector).first().textContent(); console.log(` First element text: "${firstText}"`); } } // Look for text containing "Events" or numbers const eventsTexts = await page.locator('text=/\\d+/').allTextContents(); console.log('All numeric texts on page:', eventsTexts); const eventRelatedTexts = await page.locator('text=/event/i').allTextContents(); console.log('All event-related texts:', eventRelatedTexts); }); });