feat: create driver option classes#1331
Merged
titusfortner merged 3 commits intoappium:masterappium/java-client:masterfrom Apr 6, 2020
Merged
feat: create driver option classes#1331titusfortner merged 3 commits intoappium:masterappium/java-client:masterfrom
titusfortner merged 3 commits intoappium:masterappium/java-client:masterfrom
Conversation
mykola-mokhnach
approved these changes
Apr 3, 2020
| * @return this MobileOptions, for chaining. | ||
| * @see org.openqa.selenium.remote.CapabilityType#PLATFORM_NAME | ||
| */ | ||
| public T setPlatformName(String platform) { |
Contributor
There was a problem hiding this comment.
this option is not just mobile, but is also applicable to other driver, like for example the Mac OS or Windows one. I was also thinking about what we could do with these. Perhaps, it makes sense to extract such common options into an interface with default method implementations (aka java-like mixin) and add this interface into concrete option classes for different platforms?
Contributor
Author
There was a problem hiding this comment.
Yeah, but of the 10 capabilities specified in the w3c, this is really the only one that applies to mobile, so I don't think it is worth spending time on the overlap.
SrinivasanTarget
approved these changes
Apr 3, 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change list
Types of changes
Details
Replacement PR for #1319
I've decided that it is too much of a pain to implement all of the options for Android & iOS.
All the subclasses will do is create the correct platform name. Any platform specific values will need to be added by a user with
setCapability().Again, the reasoning for this approach is it is similar to how Selenium encapsulates the capabilities for the driver specific options, and this will be a better thing to encourage users away from using
DesiredCapabilitieswhen that class gets deprecated.Also, should these be named
IOSOptionsandAndroidOptionsor does "Mobile" need to be in there?