From cb8ee3cf30a4c44361705d43e13635ad14a61de8 Mon Sep 17 00:00:00 2001 From: wenytang-ms Date: Mon, 11 May 2026 09:38:02 +0800 Subject: [PATCH] ci: add autotest cases --- .github/workflows/pr-ui-autotest.yml | 51 +++++++++++++++++++ test-plans/java-pack-help-center-webview.yaml | 38 ++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 .github/workflows/pr-ui-autotest.yml create mode 100644 test-plans/java-pack-help-center-webview.yaml diff --git a/.github/workflows/pr-ui-autotest.yml b/.github/workflows/pr-ui-autotest.yml new file mode 100644 index 00000000..d8c54db3 --- /dev/null +++ b/.github/workflows/pr-ui-autotest.yml @@ -0,0 +1,51 @@ +name: PR UI AutoTest + +on: + pull_request: + branches: + - main + workflow_dispatch: + +permissions: + contents: read + +jobs: + ui-test: + runs-on: windows-latest + timeout-minutes: 30 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '22' + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Build extension + run: npm run build + + - name: Package PR VSIX + run: npx @vscode/vsce@latest package -o extension.vsix + + - name: Install autotest CLI + run: npm install -g @vscjava/vscode-autotest + + - name: Run Help Center webview UI test + shell: pwsh + run: | + $vsixPath = Join-Path (Get-Location) "extension.vsix" + autotest run test-plans\java-pack-help-center-webview.yaml --vsix $vsixPath --no-llm + + - name: Upload UI test results + if: always() + uses: actions/upload-artifact@v4 + with: + name: pr-ui-autotest-results + path: test-results/ + retention-days: 30 diff --git a/test-plans/java-pack-help-center-webview.yaml b/test-plans/java-pack-help-center-webview.yaml new file mode 100644 index 00000000..7023d3f6 --- /dev/null +++ b/test-plans/java-pack-help-center-webview.yaml @@ -0,0 +1,38 @@ +# Test Plan: Java Extension Pack - Help Center webview +# +# Covers the React/vscode-elements webview migration by opening the local +# vscode-java-pack Help Center and verifying key content from inside the webview. +# +# Usage after packaging vscode-java-pack: +# npx autotest run test-plans\java-pack-help-center-webview.yaml --vsix extension.vsix --no-llm + +name: "Java Extension Pack - Help Center Webview" +description: | + Opens the Java Help Center webview from the installed vscode-java-pack VSIX + and verifies that the migrated React webview renders its main sections. + +setup: + extension: "redhat.java" + vscodeVersion: "stable" + timeout: 60 + settings: + java.help.showReleaseNotes: false + java.help.firstView: "none" + +steps: + - id: "open-help-center" + action: "executeVSCodeCommand java.welcome" + verifyEditorTab: + title: "Java Help Center" + timeout: 20 + + - id: "verify-help-center-content" + action: "wait 2 seconds" + verifyWebview: + contains: + - "Java Help Center" + - "Get Started" + - "Create a New Project" + - "Configure Java Runtime" + - "Open Java Settings" + timeout: 20