File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 ====================
You can’t perform that action at this time.
0 commit comments