Skip to content

test: add Android integration tests for IME engine queries - #1104

Open
Dor-bl wants to merge 1 commit into
appium:mainfrom
Dor-bl:test/android-ime-available-engines
Open

test: add Android integration tests for IME engine queries#1104
Dor-bl wants to merge 1 commit into
appium:mainfrom
Dor-bl:test/android-ime-available-engines

Conversation

@Dor-bl

@Dor-bl Dor-bl commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

GetIMEAvailableEngines had no test coverage anywhere in the suite. These tests exercise it against the emulator and assert the extracted engine ids are usable strings, plus that the active engine reported by GetIMEActiveEngine is one of the available ones.

Picked up by the existing FullyQualifiedName~Android filter in the functional test workflow, so no CI changes are needed.

List of changes

This pull request adds a new integration test class for Android IME (Input Method Editor) functionality. The new tests verify that the driver can correctly retrieve available IME engines and the currently active engine on an Android device.

New Android IME integration tests:

  • Added ImeTest class in test/integration/Android/ImeTest.cs to test IME functionality using the Appium Android driver.
    • Includes setup and teardown for driver initialization and cleanup.
    • Adds a test to verify that GetIMEAvailableEngines returns a non-empty list of installed IME engines.
    • Adds a test to ensure the active IME engine is among the available engines.

Types of changes

What types of changes are you proposing/introducing to the .NET client?
Put an x in the boxes that apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change that adds functionality or value)
  • Breaking change (fix or feature that would cause existing functionality not to work as expected)
  • Test fix (non-breaking change that improves test stability or correctness)
  • Chore/Maintenance (updates to build scripts, dependencies, or GitHub Actions)

Documentation

  • Have you proposed a file change/ PR with Appium to update documentation?

This can be done by navigating to the documentation section on http://appium.io selecting the appropriate command/endpoint and clicking the 'Edit this doc' link to update the C# example

Integration tests

  • Have you provided integration tests for your changes? (required for Bugfix, New feature, or Test fix)

Details

Please provide more details about changes if necessary. You can provide code samples showing how they work and possible use cases if there are new features. Also, you can create gists with pasted C# code samples or put them here using markdown.
About markdown please read Mastering markdown and Writing on GitHub

`GetIMEAvailableEngines` had no test coverage anywhere in the suite.
These tests exercise it against the emulator and assert the extracted
engine ids are usable strings, plus that the active engine reported by
`GetIMEActiveEngine` is one of the available ones.

Picked up by the existing `FullyQualifiedName~Android` filter in the
functional test workflow, so no CI changes are needed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Km7CV8oXuX8sZAsz9azssA
Copilot AI lite review requested due to automatic review settings August 19, 2026 20:37
@github-actions github-actions Bot added the Test label Aug 19, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Android integration test coverage for the Appium IME (Input Method Editor) APIs, ensuring GetIMEAvailableEngines and GetIMEActiveEngine are exercised against a real/emulated Android environment and validating basic invariants about the returned engine identifiers.

Changes:

  • Added a new Android integration test fixture validating GetIMEAvailableEngines returns a non-empty list of non-blank engine IDs.
  • Added an Android integration test asserting the active IME engine returned by GetIMEActiveEngine is included in the available engines list.
  • Added one-time setup/teardown to create and dispose an AndroidDriver session for these tests.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Dor-bl added a commit to Dor-bl/dotnet-client that referenced this pull request Aug 19, 2026
The template only offered "Test fix" for anything test related, so PRs
that add coverage for previously untested functionality (e.g. appium#1104) had
to be filed under a box describing stability fixes, and it asked whether
integration tests were provided for changes that *are* the tests.

- add a "New test coverage" type next to "Test fix"
- replace the "Integration tests" question with a "Tests" section that
  distinguishes unit from integration tests, asks how they run, and
  allows an explained "no automated tests"
- add "not applicable" to the documentation checklist
- document the conventional-commit title prefixes that labeler.yml and
  release-drafter derive labels, release notes and semver from
- add a "Related issue" line

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Co16HzbYRDPDjUh6zg1r1D
Dor-bl added a commit to Dor-bl/dotnet-client that referenced this pull request Aug 19, 2026
The template only offered "Test fix" for anything test related, so PRs
that add coverage for previously untested functionality (e.g. appium#1104) had
to be filed under a box describing stability fixes, and it asked whether
integration tests were provided for changes that *are* the tests.

- add a "New test coverage" type next to "Test fix"
- replace the "Integration tests" question with a "Tests" section that
  distinguishes unit from integration tests, asks how they run, and
  allows an explained "no automated tests"
- add "not applicable" to the documentation checklist
- document the conventional-commit title prefixes that labeler.yml and
  release-drafter derive labels, release notes and semver from
- add a "Related issue" line

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Co16HzbYRDPDjUh6zg1r1D
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants