21 lines
1.5 KiB
JavaScript
21 lines
1.5 KiB
JavaScript
// Read only: verify the installed bilingual panel without submitting generations.
|
|
const {chromium}=require('playwright-core'),fs=require('node:fs'),assert=require('node:assert/strict');
|
|
(async()=>{
|
|
const root='D:/web/dj',base=JSON.parse(fs.readFileSync(root+'/huobao-data/last-launch.json')).api.replace('/api/v1','');
|
|
const browser=await chromium.launch({channel:'chrome',headless:true});
|
|
try {
|
|
const page=await browser.newPage({viewport:{width:1600,height:1100}}),errors=[];
|
|
page.on('pageerror',e=>errors.push(e.message));
|
|
await page.addInitScript(()=>localStorage.setItem('huobao:tours',JSON.stringify(['episode'])));
|
|
await page.route('**/api/**',r=>['GET','HEAD'].includes(r.request().method())?r.continue():r.abort());
|
|
await page.goto(base+'/drama/6/episode/1',{waitUntil:'networkidle'});
|
|
await page.getByText('视频制作',{exact:true}).first().click();
|
|
const panel=page.locator('.english-video-prompt');await panel.waitFor();await panel.scrollIntoViewIfNeeded();
|
|
assert.match(await panel.innerText(),/已同步/);
|
|
assert.match(await panel.getByRole('textbox',{name:'英文视频提示词'}).inputValue(),/rain/i);
|
|
assert.equal(await page.getByRole('button',{name:'补齐英文',exact:true}).count(),1);
|
|
assert.deepEqual(errors,[]);await page.screenshot({path:root+'/integration-work/english-installed.png'});
|
|
console.log('PASS: installed bilingual prompt and batch-fill controls; GET-only inspection');
|
|
}finally{await browser.close()}
|
|
})().catch(e=>{console.error(e.stack);process.exit(1)});
|