Skip to content

Commit f33d887

Browse files
authored
E2E test stability improvements (#207)
* E2E test Improvements * trigger CI
1 parent 5896357 commit f33d887

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

src/e2e-tests/build.test.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,26 @@ test.describe('CMSIS Solution Build Validation', () => {
143143

144144
await vsCodeDriver.page.openCmsisPanel();
145145
await vsCodeDriver.page.getCommands().runCommandFromPalette('CMSIS: Open Solution in Workspace');
146-
const firstWorkspaceItem = vsCodeDriver.page.getLocator('.quick-input-list .monaco-list-row').first();
147-
await firstWorkspaceItem.click();
146+
const quickPickList = vsCodeDriver.page.getLocator('.quick-input-list');
147+
let quickPickVisible = true;
148+
try {
149+
await quickPickList.waitFor({ state: 'visible', timeout: DEFAULT_TIMEOUT_MS });
150+
} catch {
151+
quickPickVisible = false;
152+
log('info', 'Workspace quick-pick did not appear; assuming workspace opened directly');
153+
}
154+
155+
if (quickPickVisible) {
156+
const quickPickRows = quickPickList.locator('.monaco-list-row');
157+
await expect.poll(async () => quickPickRows.count(), {
158+
timeout: DEFAULT_TIMEOUT_MS,
159+
intervals: [500, 1000, 2000]
160+
}).toBeGreaterThan(0);
161+
162+
const firstWorkspaceItem = quickPickRows.first();
163+
await firstWorkspaceItem.waitFor({ state: 'visible', timeout: DEFAULT_TIMEOUT_MS });
164+
await firstWorkspaceItem.click();
165+
}
148166

149167
try {
150168
// ==================== STEP 2: Wait for Tool Activation ====================

0 commit comments

Comments
 (0)