- Add 26 documentation files including test reports, deployment guides, and troubleshooting documentation - Include 3 CSV data files for trainer imports and user registration tracking - Add 43 JavaScript test files covering mobile optimization, Safari compatibility, and E2E testing - Include 18 PHP utility files for debugging, geocoding, and data analysis - Add 12 shell scripts for deployment verification, user management, and database operations - Update .gitignore with whitelist patterns for development files, documentation, and CSV data 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
71 lines
No EOL
2.2 KiB
JavaScript
71 lines
No EOL
2.2 KiB
JavaScript
const { chromium } = require('playwright');
|
|
|
|
const BASE_URL = 'https://upskill-staging.measurequick.com';
|
|
|
|
async function captureScreenshots() {
|
|
const browser = await chromium.launch({ headless: true });
|
|
const context = await browser.newContext({
|
|
viewport: { width: 1920, height: 1080 }
|
|
});
|
|
const page = await context.newPage();
|
|
|
|
console.log('Capturing screenshots of deployed features...\n');
|
|
|
|
try {
|
|
// Login first
|
|
console.log('Logging in...');
|
|
await page.goto(`${BASE_URL}/training-login/`);
|
|
await page.fill('#username', 'test_trainer');
|
|
await page.fill('#password', 'password123');
|
|
await page.click('button[type="submit"]');
|
|
await page.waitForTimeout(3000);
|
|
|
|
// Capture trainer dashboard
|
|
console.log('Capturing trainer dashboard...');
|
|
const dashboardUrl = page.url();
|
|
console.log(`Current URL: ${dashboardUrl}`);
|
|
await page.screenshot({
|
|
path: 'screenshots/test-01-dashboard.png',
|
|
fullPage: true
|
|
});
|
|
|
|
// Try to navigate to new pages
|
|
const pages = [
|
|
{ name: 'venues-list', url: '/trainer/venue/list/' },
|
|
{ name: 'venue-manage', url: '/trainer/venue/manage/' },
|
|
{ name: 'profile-view', url: '/trainer/profile/' },
|
|
{ name: 'profile-edit', url: '/trainer/profile/edit/' },
|
|
{ name: 'organizers-list', url: '/trainer/organizer/list/' },
|
|
{ name: 'organizer-manage', url: '/trainer/organizer/manage/' }
|
|
];
|
|
|
|
for (const pageInfo of pages) {
|
|
console.log(`\nNavigating to ${pageInfo.name}...`);
|
|
await page.goto(`${BASE_URL}${pageInfo.url}`);
|
|
await page.waitForTimeout(2000);
|
|
|
|
const currentUrl = page.url();
|
|
const title = await page.title();
|
|
console.log(` URL: ${currentUrl}`);
|
|
console.log(` Title: ${title}`);
|
|
|
|
await page.screenshot({
|
|
path: `screenshots/test-${pageInfo.name}.png`,
|
|
fullPage: true
|
|
});
|
|
}
|
|
|
|
console.log('\nScreenshots captured successfully!');
|
|
|
|
} catch (error) {
|
|
console.error('Error:', error.message);
|
|
await page.screenshot({
|
|
path: 'screenshots/test-error.png',
|
|
fullPage: true
|
|
});
|
|
} finally {
|
|
await browser.close();
|
|
}
|
|
}
|
|
|
|
captureScreenshots().catch(console.error); |