Android 和 iOS 支持
分类
总结:我们正在弃用 Selenium 自己的 AndroidDriver 和 iPhoneDriver,转而支持 Selendroid、iosdriver 和 Appium。如果您正在使用 Selenium 自己的移动驱动程序,请评估这些替代方案之一。
更详细的版本
2007年,史蒂夫·乔布斯发布了 iPhone,将移动网络从一种好奇心转变为主流用户想要和使用的东西。目前的趋势表明,在不久的将来,移动网络的使用量将超过桌面网络的使用量。这也就是说移动网络将成为您网站未来的重要组成部分,在移动设备上对其进行测试将是一个非常明智的想法。
Selenium 项目通过努力为 iOS 和 Android 生产 WebDriver 实现来响应移动网络的兴起。iPhoneDriver(也适用于 iPad)的第一行代码于 2009 年初添加到该项目中。AndroidDriver 于 2010 年 6 月添加,主要由 Google 的工程师开发。直到今天,您仍然可以下载官方 Android SDK 并找到“Google WebDriver”作为您可以下载的可选附加组件之一。
在移动驱动程序的初始工作之后,发生了一些有趣的事情。在 Selenium 项目之外对驱动程序进行了实验性的扩展和修改。我参与的第一个是“nativedriver”。它采用了一种新颖的方法,允许用户使用熟悉的 WebDriver API 与手机(无论是 Android 还是 iOS)的本机 UI 进行交互。当我第一次看到它时,我认为这是疯了,但是参与这项工作的工程师很快就说服了我,这是有道理的。你猜怎么着?他们是对的。
遗憾的是,在证明这个想法是可行和可操作的之后,NativeDriver 项目就停止了发展,但它为三个项目奠定了基础,这三个项目采纳了这个想法并利用它来创建非常强大的移动测试软件:Selendroid、iosdriver 和 Appium。所有这三个都允许熟悉 WebDriver API 的测试人员在 iOS 和 Android 上测试移动应用程序。不仅是原生的,还有混合的或纯粹的基于 Web 的应用程序。最近,Windows Phone WebDriver 也加入了它们的行列,它允许在 WinPhone 8 上测试移动 Web 应用程序。
所有这些项目都有一个共同点:它们比 Selenium 主项目中的等效代码更活跃、更强大,并且推动了更大的发展。事实上,一些为 AndroidDriver 和 iPhoneDriver 做出贡献的 Selenium 团队成员现在也在从事其他项目。正在努力在不同的驱动程序之间保持互操作性,允许用户选择最适合他们需求的框架,而不必担心他们的测试需要进行重大修改。
这意味着将现有的 Android 和 iPhone 驱动程序保留在 Selenium 项目中对我们的用户没有帮助。替代方案更好,并且在项目中保留“官方”驱动程序会混淆视听。更糟糕的是,Selenium 开发人员在修复这些驱动程序方面进展缓慢,这让所有相关人员都感到非常沮丧。因此,Selenium 项目已从其存储库中删除了这些驱动程序的代码,我们建议您评估并使用替代方案之一。
当然,代码仍然会保留在我们的代码仓库历史记录中,所以如果您想自己构建它们,仍然是可行的。带有 iPhoneDriver 的最后一个版本是 ef9d578,带有 Android 源代码的最后一个版本是 00a3c7d。我们已将从该修订版本构建的 AndroidDriver 版本上传到下载页面,以节省您自己构建的时间。
这些更改并不意味着我们不支持移动端作为项目。这仅仅意味着我们支持移动端 WebDriver 的最佳实现,而这些实现不是作为 Selenium 项目的一部分编写的。