| 1234567891011121314151617181920212223 |
- const { chromium } = require('playwright');
- (async () => {
- const browser = await chromium.launch({ headless: true, executablePath: 'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe' });
- const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } });
- const errors = [];
- page.on('pageerror', error => errors.push(error.message));
- const url = 'http://127.0.0.1:8931/AI%E5%BF%AB%E9%80%9F%E6%8A%A5%E4%BB%B7_Demo2.html?v=kitchen-default-persistence';
- await page.goto(url, { waitUntil: 'load' });
- await page.evaluate(() => localStorage.removeItem(STORAGE_KEY));
- await page.reload({ waitUntil: 'load' });
- const defaults = await page.evaluate(() => DEFAULT_RULES.kitchen.map(rule => ({ name: rule.name, method: rule.method, value: Number(rule.value), unit: rule.unit })));
- await page.evaluate(() => { switchView('rules'); switchRuleTab('kitchen'); startRuleEdit('kitchen', 0); });
- await page.locator('#rule-table-kitchen tr').first().locator('td').nth(2).locator('input').fill('2399');
- await page.locator('#rule-table-kitchen tr').first().locator('td').nth(4).locator('input').fill('可编辑说明');
- await page.evaluate(() => saveRuleEdit('kitchen', 0));
- const beforeReload = await page.evaluate(() => ({ value: DEFAULT_RULES.kitchen[0].value, stored: JSON.parse(localStorage.getItem(STORAGE_KEY)).priceRules.kitchen[0].value }));
- await page.reload({ waitUntil: 'load' });
- await page.waitForTimeout(500);
- const persisted = await page.evaluate(() => ({ value: Number(DEFAULT_RULES.kitchen[0].value), method: DEFAULT_RULES.kitchen[0].method, desc: DEFAULT_RULES.kitchen[0].desc, blankDefaults: DEFAULT_RULES.kitchen.slice(1).every(rule => rule.desc === ''), count: DEFAULT_RULES.kitchen.length }));
- console.log(JSON.stringify({ defaults, beforeReload, persisted, errors }));
- await browser.close();
- })().catch(error => { console.error(error); process.exit(1); });
|