atlantis
atlantis

Reputation: 837

Why does Appium use platformName instead of platform

Selenium exposes a PLATFORM capability:

Appium's MobileCapabilityType extends Selenium's CapabilityType interface but instead of using the PLATFORM capability, it exposes PLATFORM_NAME:

Tried searching why this is the case but couldn't find any explanation. Does anyone here know the reason?

Upvotes: 1

Views: 1440

Answers (1)

Madhan
Madhan

Reputation: 5818

Well that's not used Nowadays PLATFORM_NAME was used till appium java-client 1.7. From 2.0 it's just used internally

From ReadME

AppiumDriver is now an abstract class, use IOSDriver and AndroidDriver which both extend it. You no longer need to include the PLATFORM_NAME desired capability since it's automatic for each class. Thanks to @TikhomirovSergey for all their work

And for why, they were using Selenium's Platform in the first version 1.3 but then everything changed in the 1.4 where they decide to make their own capabilities with the future of Appium in their mind

This is to avoid the conflict of using MAC platform to test on iOS devices

Coz Selenium provided only ANDROID and MAC as platforms and though you want to test on ios devices which runs on iOS and you have to set MAC as platform [which will be odd right]

Now you can have Firefox as platformName as well

And Appium is a seperate entity from Selenium and they can't ask Selenium to add a Platform as IOS for them.So They created their own capability I guess.

Upvotes: 3

Related Questions