Update open-four-players.mjs

This commit is contained in:
2026-03-24 15:29:32 +08:00
parent 58fe43607a
commit 72253b1391

View File

@@ -49,7 +49,7 @@ async function login(page, player) {
page.waitForURL('**/hall', { timeout: 15000 }),
submitButton.click(),
])
await page.getByText(`用户名:${player.username}`).waitFor({ timeout: 15000 })
await page.getByRole('heading', { name: '麻将游戏大厅' }).waitFor({ timeout: 15000 })
log(`logged in ${player.username}`)
}
@@ -64,24 +64,12 @@ async function createRoom(page) {
if (!roomId) {
throw new Error('Failed to read room id')
}
return { roomId, roomName }
}
async function ownerEnterRoom(page, roomId) {
log(`owner enter room ${roomId}`)
await Promise.all([
page.waitForURL(`**/game/chengdu/${roomId}*`, { timeout: 15000 }),
page.getByRole('button', { name: '进入房间' }).click(),
])
log(`owner entered room ${roomId}`)
}
async function ownerStartGame(page) {
log('owner start game')
const startButton = page.getByRole('button', { name: '开始游戏' })
await startButton.waitFor({ timeout: 15000 })
await startButton.click()
log('owner clicked start game')
return { roomId, roomName }
}
async function joinRoom(page, roomId, username) {
@@ -134,23 +122,20 @@ async function main() {
}
}
await ownerEnterRoom(owner.page, roomId)
await new Promise((resolve) => setTimeout(resolve, 3000))
await ownerStartGame(owner.page)
await new Promise((resolve) => setTimeout(resolve, 8000))
const playersSnapshot = []
for (const session of sessions) {
await session.page.bringToFront()
await new Promise((resolve) => setTimeout(resolve, 2000))
let snapshot = await snapshotPage(session)
if (!snapshot.started) {
log(`reload game page for ${session.username}`)
await session.page.reload({ waitUntil: 'domcontentloaded' })
log(`focus retry for ${session.username}`)
await session.page.bringToFront()
await new Promise((resolve) => setTimeout(resolve, 3000))
snapshot = await snapshotPage(session)
}
playersSnapshot.push(snapshot)
await session.page.bringToFront()
}
console.log(JSON.stringify({