为什么 Appium 使用 platformName 而不是 platform

Why does Appium use platformName instead of platform

Selenium 公开了 PLATFORM 功能:

Appium 的 MobileCapabilityType 扩展了 Selenium 的 CapabilityType 接口,但它没有使用 PLATFORM 功能,而是公开了 PLATFORM_NAME

尝试搜索为什么会这样,但找不到任何解释。这里有人知道原因吗?

好吧,现在没用了 PLATFORM_NAME 一直用到 appium java-client 1.7。从 2.0 开始,它只是在内部使用

来自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

为什么,他们在第一个版本 1.3 中使用了 Selenium 的平台,但是在 1.4 中一切都变了,他们决定制作自己的 capabilities 并考虑到 Appium 的未来

这是为了避免使用MAC平台在iOS台设备上测试的冲突

Coz Selenium 仅提供 ANDROIDMAC 作为平台,尽管您想在 iOS 上运行的 ios 设备上进行测试并且您必须设置 MAC作为平台[这将是奇数对]

现在您也可以将 Firefox 作为 platformName

Appium 是独立于 Selenium 的实体,他们不能要求 Selenium 添加平台作为 IOS them.So 我猜他们创建了自己的功能。