我的 pw click() 函数有问题
该行在页面上完全可点击
<TableRow
key={i}
whenClick={() => this.handleClickRow(el.id)}
data-testId = {'warehousesRow'+`${i}`}
>
但是这个测试抛出了异常,尽管选择器在上一行中没有问题
test('warehouses table rows clickable', async ({
page,
baseURL,
}) => {
await page.goto(baseURL as string)
await checkKeyClock(page)
await expect(page.url()).toContain(baseURL)
await page.goto(baseURL as string + '/warehouses')
const tableRow = page.locator('data-testid="warehousesRow1"')
try {
await tableRow.click();
} catch (error) {
console.error('Ошибка при клике на ряд таблицы:', error);
}
await expect(page.url()).toContain('view?id');
})
例外是
steps: [],
complete: [Function: complete],
endWallTime: 1713781681655,
error: {
message: 'Error: locator.click: Test timeout of 30000ms exceeded.\n' +
'Call log:\n' +
` \x1B[2m- waiting for locator('data-testid="warehousesRow1"')\x1B[22m\n`,
stack: 'Error: locator.click: Test timeout of 30000ms exceeded.\n' +
'Call log:\n' +
` \x1B[2m- waiting for locator('data-testid="warehousesRow1"')\x1B[22m\n` +
'\n' +
' at /Users/anproskuryakova/frontend projects/ewms-ui/playwright/warehouses/wh-table.test.ts:32:21'
}
}
}
所以看起来它不可点击,但我可以在界面中点击和导航
await Expect(tableRow).toBeVisible 工作得很好
确保脚本导航到包含所需的 locator('data-testid="warehousesRow1"') Web 元素的正确页面