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

refactor!: Remove selenium package override #1555

Merged
merged 8 commits into from
Oct 27, 2021

Conversation

mykola-mokhnach
Copy link
Contributor

@mykola-mokhnach mykola-mokhnach commented Oct 27, 2021

Change list

It looks like it never gonna happen that the original WebDriver interface is changed, so I've decided to cut that off in a hard way and remove all the generic stuff from Appium drivers.

Similar changes have been done recently to the dotnet client, so I assume we are aligned in that area.

BREAKING CHANGE:

  • All AppiumDriver descendants are not generic anymore and work with WebElement interface only
  • DefaultGenericMobileElement class has been removed completely together with its descendants (MobileElement, IOSElement, etc). Use WebElement instead
  • DefaultGenericMobileDriver class has been removed. Now AppiumDriver is inherited directly from Selenium's RemoteWebDriver
  • Revamped mixins inheritance, so the base Appium driver does not extend ContextAware, Rotatable and other mobile-specific interfaces. Instead it only has the very basic set of methods and mobile specific extensions have been moved to IOSDriver and AndroidDriver, which makes sense from the perspective that, for example, WindowsDriver, should not have such extensions.
  • Removed the obsolete HasSessionDetails extensions as it was using legacy JWP calls to retrieve session details

Types of changes

  • 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)

@mykola-mokhnach mykola-mokhnach changed the title refactor!: Remove selenium package override [WIP] refactor!: Remove selenium package override Oct 27, 2021
… into kill_mobile_element

# Conflicts:
#	src/main/java/io/appium/java_client/internal/ElementMap.java
#	src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java
#	src/test/java/io/appium/java_client/android/AndroidElementTest.java
#	src/test/java/io/appium/java_client/android/AndroidSearchingTest.java
#	src/test/java/io/appium/java_client/android/AndroidTouchTest.java
#	src/test/java/io/appium/java_client/android/FingerPrintTest.java
#	src/test/java/io/appium/java_client/android/UIAutomator2Test.java
#	src/test/java/io/appium/java_client/appium/AndroidTest.java
#	src/test/java/io/appium/java_client/appium/element/generation/android/AndroidElementGeneratingTest.java
#	src/test/java/io/appium/java_client/appium/element/generation/ios/IOSElementGenerationTest.java
#	src/test/java/io/appium/java_client/ios/IOSElementTest.java
#	src/test/java/io/appium/java_client/ios/IOSTouchTest.java
@mykola-mokhnach mykola-mokhnach changed the title [WIP] refactor!: Remove selenium package override refactor!: Remove selenium package override Oct 27, 2021
Copy link
Collaborator

@valfirst valfirst left a comment

Choose a reason for hiding this comment

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

Does it make sense to switch from ecj to javac? or will it go in a separate PR?

@mykola-mokhnach
Copy link
Contributor Author

yes I will

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.

2 participants