Selenium RC和WebDriver的區別?


Selenium RC(遠端控制)和WebDriver在許多方面有所不同,但關鍵區別在於實現層,或者簡單來說,是它們的架構。

顧名思義,RC是遠端控制,它透過遠端控制瀏覽器,然後透過注入編寫的自定義指令碼將自動化程式碼注入到被測試的瀏覽器中。而WebDriver直接作用於瀏覽器,並使用瀏覽器的內建功能來觸發測試人員編寫的自動化測試。WebDriver是遠端控制的繼任者。

這兩個框架都有共同的功能,包括在測試用例設計中使用程式語言,因為這兩個框架都允許我們使用多種程式語言來開發自動化測試指令碼,這簡化了測試人員的工作,因為他們可以使用自己選擇的語言進行程式設計。不僅如此,這兩個框架都可以與多個瀏覽器一起使用來執行測試用例。

從效率的角度來看,由於其架構優勢,我們可以說WebDriver比Selenium RC更快。

如果從報告的角度來看,RC具有一定的優勢,因為它為使用者提供自動化生成的測試結果HTML檔案,而WebDriver則沒有此功能。但這不必擔心,因為我們有一些像TestNG這樣的優秀庫可以幫助我們實現相同的功能。

在無頭瀏覽器或HTMLUnit瀏覽器上進行測試

WebDriver的另一個優勢是它可以在HTMLUnit瀏覽器上使用(HTMLUnit瀏覽器是無頭瀏覽器,這意味著它們對使用者不可見,簡單來說,它們沒有GUI),由於這些原因,在HTMLUnit瀏覽器上進行測試更快,因為這些瀏覽器節省了載入頁面元素所需的時間。這導致測試用例的執行時間更短。

總而言之,以下是兩者之間的區別:

  • Selenium RC使用Selenium RC伺服器與瀏覽器互動。它在網頁載入時將JavaScript函式注入瀏覽器。而WebDriver則使用瀏覽器的內建支援直接與瀏覽器通訊。

  • 由於WebDriver從作業系統級別控制瀏覽器,因此它比Selenium RC更快。

  • WebDriver具有更簡單、更使用者友好的命令。

  • WebDriver可以支援HtmlUnit,而Selenium RC則不能。HtmlUnit作為無頭瀏覽器,頁面載入時間極短,因此可以加快執行週期。

  • WebDriver無法支援新的瀏覽器。新瀏覽器的配置需要在下一個WebDriver版本中實現。而Selenium RC則沒有此限制。

  • WebDriver無法透過任何內建命令自動生成測試結果檔案,而Selenium RC會自動生成測試結果的HTML檔案。

更新於:2019年7月30日

494 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告