Selenium WebDriver原理(一):Selenium WebDriver 是怎麼工做的?

首先咱們來看一個經典的例子: 搭出租車


在出租車駕駛中,一般有3個角色:html

  • 乘客 : 他告訴出租車司機他想去哪裏以及如何到達那裏
對出租車司機說:
一、去陽光棕櫚園東門
二、從這裏轉左
三、而後直行 200米,第一個紅綠燈右轉
四、再直行 50米,到陽光棕櫚園東門
五、停車
  • 出租車司機 : 他按照客戶的要求; 出租車司機使用方向盤和汽車踏板駕駛汽車送乘客去目的地
出租車司機操做汽車:
一、插鑰匙點火,啓動汽車引擎
二、開一小段路後左轉
三、加速,直行200米
四、右轉,直行50米
五、減速停車,到達陽光棕櫚園東門
  • 汽車 : 汽車執行出租車司機的操做
一、啓動引擎
二、左轉
三、直行
四、右轉
五、停車

在使用Selenium WebDriver的測試自動化中,有3個角色

  • 編寫自動化代碼的測試工程師 : 運行自動化代碼將請求發送到瀏覽器驅動
告訴瀏覽器 :
一、打開 www.abc.com
二、作一個關鍵字搜索 selenium
三、檢查實際結果,與預期結果作比較
  • 瀏覽器驅動 : 它執行測試工程師的請求,而後它向瀏覽器發送請求
告訴瀏覽器 :
一、給我打開這個頁面 www.abc.com
二、當textbox顯示可見,保存這個web element
三、操做textbox這個對象,輸入selenium
四、當確認按鈕能夠點擊,保存這個web element對象
五、點擊這個按鈕對象
  • 瀏覽器 : 它執行瀏覽器驅動的請求
一、打開www.abc.com
二、找到搜索框textbox,輸入selenium
三、點擊搜索按鈕
四、展現搜索結果

作一個類比:

  • 測試工程師就像客戶
  • 瀏覽器驅動就像一個出租車司機
  • 瀏覽器就像一輛車租車

image

執行自動化腳本,會執行如下步驟:

  • 對於每一個Selenium命令,都會建立一個HTTP請求並將其發送到瀏覽器驅動程序
  • 瀏覽器驅動使用HTTP服務器來獲取HTTP請求
  • HTTP服務器肯定實現Selenium命令所需的步驟
  • 實現步驟在瀏覽器上執行
  • 執行狀態被髮送回HTTP服務器
  • 在HTTP服務器返回該狀態的自動化腳本

參考文章:
webdriver自動化測試就像搭出租車web

相關文章
相關標籤/搜索