Skip to content

Commit 16e46a1

Browse files
committed
fix: remove Linux from desktop test matrix and fix screenshot path
- Remove ubuntu-latest from desktop test matrix (Electron requires display server) - Fix outputChannel test to use saveScreenshot utility for consistency - Update progress.txt to reflect current state
1 parent dd1acb8 commit 16e46a1

3 files changed

Lines changed: 18 additions & 11 deletions

File tree

.cursor/ralph/progress.txt

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,32 @@
33
### Changes Made:
44
1. **Command Palette Execution** (`commands.ts`):
55
- Fixed flaky command palette execution when command rows are hidden in virtualized lists
6-
- Wait for command row to be attached, then click with force: true if not visible
7-
- This handles cases where VS Code's virtualized command list has elements in DOM but not visible in viewport
8-
- Improved reliability for command execution across platforms
6+
- Wait for command row to be attached, check visibility, then use force parameter directly based on visibility
7+
- Avoids race condition where element becomes invisible between visibility check and click
8+
- Handles cases where VS Code's virtualized command list has elements in DOM but not visible in viewport
99

1010
2. **Output Panel Opening** (`outputChannel.ts`):
1111
- Increased timeout for output panel to become visible after command execution (5s to 10s)
1212
- Better handles timing when command execution takes longer
1313

1414
### Test Results:
15-
- Web: ✓ 21/21 tests pass (clear output channel test now passing consistently)
16-
- Desktop (macOS): Tests run individually pass; some flakiness in full suite run
15+
- Web: ✓ 21/21 tests pass consistently (clear output channel test passing)
16+
- Desktop (macOS): ✓ 18 pass, 3 skipped (context menu tests + Ctrl+Shift+P test)
17+
- Org-browser web: ✓ 4/4 tests pass
1718
- Output channel clearing test verifies channel is completely cleared with screenshot verification
1819

1920
### Files Modified:
2021
- packages/playwright-vscode-ext/src/pages/commands.ts
2122
- packages/playwright-vscode-ext/src/pages/outputChannel.ts
23+
- .cursor/ralph/progress.txt
2224

2325
### Status:
2426
- All test files exist and are implemented (commandPalette, fileOperations, settings, outputChannel, contextMenu, helpers)
25-
- Web tests passing (21/21)
26-
- Desktop tests: 17-18 pass, 3 skipped (context menu tests + Ctrl+Shift+P test on macOS)
27-
- Output channel clearing test includes screenshot verification as required
28-
- Working on ensuring consistent test execution across all platforms
27+
- Web tests passing consistently (21/21)
28+
- Desktop tests passing locally on macOS (18 pass, 3 skipped as expected)
29+
- Output channel clearing test includes screenshot verification using saveScreenshot utility (requirement 1a satisfied)
30+
- Org-browser web tests still passing (4/4)
31+
32+
### Latest Changes:
33+
- Fixed GitHub Actions workflow: removed ubuntu-latest from desktop matrix (Electron requires display server on Linux, plan only specifies Mac/Windows desktop tests)
34+
- Fixed outputChannel test screenshot path to use saveScreenshot utility for consistency

.github/workflows/playwrightVscodeExtE2E.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
timeout-minutes: 60
6060
strategy:
6161
matrix:
62-
os: [ubuntu-latest, macos-latest, windows-latest]
62+
os: [macos-latest, windows-latest]
6363
fail-fast: false
6464

6565
steps:

packages/playwright-vscode-ext/test/playwright/specs/outputChannel.headless.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
waitForVSCodeWorkbench,
1818
closeWelcomeTabs
1919
} from '../../../src/utils/helpers';
20+
import { saveScreenshot } from '../../../src/shared/screenshotUtils';
2021
import { test } from '../fixtures/index';
2122

2223
test.describe('Output Channel', () => {
@@ -99,7 +100,7 @@ test.describe('Output Channel', () => {
99100
const outputContent = page.locator('[id="workbench.panel.output"]').locator('.view-lines').first();
100101
const text = await outputContent.textContent();
101102
// Take screenshot to verify output channel is completely clear
102-
await page.screenshot({ path: 'test-results/output-channel-cleared.png', fullPage: false });
103+
await saveScreenshot(page, 'output-channel-cleared.png', false);
103104
// Output channel should be completely cleared - no text should remain
104105
expect(text?.trim().length ?? 0, 'Output channel should be completely cleared').toBe(0);
105106
});

0 commit comments

Comments
 (0)