61 lines
No EOL
1.9 KiB
JavaScript
61 lines
No EOL
1.9 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
describe('Screenshot Debug Test', () => {
|
|
let driver;
|
|
|
|
beforeAll(async () => {
|
|
driver = await global.createDriver();
|
|
|
|
// Create screenshots directory if it doesn't exist
|
|
const screenshotsDir = path.join(__dirname, '../screenshots');
|
|
if (!fs.existsSync(screenshotsDir)) {
|
|
fs.mkdirSync(screenshotsDir);
|
|
}
|
|
});
|
|
|
|
afterAll(async () => {
|
|
await global.quitDriver(driver);
|
|
});
|
|
|
|
test('take screenshot of homepage', async () => {
|
|
console.log('Navigating to:', global.testConfig.baseUrl);
|
|
await driver.get(global.testConfig.baseUrl);
|
|
|
|
// Wait for page to load
|
|
await driver.sleep(3000);
|
|
|
|
// Take screenshot
|
|
const screenshot = await driver.takeScreenshot();
|
|
const screenshotPath = path.join(__dirname, '../screenshots/homepage.png');
|
|
fs.writeFileSync(screenshotPath, screenshot, 'base64');
|
|
console.log('Screenshot saved to:', screenshotPath);
|
|
|
|
// Get page info
|
|
const title = await driver.getTitle();
|
|
const url = await driver.getCurrentUrl();
|
|
console.log('Page title:', title);
|
|
console.log('Current URL:', url);
|
|
|
|
// Try to find and screenshot the auth container
|
|
try {
|
|
const authContainer = await driver.findElement({ className: 'auth-container' });
|
|
console.log('Found auth container');
|
|
|
|
// Click register button and take screenshot
|
|
const registerButton = await driver.findElement({ css: '.auth-toggle button:last-child' });
|
|
await registerButton.click();
|
|
await driver.sleep(1000);
|
|
|
|
const screenshot2 = await driver.takeScreenshot();
|
|
const screenshotPath2 = path.join(__dirname, '../screenshots/register-form.png');
|
|
fs.writeFileSync(screenshotPath2, screenshot2, 'base64');
|
|
console.log('Register form screenshot saved to:', screenshotPath2);
|
|
|
|
} catch (e) {
|
|
console.log('Auth container not found:', e.message);
|
|
}
|
|
|
|
expect(true).toBe(true);
|
|
}, 60000);
|
|
}); |