Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support for FlutterAndroidDriver #2203

Merged
merged 16 commits into from
Jul 23, 2024

Conversation

sudharsan-selvaraj
Copy link
Contributor

@sudharsan-selvaraj sudharsan-selvaraj commented Jul 22, 2024

Change list

  1. Introduces FlutterAndroidDriver class implementing specific Flutter commands(partial).
  • waitForVisible
  • waitForInvisible
  • scrollTillVisible
  1. Includes new tests and pipeline updates for running Flutter tests.
  2. Note: Changes for IosDriver along with remaining commands will follow in a separate PR.

Types of changes

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

  • No changes in production code.
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Details

Please provide more details about changes if it is necessary. If there are new features you can provide code samples which show the way they
work and possible use cases. Also you can create gists with pasted java code samples or put them here using markdown.
About markdown please read Mastering markdown and Writing on GitHub

Sorry, something went wrong.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
@@ -206,7 +206,7 @@ public static By iOSNsPredicateString(final String iOSNsPredicateString) {
* @param selector is the value defined to the key attribute of the flutter element
* @return an instance of {@link AppiumBy.ByFlutterKey}
*/
public static By flutterKey(final String selector) {
public static FlutterBy flutterKey(final String selector) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

why are these changes needed?

Copy link
Contributor Author

@sudharsan-selvaraj sudharsan-selvaraj Jul 22, 2024

Choose a reason for hiding this comment

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

Currenlty all flutter script can only work with locators supported by flutter driver. This change is specifically introduced the simplify the API consumption and to prevent the manual type casting when calling the commands.

driver.waitForInVisible(new WaitParameter().setLocator(AppiumBy.flutterKey("message_field")));

Instead of

driver.waitForInVisible(new WaitParameter().setLocator((AppiumBy.FlutterBy)AppiumBy.flutterKey("message_field")));

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
@SrinivasanTarget SrinivasanTarget merged commit 7f28bfb into appium:master Jul 23, 2024
6 checks passed
@KazuCocoa KazuCocoa added the size:M contribution size: M label Sep 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:M contribution size: M
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants