selenium webdriver实现的原理及流程
用Selenium實現自動化,主要需要三個東西:
1.自動化測試代碼:自動化測試代碼發送請求給瀏覽器的驅動(比如火狐驅動、谷歌驅動)
2.瀏覽器驅動:它來解析這些自動化測試的代碼,解析后把它們發送給瀏覽器
3.瀏覽器:執行瀏覽器驅動發來的指令,并最終完成工程師想要的操作。
測試代碼中包含了各種期望的對瀏覽器界面的操作,例如點擊。測試代碼通過給Webdriver發送指令,讓Webdriver知道想要做的操作,而Webdriver根據這些操作在瀏覽器界面上進行控制,由此測試代碼達到了在瀏覽器界面上操作的目的。
Selenium腳本執行時后端實現的流程:
1.對于每一條Selenium腳本,一個http請求會被創建并且發送給瀏覽器的驅動
2.瀏覽器驅動中包含了一個HTTP Server,用來接收這些http請求
3.HTTP Server接收到請求后根據請求來具體操控對應的瀏覽器
4.瀏覽器執行具體的測試步驟
5.瀏覽器將步驟執行結果返回給HTTP Server
6.HTTP Server又將結果返回給Selenium的腳本,如果是錯誤的http代碼我們就會在控制臺看到對應的報錯信息。
WebDriver基于的協議:JSON Wire protocol
JSON Wire protocol是在http協議基礎上,對http請求及響應的body部分的數據的進一步規范。body部分主要傳送具體的數據,在WebDriver中這些數據都是以JSON的形式存在并進行傳送的,這就是JSON Wire protocol。所以在Client和Server之間,只要是基于JSON Wire Protocol來傳遞數據,就與具體的腳本語言無關了,這樣同一個瀏覽器的驅動就即可以處理Java語言的腳本,也可以處理Python語言的腳本了。
總結
以上是生活随笔為你收集整理的selenium webdriver实现的原理及流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: socket请求ip遇到的问题
- 下一篇: php虚拟电话号码,[视频]一号通电信诈