一切都得從Selenium說起。
2004年,ThoughtWorks的Jason Huggins發起了Selenium項目。Selenium共經歷三個版本,2004年的1.0版,2006年的2.0版,2016年的3.0版。
1.0版的Selenium包括三個部分,Selenium IDE(插件,用於錄屏,並轉化代碼),Selenium Grid(擴展工具集)和Selenium RC(Remote Controller)。其中Selenium RC是主要部分。
Selenium基於javascript,爲了規避javascript在不同瀏覽器上可能引發的安全性問題,Selenium project與WebDriver project的合併,升級爲Selenium2.0,其中WebDriver與Selenium RC的角色類似,但爲了兼容性,2.0版本中並未將Selenium RC移除。
關於WebDriver Project的歷史,網上說的不多。它與Selenium的不同之處在於,WebDriver採用適配器的方式,與不同瀏覽器進行對接。因此,在使用時,需要下載不同版本的Driver。而與Selenium的合併,也解決了其自身的問題。例如,可以支持更多的開發語言,接入更多的瀏覽器。
Selenium與WebDriver合併後,Selenium2.0就等價爲WebDriver了,對於Selenium2.0的學習,其實是對WebDriver API的學習。
然後appium繼承webdriver,iosdriver、androiddriver繼承appium。