Update open-four-players.mjs
This commit is contained in:
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user