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

[java] Add ability to decorate child classes of WebDriver #10737

Conversation

valfirst
Copy link
Contributor

@valfirst valfirst commented Jun 6, 2022

Description

The changes enable decoration of custom WebDriver implementations.

Motivation and Context

Relates appium/java-client#1694

Types of changes

  • Bug fix (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 change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@codecov-commenter
Copy link

codecov-commenter commented Jun 6, 2022

Codecov Report

Merging #10737 (d77b653) into trunk (0a2a4a9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            trunk   #10737   +/-   ##
=======================================
  Coverage   50.42%   50.42%           
=======================================
  Files          84       84           
  Lines        5475     5475           
  Branches      278      278           
=======================================
  Hits         2761     2761           
  Misses       2436     2436           
  Partials      278      278           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a6b161a...d77b653. Read the comment docs.

@diemol
Copy link
Member

diemol commented Jun 13, 2022

Thanks for this PR, we will have a look in depth soon, since it is a sizeable change.

Copy link
Contributor

@pujagani pujagani left a comment

Choose a reason for hiding this comment

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

I have gone through the PR in detail. Overall logic seems right on the looks of it and I understand the use-case the changes are trying to accomplish. I am expressing my concern about merging this and further releasing this. I tried importing the changes into an existing project. It is not a breaking change but existing users will see an inspection message that says "Raw use of parameterized class 'WebDriverDecorator". So to avoid that, they will need to make a small update to their existing code. I will check with the selenium-tlc members about how we handle introducing such changes. But I think this is a candidate for a major release.

@valfirst valfirst force-pushed the add-ability-to-decorate-child-classes-of-webdriver branch from 81e80f3 to 0359571 Compare June 24, 2022 15:40
@valfirst valfirst force-pushed the add-ability-to-decorate-child-classes-of-webdriver branch from 0359571 to fa15dd8 Compare June 24, 2022 15:41
@valfirst valfirst requested a review from pujagani June 26, 2022 15:28
Copy link
Contributor

@pujagani pujagani left a comment

Choose a reason for hiding this comment

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

@valfirst Thank you for your contribution! Appreciate it.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Jul 6, 2022

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

Copy link
Member

@diemol diemol left a comment

Choose a reason for hiding this comment

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

Thank you, @valfirst!

@diemol diemol merged commit fb4df66 into SeleniumHQ:trunk Jul 6, 2022
@kirannailwal1
Copy link

kirannailwal1 commented Jul 19, 2022

@diemol @pujagani
Can you please confirm on which version this issue will be resolved.
As we are still facing issue : java.lang.ClassCastException: net.bytebuddy.renamed.java.lang.Object$ByteBuddy$F6Ow9062 cannot be cast to io.appium.java_client.android.AndroidDriver

org.seleniumhq.selenium :4.3.0
java-client :8.1.1
appium version : 1.22.3
node version : v16.16.0

@diemol
Copy link
Member

diemol commented Jul 19, 2022

4.4.0, should be released first week of August.

@valfirst valfirst deleted the add-ability-to-decorate-child-classes-of-webdriver branch July 19, 2022 11:21
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.

5 participants