Add apple tvOS platform constant by ajeeshvl · Pull Request #1142 · appium/java-client
Change list
This is to add support for apple tvOS.
Types of changes
What types of changes are you proposing/introducing to Java client?
- 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
This adds tvOS platform.
tvOS also uses xcuitest-driver.
Related PRs
appium/appium-xcuitest-driver#911
appium/appium#12401
| extends AppiumDriver<T> | ||
| implements HidesKeyboardWithKeyName, HasIOSSettings, HasOnScreenKeyboard, | ||
| LocksDevice, FindsByIosNSPredicate<T>, FindsByIosClassChain<T>, | ||
| PushesFiles, CanRecordScreen, HasIOSClipboard { |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you check all of commands work? (just a confirmation.)
Clipboad does not work on this list.
For me it does not make sense to have a separate class, which, actually, adds nothing. We already had youidriver like that and removed it.
@mykola-mokhnach sounds good. Since AppiumDriver is not abstract, we can use that. Do you think, platform name tvOS can still be added in MobilePlatform class?
Do you think, platform name tvOS can still be added in MobilePlatform class?
Yes, this will be useful to have a constant for it
ajeeshvl
changed the title
Add apple tvOS driver support
Add apple tvOS platform constant
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks!
| String IOS = "iOS"; | ||
| String FIREFOX_OS = "FirefoxOS"; | ||
| String WINDOWS = "Windows"; | ||
| String TVOS = "tvOS"; |
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 have it inside AutomationName interface instead?
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I do not think so in this case.
It confuses users a bit since when we use tvOS, the capability should be like:
...
automationName: 'xcuites', # AutomationName.IOS_XCUI_TEST
platformName: 'tvOS' # AutomationName.IOS_TVOS vs MobilePlatform.TVOS (or APPLE_TVOS is proper?)
...
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unlike youiengine tvos uses xcuitest as automation name. I still think having a TVOSdriver would also be helpful. That would avoid confusion for users around what capability needs to be used for tvos.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would say not to have TVOSDriver class. We should just document what capability to use for TVOS.
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