首先我們來看一個經典的例子: 搭出租車
在出租車駕駛中,通常有3個角色:
- 乘客 : 他告訴出租車司機他想去哪里以及如何到達那里
對出租車司機說:
1、去陽光棕櫚園東門
2、從這里轉左
3、然后直行 200米,第一個紅綠燈右轉
4、再直行 50米,到陽光棕櫚園東門
5、停車
- 出租車司機 : 他按照客戶的要求; 出租車司機使用方向盤和汽車踏板駕駛汽車送乘客去目的地
出租車司機操作汽車:
1、插鑰匙點火,啟動汽車引擎
2、開一小段路后左轉
3、加速,直行200米
4、右轉,直行50米
5、減速停車,到達陽光棕櫚園東門
- 汽車 : 汽車執行出租車司機的操作
1、啟動引擎
2、左轉
3、直行
4、右轉
5、停車
在使用Selenium WebDriver的測試自動化中,有3個角色
- 編寫自動化代碼的測試工程師 : 運行自動化代碼將請求發送到瀏覽器驅動
告訴瀏覽器 :
1、打開 www.abc.com
2、做一個關鍵字搜索 selenium
3、檢查實際結果,與預期結果做比較
- 瀏覽器驅動 : 它執行測試工程師的請求,然后它向瀏覽器發送請求
告訴瀏覽器 :
1、給我打開這個頁面 www.abc.com
2、當textbox顯示可見,保存這個web element
3、操作textbox這個對象,輸入selenium
4、當確認按鈕可以點擊,保存這個web element對象
5、點擊這個按鈕對象
- 瀏覽器 : 它執行瀏覽器驅動的請求
1、打開www.abc.com
2、找到搜索框textbox,輸入selenium
3、點擊搜索按鈕
4、展示搜索結果
做一個類比:
- 測試工程師就像客戶
- 瀏覽器驅動就像一個出租車司機
- 瀏覽器就像一輛車租車
執行自動化腳本,會執行以下步驟:
- 對於每個Selenium命令,都會創建一個HTTP請求並將其發送到瀏覽器驅動程序
- 瀏覽器驅動使用HTTP服務器來獲取HTTP請求
- HTTP服務器確定實現Selenium命令所需的步驟
- 實現步驟在瀏覽器上執行
- 執行狀態被發送回HTTP服務器
- 在HTTP服務器返回該狀態的自動化腳本
參考文章:
webdriver自動化測試就像搭出租車