Files
keinasystem/testing/subagent_generated/playwright_test_temp.mjs
2026-03-01 13:42:13 +09:00

67 lines
2.2 KiB
JavaScript

import { chromium } from 'playwright';
const browser = await chromium.launch({ headless: true });
const context = await browser.newContext({ viewport: { width: 1400, height: 900 } });
const page = await context.newPage();
const screenshotDir = 'C:/tmp/playwright_screenshots';
// Create directory via node
import { mkdirSync } from 'fs';
mkdirSync(screenshotDir, { recursive: true });
function screenshot(name) {
return page.screenshot({ path: `${screenshotDir}/${name}.png`, fullPage: true });
}
// Step 1: Navigate to fertilizer/new
console.log('\n=== Step 1: Navigating to http://localhost:3000/fertilizer/new ===');
await page.goto('http://localhost:3000/fertilizer/new');
await page.waitForLoadState('networkidle');
console.log('Current URL:', page.url());
// Check if redirected to login
if (page.url().includes('/login')) {
console.log('\n=== Step 2: Redirected to login, logging in... ===');
// Find and fill login form
await page.waitForSelector('input', { timeout: 5000 });
const inputs = await page.locator('input').all();
console.log('Found inputs:', inputs.length);
// Try different selectors for username/password
try {
await page.fill('input[name="username"]', 'akira');
} catch {
await page.fill('input[type="text"]:first-of-type', 'akira');
}
try {
await page.fill('input[name="password"]', 'keina2025');
} catch {
await page.fill('input[type="password"]', 'keina2025');
}
await screenshot('step2_login_form');
await page.click('button[type="submit"]');
await page.waitForLoadState('networkidle');
console.log('After login URL:', page.url());
// Navigate to fertilizer/new after login
await page.goto('http://localhost:3000/fertilizer/new');
await page.waitForLoadState('networkidle');
console.log('After navigate URL:', page.url());
}
await screenshot('step3_fertilizer_new');
console.log('\n=== Step 3: On fertilizer/new page ===');
console.log('URL:', page.url());
// Check page content
const pageTitle = await page.title();
console.log('Page title:', pageTitle);
const bodyText = await page.locator('body').textContent();
console.log('Body preview:', bodyText?.substring(0, 500));
await browser.close();
console.log('\nDone!');