fix: correct selectNodes multi-selection and tab name assertions

Amp-Thread-ID: https://ampcode.com/threads/T-019c17a0-1d8c-746f-8ee0-0145b7f56561
This commit is contained in:
bymyself
2026-01-31 21:27:08 -08:00
parent 337e71dce2
commit 32694573a9
3 changed files with 12 additions and 8 deletions

View File

@@ -1373,14 +1373,18 @@ export class ComfyPage {
}
async selectNodes(nodeTitles: string[]) {
await this.page.keyboard.down('Control')
let isFirst = true
for (const nodeTitle of nodeTitles) {
const nodes = await this.getNodeRefsByTitle(nodeTitle)
for (const node of nodes) {
await node.click('title')
if (isFirst) {
await node.click('title')
isFirst = false
} else {
await node.click('title', { modifiers: ['Control'] })
}
}
}
await this.page.keyboard.up('Control')
await this.nextFrame()
}

View File

@@ -125,19 +125,19 @@ test.describe('Properties panel basic functionality', { tag: ['@ui'] }, () => {
await expect(propertiesPanel.panelTitle).toContainText('items selected')
})
test('shows Parameters and Settings tabs for multiple selection', async ({
test('shows Nodes and Settings tabs for multiple selection', async ({
comfyPage
}) => {
const { propertiesPanel } = comfyPage
await comfyPage.selectNodes(['KSampler', 'VAE Decode'])
await expect(propertiesPanel.getTab('Parameters')).toBeVisible()
await expect(propertiesPanel.getTab('Nodes')).toBeVisible()
await expect(propertiesPanel.getTab('Settings')).toBeVisible()
await expect(propertiesPanel.getTab('Info')).not.toBeVisible()
})
test('lists all selected nodes in Parameters tab', async ({
test('lists all selected nodes in Nodes tab', async ({
comfyPage
}) => {
const { propertiesPanel } = comfyPage

View File

@@ -68,10 +68,10 @@ test.describe('Properties panel tab navigation', { tag: ['@ui'] }, () => {
await expect(propertiesPanel.getTab('Nodes')).not.toBeVisible()
await comfyPage.selectNodes(['KSampler', 'VAE Decode'])
await expect(propertiesPanel.getTab('Parameters')).toBeVisible()
await expect(propertiesPanel.getTab('Nodes')).toBeVisible()
await expect(propertiesPanel.getTab('Settings')).toBeVisible()
await expect(propertiesPanel.getTab('Info')).not.toBeVisible()
await expect(propertiesPanel.getTab('Nodes')).not.toBeVisible()
await expect(propertiesPanel.getTab('Parameters')).not.toBeVisible()
})
test('first tab updates for multiple selection', async ({ comfyPage }) => {