Skip to content

Add Appium smoke tests for top-level menu items#18

Merged
Malcolmnixon merged 1 commit into
mainfrom
feature/appium-menu-coverage
Jul 23, 2026
Merged

Add Appium smoke tests for top-level menu items#18
Malcolmnixon merged 1 commit into
mainfrom
feature/appium-menu-coverage

Conversation

@Malcolmnixon

Copy link
Copy Markdown
Member

This pull request expands and refactors the integration test coverage for menu item accessibility in the desktop app. It adds new tests for additional menu items across the File, View, and Query menus, ensuring that each is discoverable and enabled via automation IDs. The test logic is also refactored for better maintainability by introducing a reusable helper method. Documentation is updated to reflect the expanded test coverage.

Test coverage expansion:

  • Added new tests to verify discoverability and enabled state for the following menu items: AddFolderSourceMenuItem (File menu), WorkspacePanelMenuItem, PredefinedViewsMenuItem, DiagnosticsMenuItem, ViewBuilderDialogMenuItem (View menu), and QueryDialogMenuItem (Query menu).
  • Updated the test list in appium.yaml to include these new menu item tests.

Test code refactoring:

  • Introduced a new helper method AssertMenuItemIsDiscoverableAndEnabled to consolidate repeated test logic, improving maintainability and reducing duplication.

Documentation updates:

  • Updated appium.md to describe the new tests and clarify their behavior, including rationale for not clicking menu items that open dialogs or change persistent UI state.

Extend MainWindowShellIntegrationTests with low-risk discoverability/enabled
coverage for menu items that already carry AutomationProperties.AutomationId
but had no Appium test yet:

- File > AddFolderSourceMenuItem
- View > WorkspacePanelMenuItem
- View > PredefinedViewsMenuItem
- View > DiagnosticsMenuItem
- View > ViewBuilderDialogMenuItem
- Query > QueryDialogMenuItem

Each test opens the parent menu, asserts the item is displayed and enabled,
then closes the menu via Escape without clicking - clicking would toggle
dock panels or open dialogs with no automation-id-based close path, which
would leave the shared AppFixture session in an inconsistent state between
tests. Extracted a private AssertMenuItemIsDiscoverableAndEnabled helper and
refactored the existing AddFileSourceMenuItem test to use it.

Updated docs/reqstream/ots/appium.yaml and docs/verification/ots/appium.md
to keep the Appium-LocateControlsByAutomationId requirement's test list and
verification narrative in sync with the six new tests.

Validated: dotnet build (0 errors); build.ps1 -IntegrationTest (9/9 passing
against a live NovaWindows Appium session); build.ps1 -Test (283 passing).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Malcolmnixon
Malcolmnixon merged commit 57ee7d9 into main Jul 23, 2026
7 checks passed
@Malcolmnixon
Malcolmnixon deleted the feature/appium-menu-coverage branch July 23, 2026 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant