執行selenium腳本時發生了什麼?session又是什麼?

webdriver是基於JSON Wire protocol 協議。client 和 server 是以JSON形式傳遞數據的。因此,webdriver無關語言。

client:指我們的測試代碼

server:(remote server)任意瀏覽器。指責是等待client發送請求並作出響應

基本信息說完了,我們說一下在執行selenium腳本時,都發生了什麼:

client(測試腳本)創建一個session --> 通過http協議發送restful請求給remote server --> remote server啓動目標瀏覽器並綁定到指定端口,啓動瀏覽器實例 --> server解析請求完成操作給client返回一個response

response的內容有 name、sessionId、status、value

介樣的:

{"name":"findElement","sessionId":"285b12e4-2b8a-4fe6-90e1-c35cba245956","status":0,"value":{"ELEMENT":"{2192893e-f260-44c4-bdf6-7aad3c919739}"}}
 

 那麼。。session是啥呢?

我們都知道http協議是無狀態的,無狀態的意思就是說,這一次和上一次的請求是沒有任何關係的、互不認識的、沒有關聯的。這種無狀態的好處就是快速。

可是如果我們在一個頁面登陸後,進入另一個頁面的時候怎麼辦呢,是不是要重複的登陸一次呢

這時候我們就用到了cookie。cookie是把少量的信息存在用戶的電腦上,它在一個域名下是全局的。

可是cookie由於存儲在本地,用戶可見可以隨意修改,很不安全

這時候session就誕生了。

session是一種存儲在服務器端的會話機制,很好的解決了cookie安全性的問題,也同樣的快速。

session就是在一次會話中,解決2次HTTP的請求的關聯,讓它們產生聯繫,讓2兩個頁面都能讀取到找個這個全局的session信息

全文完。

歡迎指正錯誤。

參考自:

https://blog.csdn.net/h19910518/article/details/79348051

https://blog.csdn.net/u013911349/article/details/50940000

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章