From f8fd9ca3486f65a4c36ad2ed7fa2fc0c6725cb7e Mon Sep 17 00:00:00 2001 From: Morgan Chang Date: Thu, 18 Dec 2025 16:56:48 -0500 Subject: [PATCH 1/9] await for progress bar to disappear --- test/ui-test/extensionUITest.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/ui-test/extensionUITest.ts b/test/ui-test/extensionUITest.ts index d3243751..de7fbfa5 100644 --- a/test/ui-test/extensionUITest.ts +++ b/test/ui-test/extensionUITest.ts @@ -26,7 +26,7 @@ export function extensionUIAssetsTest(): void { driver = VSBrowser.instance.driver; view = await new ActivityBar().getViewControl('Extensions'); sideBar = await view.openView(); - driver.wait( + await driver.wait( async () => !(await sideBar.getContent().hasProgress()), 5000, "Progress bar hasn't been hidden within the timeout" From 54954392fc8aadc29af79bae418359357b3b8d76 Mon Sep 17 00:00:00 2001 From: Morgan Chang Date: Thu, 18 Dec 2025 17:48:39 -0500 Subject: [PATCH 2/9] Update customTagsTest.ts --- test/ui-test/customTagsTest.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/test/ui-test/customTagsTest.ts b/test/ui-test/customTagsTest.ts index 486a0757..c419dc89 100644 --- a/test/ui-test/customTagsTest.ts +++ b/test/ui-test/customTagsTest.ts @@ -37,7 +37,21 @@ export function customTagsTest(): void { await hardDelay(2000); const textSettingsEditor = (await editorView.openEditor('settings.json')) as TextEditor; if (process.platform === 'darwin') { - await driver.actions().sendKeys(' "customTag1"').perform(); + const fullText = await textSettingsEditor.getText(); + const lines = fullText.split('\n'); + + // find the line with "yaml.customTags" + let targetLine = -1; + for (let i = 0; i < lines.length; i++) { + if (lines[i].includes('"yaml.customTags"') && lines[i].includes('[')) { + targetLine = i + 2; // position on the line after the opening bracket + break; + } + } + if (targetLine === -1) { + expect.fail('Could not find yaml.customTags in settings.json'); + } + await textSettingsEditor.typeTextAt(targetLine, 5, ' "customTag1"'); } else { const coor = await textSettingsEditor.getCoordinates(); await textSettingsEditor.typeTextAt(coor[0], coor[1], ' "customTag1"'); From 29c34e861be1f9aa58c939344f734e1f272198a2 Mon Sep 17 00:00:00 2001 From: Morgan Chang Date: Thu, 18 Dec 2025 17:55:54 -0500 Subject: [PATCH 3/9] Update extensionUITest.ts --- test/ui-test/extensionUITest.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/ui-test/extensionUITest.ts b/test/ui-test/extensionUITest.ts index de7fbfa5..0f51152b 100644 --- a/test/ui-test/extensionUITest.ts +++ b/test/ui-test/extensionUITest.ts @@ -22,7 +22,7 @@ export function extensionUIAssetsTest(): void { let yamlItem: ExtensionsViewItem; before(async function () { - this.timeout(20000); + this.timeout(30000); driver = VSBrowser.instance.driver; view = await new ActivityBar().getViewControl('Extensions'); sideBar = await view.openView(); From dc1f3a009d401ade761d10c70d8cacf5a2cb474e Mon Sep 17 00:00:00 2001 From: Morgan Chang Date: Thu, 18 Dec 2025 18:05:44 -0500 Subject: [PATCH 4/9] Update extensionUITest.ts --- test/ui-test/extensionUITest.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/ui-test/extensionUITest.ts b/test/ui-test/extensionUITest.ts index 0f51152b..748a25bf 100644 --- a/test/ui-test/extensionUITest.ts +++ b/test/ui-test/extensionUITest.ts @@ -28,7 +28,7 @@ export function extensionUIAssetsTest(): void { sideBar = await view.openView(); await driver.wait( async () => !(await sideBar.getContent().hasProgress()), - 5000, + 10000, "Progress bar hasn't been hidden within the timeout" ); section = (await sideBar.getContent().getSection('Installed')) as ExtensionsViewSection; @@ -43,7 +43,7 @@ export function extensionUIAssetsTest(): void { }); it('YAML extension is installed', async function () { - this.timeout(5000); + this.timeout(10000); expect(yamlItem).not.undefined; let author: string; let name: string; From e1670cd3937e8d76c9537adacec428e46ca6a0a8 Mon Sep 17 00:00:00 2001 From: Morgan Chang Date: Thu, 18 Dec 2025 18:23:59 -0500 Subject: [PATCH 5/9] Update extensionUITest.ts --- test/ui-test/extensionUITest.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/test/ui-test/extensionUITest.ts b/test/ui-test/extensionUITest.ts index 748a25bf..deb43778 100644 --- a/test/ui-test/extensionUITest.ts +++ b/test/ui-test/extensionUITest.ts @@ -22,7 +22,7 @@ export function extensionUIAssetsTest(): void { let yamlItem: ExtensionsViewItem; before(async function () { - this.timeout(30000); + this.timeout(40000); driver = VSBrowser.instance.driver; view = await new ActivityBar().getViewControl('Extensions'); sideBar = await view.openView(); @@ -31,13 +31,22 @@ export function extensionUIAssetsTest(): void { 10000, "Progress bar hasn't been hidden within the timeout" ); + // wait a bit for sections to load + await new Promise((resolve) => setTimeout(resolve, 3000)); section = (await sideBar.getContent().getSection('Installed')) as ExtensionsViewSection; await section.expand(); yamlItem = await driver.wait( async () => { return await section.findItem(`@installed ${YamlConstants.YAML_NAME}`); }, - 5000, + 15000, + 'There were not visible items available under installed section' + ); + yamlItem = await driver.wait( + async () => { + return await section.findItem(`@installed ${YamlConstants.YAML_NAME}`); + }, + 10000, 'There were not visible items available under installed section' ); }); From abd7d81c137064b4e74a97be053cc2c6edc8e0f0 Mon Sep 17 00:00:00 2001 From: Morgan Chang Date: Thu, 18 Dec 2025 18:36:14 -0500 Subject: [PATCH 6/9] Update extensionUITest.ts --- test/ui-test/extensionUITest.ts | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/test/ui-test/extensionUITest.ts b/test/ui-test/extensionUITest.ts index deb43778..a7cb13eb 100644 --- a/test/ui-test/extensionUITest.ts +++ b/test/ui-test/extensionUITest.ts @@ -33,15 +33,28 @@ export function extensionUIAssetsTest(): void { ); // wait a bit for sections to load await new Promise((resolve) => setTimeout(resolve, 3000)); - section = (await sideBar.getContent().getSection('Installed')) as ExtensionsViewSection; - await section.expand(); - yamlItem = await driver.wait( + section = await driver.wait( async () => { - return await section.findItem(`@installed ${YamlConstants.YAML_NAME}`); + try { + const content = sideBar.getContent(); + try { + const sec = (await content.getSection('Installed')) as ExtensionsViewSection; + return sec; + } catch { + // ignore and fall back below + } + + // pick the first available section + const sections = await content.getSections(); + return (sections?.[0] as ExtensionsViewSection) ?? null; + } catch { + return null; + } }, 15000, - 'There were not visible items available under installed section' + 'Could not find extensions section' ); + await section.expand(); yamlItem = await driver.wait( async () => { return await section.findItem(`@installed ${YamlConstants.YAML_NAME}`); From 77212942ce651b5af83830523147e4974a1c9a72 Mon Sep 17 00:00:00 2001 From: Morgan Chang Date: Thu, 18 Dec 2025 18:49:46 -0500 Subject: [PATCH 7/9] Update extensionUITest.ts --- test/ui-test/extensionUITest.ts | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/test/ui-test/extensionUITest.ts b/test/ui-test/extensionUITest.ts index a7cb13eb..bd944f66 100644 --- a/test/ui-test/extensionUITest.ts +++ b/test/ui-test/extensionUITest.ts @@ -22,7 +22,7 @@ export function extensionUIAssetsTest(): void { let yamlItem: ExtensionsViewItem; before(async function () { - this.timeout(40000); + this.timeout(30000); driver = VSBrowser.instance.driver; view = await new ActivityBar().getViewControl('Extensions'); sideBar = await view.openView(); @@ -37,16 +37,19 @@ export function extensionUIAssetsTest(): void { async () => { try { const content = sideBar.getContent(); - try { - const sec = (await content.getSection('Installed')) as ExtensionsViewSection; - return sec; - } catch { - // ignore and fall back below - } - - // pick the first available section const sections = await content.getSections(); - return (sections?.[0] as ExtensionsViewSection) ?? null; + for (const sectionName of ['Installed', 'INSTALLED', 'installed']) { + try { + const sec = await content.getSection(sectionName); + if (sec) return sec as ExtensionsViewSection; + } catch { + // try next name + } + } + if (sections.length > 0) { + return sections[0] as ExtensionsViewSection; + } + return null; } catch { return null; } From a83aff02137a024645a152ca7f2831bfba91ec91 Mon Sep 17 00:00:00 2001 From: Morgan Chang Date: Thu, 18 Dec 2025 22:33:32 -0500 Subject: [PATCH 8/9] increase timeout --- test/ui-test/contentAssistTest.ts | 6 +++--- test/ui-test/customTagsTest.ts | 6 +++--- test/ui-test/extensionUITest.ts | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/test/ui-test/contentAssistTest.ts b/test/ui-test/contentAssistTest.ts index 5e94d624..7aec8d06 100644 --- a/test/ui-test/contentAssistTest.ts +++ b/test/ui-test/contentAssistTest.ts @@ -16,16 +16,16 @@ export function contentAssistSuggestionTest(): void { const yamlFilePath = path.join(homeDir, yamlFileName); before(async function setup() { - this.timeout(20000); + this.timeout(80000); driver = VSBrowser.instance.driver; editor = await createCustomFile(yamlFilePath); await driver.wait(async () => { return await getSchemaLabel(yamlFileName); - }, 18000); + }, 45000); }); it('Content assist suggests right suggestion', async function () { - this.timeout(15000); + this.timeout(45000); editor = new TextEditor(); await editor.setText('api'); const contentAssist = await editor.toggleContentAssist(true); diff --git a/test/ui-test/customTagsTest.ts b/test/ui-test/customTagsTest.ts index c419dc89..57ec7769 100644 --- a/test/ui-test/customTagsTest.ts +++ b/test/ui-test/customTagsTest.ts @@ -18,17 +18,17 @@ export function customTagsTest(): void { let editorView: EditorView; before(async function setup() { - this.timeout(20000); + this.timeout(80000); driver = VSBrowser.instance.driver; editorView = new EditorView(); await createCustomFile(yamlFilePath); await driver.wait(async () => { return await getSchemaLabel(yamlFileName); - }, 18000); + }, 45000); }); it('YAML custom tags works as expected', async function () { - this.timeout(30000); + this.timeout(60000); const settingsEditor = await new Workbench().openSettings(); const setting = await settingsEditor.findSetting('Custom Tags', 'Yaml'); diff --git a/test/ui-test/extensionUITest.ts b/test/ui-test/extensionUITest.ts index bd944f66..35f42ac0 100644 --- a/test/ui-test/extensionUITest.ts +++ b/test/ui-test/extensionUITest.ts @@ -22,17 +22,17 @@ export function extensionUIAssetsTest(): void { let yamlItem: ExtensionsViewItem; before(async function () { - this.timeout(30000); + this.timeout(100000); driver = VSBrowser.instance.driver; view = await new ActivityBar().getViewControl('Extensions'); sideBar = await view.openView(); await driver.wait( async () => !(await sideBar.getContent().hasProgress()), - 10000, + 30000, "Progress bar hasn't been hidden within the timeout" ); // wait a bit for sections to load - await new Promise((resolve) => setTimeout(resolve, 3000)); + await new Promise((resolve) => setTimeout(resolve, 10000)); section = await driver.wait( async () => { try { @@ -54,7 +54,7 @@ export function extensionUIAssetsTest(): void { return null; } }, - 15000, + 40000, 'Could not find extensions section' ); await section.expand(); @@ -62,7 +62,7 @@ export function extensionUIAssetsTest(): void { async () => { return await section.findItem(`@installed ${YamlConstants.YAML_NAME}`); }, - 10000, + 20000, 'There were not visible items available under installed section' ); }); From a7e137146be4ac3a44adaa9990f2377baffc5d3a Mon Sep 17 00:00:00 2001 From: Morgan Chang Date: Thu, 18 Dec 2025 22:44:22 -0500 Subject: [PATCH 9/9] Update extensionUITest.ts --- test/ui-test/extensionUITest.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/ui-test/extensionUITest.ts b/test/ui-test/extensionUITest.ts index 35f42ac0..db1dd868 100644 --- a/test/ui-test/extensionUITest.ts +++ b/test/ui-test/extensionUITest.ts @@ -87,7 +87,8 @@ export function extensionUIAssetsTest(): void { expect(author).to.equal('Red Hat'); }); - after(async () => { + after(async function () { + this.timeout(5000); if (sideBar && (await sideBar.isDisplayed()) && view) { await view.closeView(); }