From 8da157569a82d293a5b2f9951d0aaf10318b37db Mon Sep 17 00:00:00 2001 From: Filip Pospisil Date: Mon, 7 Oct 2024 09:25:03 +0200 Subject: [PATCH] feat: new test for sprigbnnbotot + parametrised --- .../tests/remote.debug.on.openshift.test.ts | 57 ++++++++++++------- 1 file changed, 37 insertions(+), 20 deletions(-) diff --git a/src/ui-test/tests/remote.debug.on.openshift.test.ts b/src/ui-test/tests/remote.debug.on.openshift.test.ts index 29a721f..033e024 100644 --- a/src/ui-test/tests/remote.debug.on.openshift.test.ts +++ b/src/ui-test/tests/remote.debug.on.openshift.test.ts @@ -15,14 +15,14 @@ * limitations under the License. */ import * as path from 'path'; -import { ActivityBar, Breakpoint, DebugView, DefaultWait, EditorView, InputBox, SideBarView, TextEditor, VSBrowser, WebDriver } from "vscode-uitests-tooling"; +import { ActivityBar, BottomBarPanel, Breakpoint, DebugView, DefaultWait, EditorView, InputBox, SideBarView, TextEditor, VSBrowser, WebDriver } from "vscode-uitests-tooling"; import { assert } from 'chai'; import { addNewItemToRawJson, clearTerminal, deleteFolderContents, disconnectDebugger, executeCommand, killTerminal, waitUntilEditorIsOpened, waitUntilTerminalHasText } from '../utils'; import { DEMO_FILE, QUARKUS_ATTACH_DEBUGGER, QUARKUS_CREATE_COMMAND, QUARKUS_DIR, QUARKUS_PROJECT_FOLDER, SPRINGBOOT_ATTACH_DEBUGGER, SPRINGBOOT_CREATE_COMMAND, SPRINGBOOT_DIR, SPRINGBOOT_PROJECT_FOLDER } from '../variables'; describe.only('Remote debug on OpenShift', function () { - this.timeout(600000); + this.timeout(1200000); let driver: WebDriver; let textEditor: TextEditor; @@ -41,39 +41,46 @@ describe.only('Remote debug on OpenShift', function () { await DefaultWait.sleep(10000); driver = VSBrowser.instance.driver; - VSBrowser.instance.takeScreenshot('spring0'); + //VSBrowser.instance.takeScreenshot('spring0'); await createCamelRoute(driver, "Demo"); - VSBrowser.instance.takeScreenshot('spring1'); + //VSBrowser.instance.takeScreenshot('spring1'); await createProject(driver, SPRINGBOOT_CREATE_COMMAND) - VSBrowser.instance.takeScreenshot('spring2'); + //VSBrowser.instance.takeScreenshot('spring2'); // open file await VSBrowser.instance.openResources(path.join(SPRINGBOOT_PROJECT_FOLDER, DEMO_FILE)); - VSBrowser.instance.takeScreenshot('spring3'); + //VSBrowser.instance.takeScreenshot('spring3'); // set breakpoint textEditor = new TextEditor(); await driver.wait(async function () { return await textEditor.toggleBreakpoint(15); }, 5000); - VSBrowser.instance.takeScreenshot('spring4'); + //VSBrowser.instance.takeScreenshot('spring4'); // open debug view const debugView = await openDebugView(); - VSBrowser.instance.takeScreenshot('spring5'); + //VSBrowser.instance.takeScreenshot('spring5'); // validate configuration and start debug assert.isTrue(await validateLaunchConfiguration(debugView, SPRINGBOOT_ATTACH_DEBUGGER)); - VSBrowser.instance.takeScreenshot('spring6'); + //VSBrowser.instance.takeScreenshot('spring6'); await startDebugSession(debugView,SPRINGBOOT_ATTACH_DEBUGGER); - VSBrowser.instance.takeScreenshot('spring7'); + //VSBrowser.instance.takeScreenshot('spring7'); + + //await DefaultWait.sleep(30000); + + const terminalView = await new BottomBarPanel().openTerminalView(); + console.log("SB1 " + await terminalView.getText()); // check breakpoint is hitted const breakpoint = await waitForBreakpointPause(driver, textEditor); - VSBrowser.instance.takeScreenshot('spring8'); + + //VSBrowser.instance.takeScreenshot('spring8'); + assert.isTrue(await breakpoint.isPaused()); }); }); @@ -91,15 +98,15 @@ describe.only('Remote debug on OpenShift', function () { it(`Quarkus`, async function () { await DefaultWait.sleep(10000); driver = VSBrowser.instance.driver; - VSBrowser.instance.takeScreenshot('quarkus0'); + //VSBrowser.instance.takeScreenshot('quarkus0'); await createCamelRoute(driver, "Demo"); - VSBrowser.instance.takeScreenshot('quarkus1'); + //VSBrowser.instance.takeScreenshot('quarkus1'); await createProject(driver, QUARKUS_CREATE_COMMAND); - VSBrowser.instance.takeScreenshot('quarkus2'); + //VSBrowser.instance.takeScreenshot('quarkus2'); // open file await VSBrowser.instance.openResources(path.join(QUARKUS_PROJECT_FOLDER, DEMO_FILE)); - VSBrowser.instance.takeScreenshot('quarkus3'); + //VSBrowser.instance.takeScreenshot('quarkus3'); // set breakpoint textEditor = new TextEditor(); @@ -107,16 +114,21 @@ describe.only('Remote debug on OpenShift', function () { return await textEditor.toggleBreakpoint(12); }, 5000); - VSBrowser.instance.takeScreenshot('quarkus4'); + //VSBrowser.instance.takeScreenshot('quarkus4'); // open debug view const debugView = await openDebugView(); - VSBrowser.instance.takeScreenshot('quarkus5'); + //VSBrowser.instance.takeScreenshot('quarkus5'); // validate configuration and start debug assert.isTrue(await validateLaunchConfiguration(debugView, QUARKUS_ATTACH_DEBUGGER)); - VSBrowser.instance.takeScreenshot('quarkus6'); + //VSBrowser.instance.takeScreenshot('quarkus6'); await startDebugSession(debugView,QUARKUS_ATTACH_DEBUGGER); - VSBrowser.instance.takeScreenshot('quarkus7'); + //VSBrowser.instance.takeScreenshot('quarkus7'); + + //await DefaultWait.sleep(30000); + + const terminalView = await new BottomBarPanel().openTerminalView(); + console.log("QR1 " + await terminalView.getText()); // check breakpoint is hitted const breakpoint = await waitForBreakpointPause(driver, textEditor); @@ -254,7 +266,12 @@ async function startDebugSession(debugView: DebugView, configName: string): Prom * @param interval The intervalto check for the breakpoint pause. Default is 500ms. * @returns */ -async function waitForBreakpointPause(driver: WebDriver, textEditor: TextEditor, timeout: number = 30000, interval: number = 500): Promise { +async function waitForBreakpointPause(driver: WebDriver, textEditor: TextEditor, timeout: number = 300000, interval: number = 500): Promise { + + const terminalView = await new BottomBarPanel().openTerminalView(); + console.log("WFB " + await terminalView.getText()); + + const breakpoint = await driver.wait(async () => { return await textEditor.getPausedBreakpoint(); }, timeout, undefined, interval) as Breakpoint;