Android 和 iOS 支援
分類
重點整理:我們將停用 Selenium 自己的 AndroidDriver 和 iPhoneDriver,轉而支持 Selendroid、iosdriver 和 Appium 中的任何一個。如果您正在使用 Selenium 自己的行動裝置驅動程式之一,請評估這些替代方案之一。
較長版本
在 2007 年,Steve Jobs 宣布了 iPhone,並將行動裝置網路從一種好奇事物轉變為主流人群想要和使用的東西。目前的趨勢表明,行動裝置網路使用量將在不久的將來超越桌上型電腦使用量。這意味著行動裝置網路將成為您網站未來的重要組成部分,並且在行動裝置上測試它們將是一個極其明智的想法。
Selenium 專案透過努力為 iOS 和 Android 生產 WebDriver 實作,來回應行動裝置網路的興起。iPhoneDriver(也適用於 iPad)的第一行程式碼在 2009 年初被添加到專案中。AndroidDriver 在 2010 年 6 月添加,主要由 Google 的工程師開發。時至今日,您仍然可以下載官方 Android SDK,並找到「Google WebDriver」作為您可以下載的可選附加組件之一。
在行動裝置驅動程式的初步工作完成後,發生了一些有趣的事情。驅動程式的實驗性擴展和修改在 Selenium 專案之外進行。我參與的第一個是「nativedriver」。這採用了一種新穎的方法,允許使用者使用熟悉的 WebDriver API 與手機的原生 UI 互動,無論是 Android 還是 iOS。當我第一次看到它時,我認為這太瘋狂了,但從事該工作的工程師很快讓我相信這是合理的。您猜怎麼著?他們是對的。
遺憾的是,在證明這個想法是可行和可行的之後,NativeDriver 專案就耗盡了動力,但它為三個專案奠定了基礎,這些專案採用了這個想法並加以發展,創造了非常強大的行動裝置測試軟體:Selendroid、iosdriver 和 Appium。這三者都允許熟悉 WebDriver API 的測試人員在 iOS 和 Android 上測試行動裝置應用程式。不僅是原生應用程式,還有混合或純粹基於網路的應用程式也是如此。最近,Windows Phone WebDriver 也加入了它們,它允許在 WinPhone 8 上測試行動裝置網路應用程式。
所有這些專案都有一個共同點:它們比主 Selenium 專案中的等效程式碼更活躍、功能更強大,並且推進得更遠。事實上,Selenium 團隊中為 AndroidDriver 和 iPhoneDriver 做出貢獻的一些成員現在也在從事這些其他專案。有人正在努力維護不同驅動程式之間的互操作性,允許使用者選擇最適合其需求的框架,而不必擔心他們的測試需要進行重大修改。
這意味著在 Selenium 專案中保留現有的 Android 和 iPhone 驅動程式對我們的使用者沒有幫助。替代方案更好,並且在專案中保留「官方」驅動程式會混淆視聽。更糟糕的是,Selenium 開發人員在修復這些驅動程式方面進展緩慢,這讓所有相關人員都感到非常沮喪。因此,Selenium 專案已從其儲存庫中刪除了這些驅動程式的程式碼,我們建議您評估並使用其中一種替代方案。
當然,程式碼仍然會保留在我們儲存庫的歷史記錄中,因此如果您想自己建構它們,仍然是可能的。包含 iPhoneDriver 的最後一個版本是 ef9d578,而包含 Android 原始碼的最後一個版本是 00a3c7d。我們已將從該修訂版本建構的 AndroidDriver 版本上傳到下載頁面,以節省您自己動手做的麻煩。
這些變更並不表示我們不支援行動裝置作為一個專案。這只是意味著我們支援行動裝置 WebDriver 的最佳實作,而這些實作並非作為 Selenium 專案的一部分編寫。




